implementasi algoritma pohon keputusan cart untuk...

100
i IMPLEMENTASI ALGORITMA POHON KEPUTUSAN CART UNTUK MENENTUKAN KLASIFIKASI DATA EVALUASI MOBIL SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika Disusun Oleh : Joseph Wijaya 145314021 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2019 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Upload: others

Post on 04-Nov-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

i

IMPLEMENTASI ALGORITMA POHON KEPUTUSAN CART

UNTUK MENENTUKAN KLASIFIKASI DATA EVALUASI

MOBIL

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Disusun Oleh :

Joseph Wijaya

145314021

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2019

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ii

IMPLEMENTATION OF CART DECISION TREE

ALGORITHM TO CLASSIFY CAR EVALUATION

A THESIS

Presented as Partial Fulfillment of Requirements

to Obtain Sarjana Komputer Degree

in Informatics Engineering Study Program

By :

Joseph Wijaya

145314021

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA

2019

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

v

HALAMAN PERSEMBAHAN

Setiap anak jenius Tapi jika anda menilai ikan dari

kemampuannya memanjat pohon, seumur

hidup dia akan menganggap dirinya bodoh. ~Albert Einstein

Tuhan menetapkan langkah-langkah orang

yang hidupnya berkenan kepada-Nya; apabila

ia jatuh, tidaklah sampai tergeletak, sebab

Tuhan menopang tangannya. Mazmur 37 : 23-24

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

vi

MOTTO

Deus Providebit God Will Provide

Berikanlah Telinga untuk mendengarkan, Mata untuk Melihat dan

Hati untuk memahami

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ix

ABSTRAK

Penelitian ini bertujuan untuk mengimplementasi salah satu algoritma

pohon keputusan yaitu Classification and Regresion Tree (CART) yang

diterapkan pada suatu kasus pengklasifikasian. Adapun data yang akan

diklasifikasikan adalah data evaluasi mobil sebanyak 914 records. Data diambil

dari UC Irvine Machine Learning Repository. Kelas yang dihasilkan adalah

unacceptance, acceptance, good dan very good. Dalam tugas akhir ini algoritma

CART diimplementasikan menggunakan bahasa pemrograman Java dan melalui

uji validasi program. Selanjutnya kinerja algoritma CART diuji dengan

menghitung waktu tempuh yang dibutuhkan algoritma CART untuk mengolah

data evaluasi mobil. Selain itu, algoritma CART juga diuji akurasinya dengan

menggunakan 10-folds cross-validation. Hasil dari pengujian menunjukan bahwa

algoritma CART membutuhkan waktu komputasi kurang lebih selama 1.2 detik

dan memiliki tingkat akurasi 91.97%.

Kata kunci : algoritma, CART, k-fold

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

x

ABSTRACT

This study aims to implement one of the decision tree algorithms, namely

Classification and Regresion Tree (CART) to a classification case. The data to be

classified are car evaluation data of 914 records. Data taken from the UC Irvine

Machine Learning Repository. The class produced is unacceptance, acceptance,

good and very good. In this final project, CART algorithm was implemented

using Java programming language, the program was validated afterward.

Furthermore, the CART algorithm's performance was tested by calculating the

running time needed by CART algorithm to process car evaluation data. In

addition, the accuracy of CART algorithm was also tested using 10-fold cross-

validation. The results of the test show that the CART algorithm requires

computational time of 1.2 seconds and has an accuracy rate of 91.97%.

Key words: algorithm, CART, k-folds

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xi

KATA PENGANTAR

Puji dan syukur peneliti panjatkan ke hadirat Tuhan Yesus Kristus atas segala

limpahan berkat dan penyertaan sehingga peneliti bisa menyelesaikan tugas akhir

yang berjudul “Implementasi Algoritma Pohon Keputusan CART Untuk

Menentukan Klasifikasi Data Evaluasi Mobil”. Tugas akhir ini ditulis sebagai

salah satu syarat memperoleh gelar sarjana program studi Teknik Informatika,

Fakultas Sains dan Teknologi Universitas Sanata Dharma.

Dalam penulisan skripsi ini, peneliti menyadari bahwa banyak pihak telah

membantu dalam kelancaran penelitian dan pembuatan skripsi ini. Oleh karena

itu, peneliti mengucapkan terimakasih kepada:

1. Orangtua terkasih Jimmy Wijaya dan Mulianawati Kesuma, serta

saudara tercinta: Marvin Chandra Wijaya, Jonathan Wijaya, Mikael

Wijaya dan Melisa Wijaya yang selalu memberikan waktu, doa,

dukungan, motivasi dan semangat tanpa lelah kepada peneliti selama

menjalani masa perkuliahan hingga proses penelitian dan penulisan

skripsi ini.

2. Bapak Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D., selaku Dekan Fakultas

Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

3. Ibu Dr. Anastasia Rita Widiarti selaku Ketua Program Studi Teknik

Informatika Universitas Sanata Dharma Yogyakarta.

4. Ibu P.H. Prima Rosa, S.Si, M.Sc sebagai dosen pembimbing tugas akhir

yang telah sabar memberikan bimbingan, nasihat, arahan dan bersedia

membagi ilmu dalam pengerjaan penelitian dan skripsi ini.

5. Bapak Alb. Agung Hadhiatma, M.T., selaku dosen pembimbing

akademik yang mendampingi peneliti selama berkuliah di Universitas

Sanata Dharma Yogyakarta.

6. Seluruh staf pengajar dan laboran serta pihak sekretariat Prodi Teknik

Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma.

7. Adit, Agus, Bagas, Dea, Deon, Desira, Echa, Jacky, Jarot, Martina,

Rintan dan masih banyak lagi yang telah menjadi keluarga dan sahabat

seperjuangan di kota Yogyakarta ini dan yang telah merajut kenangan

baik buruk bersama hingga sampai detik ini dan sampai ke depannya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xiii

DAFTAR ISI

JUDUL ..................................................................................................................... i

COVER .................................................................................................................... ii

HALAMAN PERSETUJUAN ............................................................................... iii

HALAMAN PENGESAHAN ................................................................................ iv

HALAMAN PERSEMBAHAN.............................................................................. v

MOTTO .................................................................................................................. vi

HALAMAN KEASLIAN KARYA ...................................................................... vii

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI ........................... viii

ABSTRAK ............................................................................................................. ix

ABSTRACT .............................................................................................................. x

KATA PENGANTAR ........................................................................................... xi

DAFTAR ISI ........................................................................................................ xiii

DAFTAR TABEL ................................................................................................. xv

DAFTAR GAMBAR ......................................................................................... xxvi

BAB I PENDAHULUAN ................................................................................. 1

1.1. Latar Belakang.......................................................................................... 1

1.2. Rumusan Masalah .................................................................................... 3

1.3. Tujuan ....................................................................................................... 3

1.4. Batasan Masalah ....................................................................................... 3

1.5. Metodologi Penelitian .............................................................................. 3

1.6. Sistematika Penulisan ............................................................................... 5

BAB II LANDASAN TEORI ............................................................................ 6

2.1. Penambangan data .................................................................................... 6

2.3. Teknik Penambangan data ........................................................................ 8

2.4. Pohon Keputusan ...................................................................................... 8

2.5. Ukuran Pemilihan Atribut ........................................................................ 9

2.5. Induksi Pohon Keputusan ....................................................................... 12

2.6. Uji Akurasi k-fold Cross-Validation ...................................................... 14

2.7. Pengujian Kinerja Algoritma .................................................................. 15

BAB III METODOLOGI PENELITIAN.......................................................... 16

3.1. Identifikasi Alat Uji ................................................................................ 16

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xiv

3.2. Studi Literatur ......................................................................................... 16

3.3. Sumber Data ........................................................................................... 16

3.4. Pengembangan dan Perancangan Alat Uji ............................................. 17

3.4.1. Praproses Data .................................................................................... 18

3.4.2. Penambangan data .............................................................................. 18

3.5. Analisis Hasil.......................................................................................... 20

3.6. Kesimpulan dan Saran ............................................................................ 20

3.7. Kebutuhan Perangkat.............................................................................. 20

BAB IV PEMBANGUNAN ALAT UJI ............................................................ 21

4.1. Desain Diagram Kelas ............................................................................ 21

4.2. Desain Struktur Data .............................................................................. 22

4.2.1. Desain Struktur Data Array Car Evaluation....................................... 22

4.2.2. Desain Struktur Data ArrayList Data Car Evaluation ........................ 22

4.2.3. Desain Struktur Data Pohon Keputusan CART .................................. 23

4.3. Algoritma ................................................................................................ 24

4.3.1. Kelas Data ........................................................................................... 24

4.3.2. Kelas TreeNode .................................................................................. 27

4.3.3. Kelas CART ........................................................................................ 28

4.3.4. Kelas Main .......................................................................................... 36

4.4. Implementasi Alat Uji ............................................................................ 39

BAB V ANALISIS DAN PEMBAHASAN .................................................... 47

5.1. Uji Validasi ............................................................................................. 47

5.2. Uji Akurasi ............................................................................................. 78

BAB VI KESIMPULAN DAN SARAN ........................................................... 82

6.1. Kesimpulan ............................................................................................. 82

6.2. Saran ....................................................................................................... 82

DAFTAR PUSTAKA ........................................................................................... 83

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xv

DAFTAR TABEL

Tabel 3.1 Tabel Contoh Data Car Evaluation ...................................................... 17

Tabel 5.1 Data Sampel .......................................................................................... 47

Tabel 5.2 Data pada Iterasi Kedua ........................................................................ 51

Tabel 5.3 Data pada Iterasi Ketiga ........................................................................ 53

Tabel 5.4 Data pada Iterasi Keempat .................................................................... 56

Tabel 5.5 Data pada Iterasi Kelima ....................................................................... 59

Tabel 5.6 Data pada Iterasi Keenam ..................................................................... 62

Tabel 5.7 Data pada Iterasi Ketujuh ...................................................................... 64

Tabel 5.8 Data pada Iterasi Kedelapan ................................................................. 66

Tabel 5.9 Data pada Iterasi Kesembilan ............................................................... 69

Tabel 5.10 Data pada Iterasi Kesepuluh ............................................................... 72

Tabel 5.11 Data pada Iterasi Kesebelas ................................................................ 74

Tabel 5.12 Perhitungan Akurasi ............................................................................ 80

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xvi

DAFTAR GAMBAR

Gambar 2.3 Tahapan Penambangan Data ............................................................... 6

Gambar 2.4 Contoh Pohon Keputusan .................................................................. 13

Gambar 4.1 Diagram Kelas ................................................................................... 21

Gambar 4.2 Desain Array Data Car Evaluation ................................................... 22

Gambar 4.3 Desain ArrayList Data Car Evaluation ............................................. 23

Gambar 4 4 Desain Struktur Data Pohon Keputusan CART ................................ 24

Gambar 4.5 Implementasi Kelas Main.................................................................. 39

Gambar 4.6 Implementasi Method Utama Kelas Main ......................................... 40

Gambar 4.7 Tahap Awal Method pembetukanPohon ........................................... 42

Gambar 4.8 Tahap Perhitungan Komponen Daftar Evaluasi Mobil ..................... 42

Gambar 4.9 Tahap Pencarian Tingkat Impurity Tertinggi .................................... 42

Gambar 4.10 Tahap Pertama Dalam Proses Rekursif ........................................... 44

Gambar 4.11 Tahap Kedua Dalam Proses Rekursif.............................................. 45

Gambar 4.12 Tahap Rekursif ................................................................................ 45

Gambar 4.13 Tahap Pelabelan .............................................................................. 46

Gambar 5.1 Root pada Pohon Keputusan ............................................................. 48

Gambar 5.2 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Pertama ........ 49

Gambar 5.3 Pohon Hasil Iterasi Pertama .............................................................. 50

Gambar 5.4 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kedua ........... 52

Gambar 5.5 Pohon Hasil Iterasi Kedua ................................................................. 53

Gambar 5.6 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Ketiga .......... 55

Gambar 5.7 Pohon Hasil Iterasi Ketiga................................................................. 56

Gambar 5.8 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Keempat ....... 57

Gambar 5.9 Pohon Hasil Iterasi Keempat ............................................................. 59

Gambar 5.10 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kelima ....... 60

Gambar 5.11 Pohon Hasil Iterasi Kelima ............................................................. 62

Gambar 5.12 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Keenam ...... 63

Gambar 5.13 Pohon Hasil Iterasi Keenam ............................................................ 64

Gambar 5.14 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Ketujuh ...... 65

Gambar 5.15 Pohon Hasil Iterasi Ketujuh ............................................................ 66

Gambar 5.16 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kedelapan .. 68

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xvii

Gambar 5.17 Pohon Hasil Iterasi Kedelapan ........................................................ 69

Gambar 5.18 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kesembilan 71

Gambar 5.19 Pohon Hasil Iterasi Kesembilan ...................................................... 72

Gambar 5.20 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kesepuluh .. 73

Gambar 5.21 Pohon Hasil Iterasi Kesepuluh ........................................................ 74

Gambar 5.22 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kesebelas ... 76

Gambar 5.23 Pohon Hasil Iterasi Kesebelas ......................................................... 77

Gambar 5.24 Tree Nodes Alat Uji......................................................................... 77

Gambar 5.25 Pohon Keputusan Alat Uji Data Sampel ......................................... 78

Gambar 5.26 Hasil Implementasi Alat Uji ............................................................ 79

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Di era global ini, perkembangan teknologi berkembang dengan pesat dan

menyebabkan adanya komputerisasi di banyak sendi kehidupan. Dampak yang

paling besar adalah terjadinya luapan data yang sangat banyak jumlahnya. Data

tersebut terus bertambah seiring berjalannya waktu. Dengan menggunakan

metode klasifikasi, data tersebut dapat diolah dan menghasilkan suatu informasi

yang lebih berguna. Klasifikasi sendiri merupakan data analisis yang berfungsi

untuk memperoleh informasi yang terselubung dari tumpukan data yang sangat

besar jumlahnya. Hasil pengolahan tersebut dapat digunakan sebagai prediksi atau

pembantu pengambilan suatu keputusan dalam memecahkan suatu masalah (Han

& Kamber, 2006).

Dalam metode penambangan data, terdapat banyak algoritma. Dari

algoritma-algoritma klasifikasi yang ada diantaranya terdapat teknik dengan

menggunakan pohon keputusan. Penambangan data dengan teknik pohon

keputusan menjadi teknik yang cukup sering digunakan untuk mencari suatu pola

tertentu. Hal itu dikarenakan pohon keputusan mudah diinterpretasikan dan

divisualisasikan. Menurut Kusrini (2009), ada berbagai macam algoritma pohon

keputusan yaitu : ID3, C4.5, CART, CHAID dan masih banyak lagi yang bisa

membangun suatu model tree.

Banyak algoritma yang ada namun hanya satu atau kombinasi dari

beberapa algoritma yang dapat diimplementasikan untuk menyelesaikan suatu

masalah. Tidak jarang memerlukan kombinasi dari dua atau lebih algoritma untuk

menyelesaikan masalah. Sebaiknya dilakukan analisis terhadap calon-calon

algoritma yang akan digunakan. Dalam proses analisis algoritma-algoritma

tersebut akan memeriksa seberapa efektif suatu algoritma berdasarkan waktu

tempuh (running time). Semakin cepat waktu tempuh akan semakin efisien pula

suatu algoritma. Dari sekian algoritma dapat dipilih algoritma yang paling efisien.

Dengan algoritma yang efisien proses penyelesaian masalah tidak akan

menghabiskan banyak waktu.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2

Pada tugas akhir ini, peneliti akan mengimplementasikan salah satu dari

algoritma di atas, yaitu CART (Classification And Regression Tree) untuk

menganalisis algoritma berdasarkan tingkat akurasi dan waktu tempuh yang

diperlukan. Dalam Wu dkk. (2007), CART merupakan salah satu dari 10

algoritma penambangan data terbaik. Metode CART sudah diakui tingkat

keberhasilannya. Algoritma CART, sesuai dengan namanya, bisa mengatasi

masalah data yang bersifat kontinyu maupun diskrit serta bisa mengatasi masalah

klasifikasi maupun masalah regresi. CART sendiri bersifat binary tree.

Dalam penelitian ini digali suatu informasi dari data evaluasi mobil yang

diambil dari website UC Irvine Machine Learning Repository. Data yang ada

memuat faktor-faktor yang menentukan evaluasi penerimaan pengguna terhadap

suatu mobil. Faktor yang dimaksud adalah harga beli, biaya perawatan, jumlah

pintu, jumlah orang yang dapat dimuat, kapasitas bagasi dan keamanan dari suatu

mobil. Data evaluasi mobil itu akan diolah sehingga peneliti dapat membantu

pengguna yang akan membeli mobil baru berdasarkan pola-pola yang nantinya

akan didapatkan untuk melakukan pengklasifikasian evaluasi data mobil.

Pada penelitian “Perbandingan Kinerja Algoritma Pohon keputusan ID3

Dan CART Pada Penjurusan Siswa SMA Berdasarkan Nilai Ujian SMP Dan Nilai

Rapor Kelas X”, Apsari (2011) melakukan penelitian yang bertitik pada melihat

akurasi dan kecepatan komputasi dengan membandingkan komposisi data dan

jumlah data yang berbeda terhadap pengklasifikasian penjurusan kurikulum

KTSP2006. Berbeda dengan penelitian kali ini karena penelitian ini bertitik pada

implementasi algoritma CART dan pengujiannya berdasarkan tingkat akurasi,

dan waktu tempuh. Hasil dari penelitian yang dilakukan oleh Apsari menyatakan

bahwa algoritma CART lebih unggul dari algoritma ID3. Oleh karena itu,

algoritma yang digunakan CART, hanya saja tujuan penelitian ini yang berbeda.

Tujuan penelitian yang dilakukan oleh Apsari (2011) adalah melihat membangun

suatu sistem, akurasi dan kecepatan komputasi dari kedua algoritma untuk

menentukan pilihan Jurusan siswa SMA. Tujuan penelitian ini adalah

mengimplementasi dan menganalisis kinerja algoritma CART dari segi akurasi

dan kecepatan komputasi terhadap data evaluasi mobil.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

3

1.2. Rumusan Masalah

Permasalahan yang akan dirumuskan dalam penelitian ini adalah :

1) Bagaimana tingkat akurasi algoritma CART dalam mengklasifikasi

data evaluasi mobil?

2) Bagaimana durasi waktu tempuh algoritma CART dalam

mengklasifikasi data evaluasi mobil?

1.3. Tujuan

Tujuan dari penelitian ini yaitu untuk mengimplementasi dan menganalisis

hasil komputasi dalam segi tingkat akurasi dan kecepatan komputasi yang

dibutuhkan.

1.4. Batasan Masalah

Sesuai dengan rumusan masalah di atas, batasan yang diberlakukan dalam

penelitian ini adalah :

a. Penelitian ini hanya menggunakan algoritma pohon keputusan CART.

b. Tahap algoritma CART hanya diimplementasikan sebatas

pembentukan pohon tanpa melakukan tahap pruning.

c. Penelitian ini hanya menghitung tingkat akurasi dan kecepatan

komputasi yang diperlukan.

d. Data yang digunakan adalah data Car Evaluation yang berasal dari :

https://archive.ics.uci.edu/ml/datasets/Car+Evaluation

1.5. Metodologi Penelitian

Metode yang digunakan dalam penelitian ini adalah :

a. Studi Pustaka

Mempelajari sumber bahan tertulis seperti buku cetak, makalah,

jurnal, skripsi dan tutorial yang ada kaitannya dengan penelitian ini.

b. Pengambilan Data

Mengumpulkan sumber data yang berkaitan dengan penelitian

yang dibangun.

c. Perancangan Model Pohon Keputusan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

4

Perancangan model Pohon keputusan menggunakan metode KDD

(Knowledge Discovery in Database) meliputi :

i. Data Cleaning

Tahap ini akan melakukan pengisian data yang kosong dan

penghapusan data yang tidak konsisiten.

ii. Data Integration

Tahap ini melakukan penggabungan data dari berbagai sumber

data yang berbeda. Penambangan data tidak hanya berasal dari satu

sumber database melainkan juga berasal dari beberapa sumber

database atau text file.

iii. Data Selection

Tahap ini melakukan pengambilan data yang relevan terhadap

penelitian.

iv. Data Transformation

Tahap ini melakukan pemilihan data untuk menentukan

kualitas penambangan data, sehingga data dapat diubah menjadi

bentuk yang sesuai untuk ditambang.

v. Penambangan data

Tahap ini melakukan proses esensial untuk mengekstrak pola

dari dara dengan metode penambangan data. Dalam bagian inilah

proses pembentukan pohon CART akan berlangsung.

vi. Pattern Evaluation

Tahap ini, pengetahuan atau pola yang sudah didapat dari

proses penambangan data akan dievaluasi dengan hipotesa yang

telah dibentuk sebelumnya.

vii. Knowledge Presentation

Penyajian pengetahuan yang telah digali kepada pengguna

dengan menggunakan visualisasi dan teknik representasi

pengetahuan.

d. Analisis Hasil Perbandingan Algoritma

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

5

Pada tahap ini peneliti akan menganalisis hasil implementasi yang

sudah didapatkan. Aspek yang akan dianalisis adalah tingkat akurasi

dan running time yang telah terekam saat menjalankan alat uji.

1.6. Sistematika Penulisan

Penulisan tugas akhir ini tersusun dari 6 (enam) bab dengan sistematika

penulisan sebagai berikut :

a. BAB I PENDAHULUAN

Bab I Pendahuluan berisi latar belakang, rumusan masalah, tujuan

penelitian, batasan masalah, metodologi penelitian dan sistematika penulisan.

b. BAB II LANDASAN TEORI

Bab ini menjelaskan tentang landasan teori yang akan menjadi dasar

penelitian implementasi algoritma pohon keputusan CART ini.

c. BAB III METODOLOGI PENELITIAN

Bab ini berisi tentang identifikasi alat uji, studi literatur, cara pemerolehan

data, metode dan prosedur pengembangan data serta analisis hasil.

d. BAB IV PERANCANGAN DAN IMPLEMENTASI ALAT UJI

Bab ini akan proses perancangan yang mencakup : Diagram Kelas, Desain

Struktur Data dan Algoritma. Selain perancangan bab ini juga berisi

pengimplementasian alat uji dan hasilnya.

e. BAB V ANALISIS DAN PEMBAHASAN

Bab ini memuat analisis hasil akurasi komputasi, waktu tempuh dari

algoritma CART.

f. BAB VI KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari penelitian yang sudah dibangun dan

dijalankan juga memuat saran-saran yang bisa digunakan guna memperbaiki

dan mengembangkan penelitian di kemudian hari.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

6

BAB II

LANDASAN TEORI

2.1. Penambangan data

Dalam tugas akhir Apsari, Kusnawi (2007) menyatakan bahwa

penambangan data merupakan salah satu bidang yang berkembang pesat karena

adanya kebutuhan akan nilai tambah dari database skala besar yang makin banyak

terakumulasi sejalan dengan berkembangnya teknologi informasi. Kondisi nyata

yang terjadi akibat jumlah akumulasi data yang semakin bertumbuh adalah “rich

of data but poor information”, data menjadi berlimpah ruah tapi informasi yang

didapatkan itu hanya segelitir. Menurut Widiyanto (2013) penambangan data

adalah aktivitas menambang suatu ilmu pengetahuan dari data yang berjumlah

besar, informasi yang diperoleh ini nantinya akan digunakan sebagai

pengembangan. Sebagai suatu rangkaian proses, penambangan data dapat dibagi

menjadi beberapa tahap yang diilustrasikan di Gambar 2.3 di bawah ini.

Gambar 2.1 Tahapan Penambangan Data (Han dan Kamber, 2006)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

7

Tahapan tersebut bersifat interaktif karena user dapat terlibat secara

langsung di dalamnya.

Pembersihan data (data cleaning) bertujuan untuk membuang data yang

tidak konsisten dan noise. Data yang diperoleh biasanya mempunyai isian data

yang tidak sempurna, misalkan : data kosong, hilang, tidak valid atau typo. Selain

itu dari atribut data ada yang tidak relevan dengan kebutuhan penambangan data.

Data-data seperti di atas sebaiknya dibersihkan atau dibuang karena

keberadaannya dapat mengurangi kejelasan dan mutu atau akurasu dari hasil

penambangan data. Ada istilah GIGO (Garbage in Garbage out) yang sering

digunakan untuk menggambarkan tahap ini. Sampah yang kita masukan akan

menghasilkan sampah pula. Pembersihan data ini juga dapat mempengaruhi

performance dari sistem penambangan data karena data yang ditangani akan

berkurang jumlahnya dan kompleksitasnya pun juga lebih ringkas.

Integrasi data (data integration) bermaksud untuk menggabungkan data

dari beberapa sumber yang saling berhubungan. Data yang kita peroleh bisa saja

berasal dari lebih dari satu sumber database atau dokumen. Tahap ini dilakukan

pada variabel seperti nama, jenis produk, nomor pelanggan yang termasuk

primary key. Tahapan ini perlu dilakukan secara cermat karena error pada tahap

ini akan berefek besar pada akurasi hasil sehingga ilmu pengetahuan yang didapat

bisa saja bersifat menyesatkan. Selain menggabungkan data dari banyak sumber,

tahap ini juga melakukan sinkronisasi data, entah nama variabel yang berbeda,

format pengisian data, dsb.

Transformasi data (data transformation) yaitu suatu tahapan yang

mengubah bentuk data yang ada menjadi bentuk yang dikehendaki untuk

melakukan penambangan data.

Aplikasi teknik penambangan data adalah tahapan yang merupakan bagian

dari proses penambangan data. Teknik penambangan data yang sering dijumpai

adalah klasifikasi, klastering dan asosiasi.

Evaluasi pola yang ditemukan (pattern evaluation) merupakan tahapan

yang menilai pola yang dihasilkan dari proses penambangan data sehingga dapat

menjawab apakah hipotesa yang ada memang tercapai.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

8

Presentasi Pengethauan (knowledge presentation) adalah tahapan yang

bertujuan untuk menformulasikan keputusan atau aksi dari hasil analisa yang

didapat dari proses penambangan data tersebut.

2.3. Teknik Penambangan data

Dalam Apsari (2011), mengatakan bahwa penambangan data terdapat

banyak teknik untuk melakukannya, tapi hanya tiga teknik yang popular, yaitu :

asosiasi, klastering dan klasifikasi. Pada penelitian ini akan menggunakan teknik

klasifikasi.

Klasifikasi merupakan salah satu teknik penambangan data yang melihat

pada kelakuan dan atribut dari kelompok yang telah didefinisikan. Teknik ini

dapat memberikan klasifikasi pada data baru dengan memanipulasi data yang ada

dan telah diklasifikasi. Hasil klasifikasinya akan digunakan untuk memberikan

sejumlah aturan. Aturan yang didapat akan dipergunakan untuk mengklasifikasi

data baru. Teknik ini menggunakan manfaat dari kumpulan pengujian record yang

telah terklasifikasi untuk menentukan kelas tambahan. Salah satu contoh yang

mudah dan paling umum adalah dengan pohon keputusan.

2.4. Pohon Keputusan

Menurut Kusrini (2009) pohon keputusan merupakan metode klasifikasi

dan prediksi yang sangat kuat dan populer. Metode pohon keputusan ini

mengubah fakta yang sangat besar menjadi pohon keputusan yang

mempresentasikan suatu aturan.

Pada Apsari (2011), Berry dan Linoff menyatakan bahwa sebuah pohon

keputusan adalah sebuah struktur yang dapat digunakan untuk membagi

kumpulan data yang besar menjadi bagian-bagian record yang lebih kecil dan

sederhana dengan menerapkan serangkaian aturan keputusan. Dengan masing-

masing pemerataan, anggota bagian menjadi serupa satu sama lainnya. Selain itu

pada Apsari (2011), Basuki dan Syarif pun mengatakan kalau pohon keputusan

merupakan proses mengubah bentuk data tabel menjadi model pohon, mengubah

model pohon menjadi aturan dan menyederhanakan aturan tersebut. Masih dalam

Apsari (2011), Santana menyatakan bahwa pohon keputusan memiliki keunggulan

yaitu dapat mengeksplorasi data, sehingga data bisa diolah dan dikembangkan lagi

untuk menjadi aturan dalam suatu pengambilan keputusan yang kompleks

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

9

menjadi lebih sederhana sehingga pengambil keputusan akan lebih mendekati

solusi dari suatu permasalahan.

Kekurangan pohon keputusan adalah kesulitan dalam mendesain pohon

keputusan yang optimal. Hasil keputusan yang didapatkan sangat bergantung pada

bagaimana pohon keputusan tersebut didesain, terjadi bersitumpang terutama jika

kelas dan kriteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga

dapat menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah

memori yang diperlukan. Lain halnya ketika kriterianya lebih sederhana, tentu

saja pengambilan keputusannya menjadi lebih cepat.

2.5. Ukuran Pemilihan Atribut

Menurut Han dan Kamber (2006) ukuran pemilihan atribut merupakan

“sebuah pendekatan heuristik untuk memilih kriteria terbaik dalam mempartisi

training data ke dalam kelas-kelas”. Idealnya, setiap partisi yang dihasilkan harus

bersifat pure (seluruh tuples yang berada di dalam suatu partisi harus memiliki

kelas yang sama). Oleh karena itu, kriteria terbaik adalah kriteria yang mampu

mempartisi data mendekati pure. Ukuran pemilihan atribut akan membuat ranking

dari atribut-atribut pada training data. Atribut yang berada pada peringkat paling

atas merupakan atribut yang dipilih sebagai splitting attribute. Jika splitting

attribute bernilai kontinu, maka split point juga akan didefinisikan. Jika splitting

attribute bernilai diskrit namun pohon keputusan yang dibentuk harus biner, maka

splitting subset akan didefinisikan. Terdapat tiga jenis ukuran pemilihan atribut

yang banyak digunakan, yaitu information gain, gain ratio, dan gini index.

Information gain digunakan untuk metode ID3, gain ratio digunakan dalam

metode C4.5 sedangkan gini index digunakan dalam metode CART.

Gini index merupakan salah satu ukuran pemilihan atribut. Gini Index

digunakan pada algoritma CART. Gini index akan menghasilkan pembagian yang

bersifat biner pada setiap atribut, baik yang memiliki nilai diskrit ataupun kontinu.

Gini index mengukur impurity dari suatu partisi, D, dengan rumus 2.1 berikut.

( ) ∑

................................. (2.1)

Di mana

Gini(D) = impurity dari suatu partisi D

m = banyaknya indeks

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

10

pi = peluang sebuah tuple D pada indeks ke i

Di mana pi adalah peluang bahwa sebuah tuple di D berada pada kelas Ci.

Peluang tersebut dapat didekati dengan hasil perhitungan |Ci,D|/|D| di mana. |Ci,D|

merupakan jumlah tuple pada D yang memiliki kelas Ci dan |D| adalah jumlah

seluruh tuple di D. Perhitungan ini dilakukan untuk setiap kelas.

Misalkan A merupakan atribut bernilai diskrit yang memiliki sejumlah v

nilai berbeda, {a1, a2, ..., av}. Untuk menentukan kriteria pembagian terbaik

terhadap A, seluruh himpunan bagian dari A harus diperiksa. Setiap himpunan

bagian, SA, dapat dijadikan sebagai splitting subset untuk pengujian dalam bentuk

”A Є SA ”. Sebuah tuple memenuhi pengujian jika nilai untuk atribut A pada tuple

tersebut merupakan bagian dari SA. Dengan tidak mempertimbangkan himpunan

kuasa dan himpunan kosong, maka akan terdapat 2v – 2 cara untuk melakukan

pembagian biner dari D.

Pemeriksaan sebuah pembagian biner dilakukan dengan cara

menjumlahkan impurity dari setiap partisi yang dihasilkan oleh pembagian

tersebut. Misalkan sebuah pembagian yang dilakukan terhadap atribut A

mempartisi D menjadi D1 dan D2. Gini index dari D dapat dihitung dengan rumus

2.2 berikut.

( )

( )

( ) .................... (2.2)

Di mana

GiniA(D) = impurity dari suatu partisi D pada atribut A

Gini(D1) = impurity dari partisi pertama tuple D

Gini(D2) = impurity dari partisi kedua tuple D

D = tuple D

D1 = partisi pertama tuple D

D2 = partisi kedua tuple D

Untuk atribut bernilai diskrit, himpunan bagian yang memberikan nilai

Gini Index terkecil atau mendekati 0 untuk atribut A akan dipilih sebagai splitting

subset. Seluruh pembagian biner yang mungkin terjadi pada suatu atribut harus

diperiksa.

Sementara untuk atribut bernilai kontinu, setiap split point yang mungkin

harus diperiksa. Untuk nilai-nilai suatu atribut yang telah diurutkan, titik tengah di

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

11

antara setiap pasangan nilai yang saling berseberangan dapat diambil sebagai

sebuah split point. Titik yang memberikan nilai gini index terkecil untuk suatu

atributlah yang akhirnya diambil sebagai split point.

Penurunan tingkat impurity yang diperoleh dari sebuah pembagian biner

terhadap atribut A dapat dihitung dengan rumus 2.3 berikut.

( ) ( ) ( ) ........................ (2.3)

Di mana

∆Gini(A) = tingkat impurity

GiniA(D) = impurity dari suatu partisi D pada atribut A

Gini(D) = impurity dari partisi pertama tuple D

Atribut yang memaksimalkan penurunan tingkat impurity inilah yang dipilih

sebagai splitting attribute. Atribut ini, bersama dengan splitting subset jika atribut

tersebut bernilai diskrit atau split point jika atribut tersebut bernilai kontinu akan

membentuk kriteria pembagian.

Di bawah ini merupakan contoh perhitungan untuk mencari tingkat

impurity dari sebuah kandidat A

Total data : 16 records

Unacceptance : 6 records

Acceptance : 2 records

Good : 4 records

Very Good : 4 records

( ) (

)

(

)

(

)

(

)

( )

Kandidat Safety = low vs Safety = med high

Safety = low

Total data : 5 records

Unacceptance : 5 records

Acceptance : 0 records

Good : 0 records

Very Good : 0 records

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

12

( ) (

)

(

)

(

)

(

)

( )

Safety = med || high

Total data : 11 records

Unacceptance : 1 records

Acceptance : 2 records

Good : 4 records

Very Good : 4 records

( ) (

)

(

)

(

)

(

)

( )

( )

( )

( )

( )

Sehingga untuk kandidat Safet dengan posisi LeftChild Low dan

RightChild Med High memiliki tingkat impurity sebesar 0,241477273. Kandidat

tersebut belum pure.

2.5. Induksi Pohon Keputusan

Tahun 1984 sekelompok ahli statistik yaitu Breiman, Friedman, Olshen

dan Stone menerbitkan suatu buku mengenai Classification and Regression Trees

(CART), dideskripsikan sebagai generasi pohon keputusan biner.

Menurut Han dan Kamber (2006) ID3, C4.5 dan CART memiliki

karakteristik yang sama dalam membangun pohon keputusan, yaitu top-down dan

divide-conquer. Top-down artinya pohon keputusan dibangun dari root ke simpul

leaf. Divide-conquer artinya training data secara rekursif dipartisi ke dalam

bagian-bagian yang lebih kecil saat pembangunan pohon. Biner tidaknya pohon

keputusan ditentukan oleh ukuran pemilihan atribut atau algoritma yang

digunakan.

Gambar 2.4 adalah salah satu contoh suatu pohon keputusan untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

13

seseorang bermain tenis atau tidaknya dengan memperhatikan beberapa aspek

seperti kelembapan (humidity), cuaca (outlook) dan berangin (windy).

Gambar 2.2 Contoh Pohon Keputusan (Kusrini, 2009)

CART adalah singkatan dari Classification and Regression Tree. Dalam

CART menurut Budi Santosa (2007) setiap simpul dipecah menjadi dua bagian.

Ada dua langkah penting yang harus diikuti untuk mendapatkan tree dengan

performansi yang optimal. Yang pertama adalah pemecahan obyek secara

berulang berdasarkan atribut tertentu. Yang kedua, pruning (pemangkasan)

dengan menggunakan data validasi. Misalkan kita mempunyai variabel

independent x1, x2, x3, ... , xn dan variabel dependent atau output y.

Menurut Steinberg (2009) adapun langkah-langkah dalam konstruksi

pohon keputusan CART adalah sebagai berikut :

1. Menentukan root

2. Menghitung Gini Index setiap calon cabang

3. Memilih atribut dengan Gini Index yang paling besar sebagai splitting

attribute yang akan dijadikan cabang.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

14

4. Ulangi langkah 2 dan 3 hingga terdapat leaf yang bersifat pure atau

mendekati pure.

Leaf yang bersifat pure berarti leaf tersebut memiliki sekumpulan data

faktor dan sekumpulan data target yang seleruhnya memiliki karakteristik sama.

Leaf yang bersifat mendekati pure berarti leaf tersebut memiliki kumpulan data

faktor yang seluruhnya memiliki karakteristik yang sama tetapi kumpulan data

taget tidak memiliki karakteristik yang sama. Pada kasus ini node tidak bisa

dipecah lagi menjadi cabang anak kanan maupun cabang anak kiri.

Pemecahan secara berulang berarti membagi obyek ke dalam kotak-kotak

bernilai variabel x1, x2 atau xp. Cara ini diulang sehingga dalam suatu kotak

sebisa mungkin berisi observasi dari kelompok/kelas yang sama. Misalkan untuk

pemecahan pertama, kita buat kotak yang memuat semua observasi dengan xi ≤ si,

sementara kotak lain berisi observasi dengan nilai xi > si. Selanjutnya satu kotak

dipecah lagi menjadi dua kotak dengan cara yang sama dengan menggunakan

variabel xi yang sama atau variabel yang lain. Proses ini dilanjutkan hingga

memperoleh kotak yang semakin kecil ukurannya. Idenya adalah membuat kotak

yang isinya seseragam mungkin (pure). Yang dimaksud pure adalah bila satu

kotak hanya berisi observasi dari satu kelas.

Langkah berikutnya sesudah dilakukan pemecahan obyek/data secara

berulang adalah melakukan pruning. Pruning dilakukan untuk memangkas tree

yang mungkin terlalu besar dan overfitting. Overfitting merupakan noise yang ada

di dalam data training, bukan pola yang termasuk ke dalam data testing atau data

validasi. Pruning terdiri dari beberapa langkah pemilihan secara berulang simpul

yang akan dijadikan leaf. Dengan mengubah simpul menjadi leaf artinya tidak

akan dilakukan pemecahan lagi. Dengan demikian ukuran tree akan menjadi

sederhana.

2.6. Uji Akurasi k-fold Cross-Validation

Dalam k-fold cross-validation, data awal secara acak dipartisi menjadi k

banyak partisi menjadi D1, D2, ..., Dk, masing-masing partisi memiliki ukuran

yang kurang lebih sama. Pelatihan dan pengujian dilakukan sebanyak k kali.

Dalam iterasi i, partisi Disiapkan sebagai data testing, dan partisi yang tersisa

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

15

secara kolektif digunakan sebagai data trainning. Yaitu, dalam iterasi pertama,

subhimpunan D2, D3, ..., Dk secara kolektif berfungsi sebagai data trainning untuk

mendapatkan model pertama, yang akan diuji pada partisi D1; iterasi kedua data

trainning terjadi pada partisi D1, D3, ..., Dk dan diuji pada partisi D2; dan begitu

pula halnya dengan iterasi berikutnya hingga sampai iterasi k. Berbeda dengan

metode holdout dan metode random subsampling, di sini setiap sampel data

digunakan dalam jumlah yang sama untuk trainning dan sekali untuk testing.

Untuk metode klasifikasi, perkiraan akurasi adalah jumlah keseluruhan klasifikasi

yang benar dari k iterasi, dibagi dengan jumlah total tupel dalam data awal.

Leave-one-out adalah kasus khusus k-fold cross-validation di mana k

diatur ke jumlah inisial tupel. Artinya, hanya satu sampel yang "ditinggalkan"

pada saat untuk set tes. Dalam permulaan cross-validation, fold-fold dibuat

bertingkat sehingga distribusi kelas tupel di setiap fold kira-kira sama dengan

yang ada di data awal.

Secara umum, k-fold yang digunakan adalah 10-folds cross-validation. Hal

itu direkomendasikan untuk menaksir akurasi (bahkan jika daya komputasi

memungkinkan penggunaan lebih banyak fold) karena biasnya yang relatif rendah

dan bervariasi.

2.7. Pengujian Kinerja Algoritma

Algoritma dapat diukur efisiensinya dari berapa jumlah waktu yang

diperlukan untuk mengeksekusi algoritma tersebut. Algoritma yang efisien adalah

algoritma dengan kebutuhan waktu yang singkat.

Waktu tempuh dapat terlihat bila dilakukan proses pengurangan antara

waktu akhir proses komputasi dengan waktu awal proses komputasi berlangsung.

runningTime = endTime – startTime ............................ (2.5)

Di mana :

runningTime = waktu tempuh yang dibutuhkan untuk menjalankan algoritma

endTime = waktu akhir di mana algoritma telah selesai dijalankan

startTime = waktu awal di mana algoritma akan dijalankan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

16

BAB III

METODOLOGI PENELITIAN

3.1. Identifikasi Alat Uji

Data sudah berjumlah sangat besar. Data dapat diolah sehingga

menghasilkan sesuatu yang lebih berharga, misalnya informasi. Informasi tersebut

akan dipakai untuk memecahkan suatu masalah. Dalam proses pengolahan data

sebaiknya memilih cara pengolahan data yang efisien. Untuk tahu seberapa efisien

suatu teknik pengolahan data, kita dapat melihat tingkat akurasi komputasi dan

waktu tempuh dari suatu algoritma dalam memecahkan suatu masalah. Pada

penelitian kali ini, peneliti melakukan implementasi algoritma klasifikasi pohon

keputusan CART.

Alat uji akan dituangkan ke dalam project yang dibangun menggunakan

bahasa pemrograman Java dan struktur data dalam bentuk csv.

3.2. Studi Literatur

Dalam penelitian ini referensi-referensi yang digunakan berkaitan dengan

penelitian ini dari berbagai paper, jurnal maupun buku cetak maupun buku

elektronik yang masih relevan dengan judul penelitian ini.

3.3. Sumber Data

Pada penelitian ini dibutuhkan data Car Evaluation yang berasal dari :

https://archive.ics.uci.edu/ml/datasets/Car+Evaluation

Data evaluasi mobil memiliki 6 faktor yang menentukan evaluasi dari

suatu mobil. Buying menyatakan biaya pembelian mobil, Maintenance

menyatakan seberapa banyak pengeluaran perawatan mobil, Doors menyatakan

jumlah pintu mobil, Persons menyatakan maksimal orang yang dapat dimuat dalm

mobil, Luggage_boot menyatakan kapasitas bagasi mobil, Safety menyatakan

tingkat keaman mobil. Sedangkan Evaluation menyatakan evaluasi penerimaan

seorang pengguna terhadap mobil yang dimilikinya. Contoh data evaluasi mobil

dapat dilihat pada tabel 3.1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

17

Tabel 3.1 Tabel Contoh Data Car Evaluation

No Buying Maintenance Doors Persons Luggage_boot Safety Evaluation

1 Low Med 3 more Small Low Unacc

2 Low Med 3 more Small Med Acc

3 Low Med 3 more Small High Good

4 Low Med 3 more Med Low Unacc

5 Low Med 3 more Med Med Good

6 Low Med 3 more Med High Vgood

7 Low Med 3 more Big Low Unacc

8 Low Med 3 more Big Med Good

9 Low Med 3 more Big High Vgood

10 Low Med 4 2 Small Low Unacc

Contoh pada baris pertama, seorang pengguna mobil membeli mobil

dengan biaya yang murah, pengeluaran biaya perawatan biasa-biasa saja. Mobil

yang dimilikinya memiliki 3 pintu, kapasitas cukup untuk menampung lebih dari

4 orang, bagasi mobil kecil. Tingkat keamanan mobil yang dimilikinya rendah.

Sehingga dari factor-faktor tersebut,pengguna memberikan evaluasi yang buruk

(unacceptance).

Setiap atribut memiliki range nilai

Buying = low, med, high, vhigh

Maintenance = low, med, high, vhigh

Doors = 2, 3, 4, more

Persons = 2, 4, more

Luggage_boot = small, med, big

Safety = low, med, high

Evaluation = unacc, acc, good, vgood

Data sampel di atas hanya menyatakan 10 dari 914 records data yang akan

diteliti. Data sebanyak itu akan memerlukan waktu yang cukup lama bila ingin

mencari suatu pola evaluasi penerimaan suatu mobil dari 914 pengguna.

Penelitian ini ingin mencari tahu pola yang tersembunyi dari data tersebut.

Sehingga peneliti dapat mengetahui pola klasifikasinya.

3.4. Pengembangan dan Perancangan Alat Uji

Seperti yang peneliti katakan subbab 1.5 mengenai Metodologi Penelitian

bagian (c) tentang perancangan model pohon keputusan, penelitian ini

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

18

menggunakan tahap KDD untuk membangun penelitian ini. KDD ini dibagi

menjadi dua tahap yaitu praproses data dan penambangan data.

3.4.1. Praproses Data

Tahapan dalam praproses data dijelaskan sebagai berikut :

a. Pembersihan Data

Pembersihan data (data cleaning) merupakan tahapan awal dalam

melakukan proses penambangan data. Dalam proses pembersihan data

ini bisa dilakukan upaya untuk mengisi nilai yang kosong (missing

value) dan membenarkan data yang tidak konsisten.

b. Integrasi Data

Pada tahapan ini akan melakukan penggabungan data dari berbagai

sumber yang berbeda. Namun pada penelitian ini tidak melakukan

integrasi data karena data yang didapat berasal dari satu sumber data.

c. Seleksi Data

Tahapan dalam seleksi data, yaitu memilih atribut-atribut yang

relevan dengan penelitian. Atribut yang digunakan dalam melakukan

evaluasi mobil yaitu buying, maintenance, number of doors, capacity

of persons, luggage boot dan estimated safety. Data yang digunakan

pun hanya 914 records dari 1728 records.

d. Transformasi Data

Pada langkah transformasi data peneliti akan mengubah nilai

“5more” menjadi “more” pada atribut Doors.

3.4.2. Penambangan data

1) Masukan Sistem

Telah dibahas di atas bahwa data memiliki enam atribut yang akan

digunakan : buying price, maintenance, number of doors, capacity of

persons, luggage boot, estimated safety dan evaluation.

2) Proses Sistem

Masukan pada sistem akan diproses dengan menggunakan teknik

klasifikasi metode CART. Proses yang dilalui sebagai berikut:

1. Pengguna melakukan proses input data car evaluation untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

19

memindahkan nilai asli dari file csv ke suatu struktur data.

a. Menyiapkan objek untuk menyimpan data car dan daftar

car

b. Memasukan lokasi file csv yang akan diimpor ke dalam

program.

c. Membaca dan menyimpan nilai atribut buying,

maintenance, doors, persons, luggage_boot, safety dan

evaluation. Jika data doors “5more”, ubah menjadi

“more”.

d. Menyimpan objek car ke dalam daftar car

2) Pada pembentukan pohon keputusan CART langkah awal yang

dilakukan adalah

a) Menyiapkan kandidat-kandidat cabang

b) Menghitung tingkat impurity pada data keseluruhan

c) Menghitung tingkat impurity tiap cabang dengan rumus

2.3.

d) Kandidat yang memiliki tingkat impurity tertinggi

terpilih sebagai splitting node.

e) Menentukan komponen pada cabang anak kiri dan

cabang anak kanan

f) Lakukan langkah 2a) hingga 2d) hingga cabang bersifat

pure atau mendekati pure.

3) Proses uji validasi dengan membandingkan hasil alat uji yang

sudah dibangun dengan pohon keputusan yang dibuat secara

manual dari data sampel sebanyak 16 records.

4) Proses pengujian melihat dari tingkat akurasi, kecepatan

komputasinya. Hasil akhir dari proses pengujian yaitu hasil tingkat

akurasi dan kecepatan komputasi yang ditempuh dari algoritma

CART.

a) Membagi data menjadi 10 bagian yang kurang lebih

sama besarnya.

b) Lakukan perulangan sebanyak 10kali

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

20

i) Menyimpan data selain fold ke-i ke dalam suatu larik.

ii) Merekam waktu mulai proses pembuatan pohon ke-i

iii) Membuat pohon ke-i

iv) Merekam waktu akhir pembuatan pohon ke-i

v) Menghitung selisih waktu akhir dan waktu mulai dari

pembuatan pohon ke-i

vi) Menguji akurasi

(1) Membandingkan semua data di fold ke-i dengan

pola pohon ke-i yang telah di dapat

(2) Jika benar counter akan bertambah 1

(3) Menghitung persentase akurasi ke-i.

c) Mencetak waktu tempuh program dan tingkat

akurasinya.

3.5. Analisis Hasil

Peneliti akan menganalisa hasil pengujian alat uji berupa tingkat akurasi

yang diuji dengan menggunakan k-folds Cross-Validation dan waktu komputasi

yang ditempuh dari algoritma CART dengan menghitung selisih waktu mulai dan

waktu selesai pembentukan pohon.

3.6. Kesimpulan dan Saran

Di tahap ini akan menarik suatu garis besar dari hasil analisis yang sudah

diperoleh pada alat uji. Sehingga dapat diketahui berapa tingkat akurasi dan

berapa lama waktu tempuh yang dibutuhkan untuk membentuk pohon keputusan

CART.

3.7. Kebutuhan Perangkat

Hardware :

o RAM 2GB

o processor Intel CORE i3

Software :

o Netbeans 8.0

o Miscrosoft Excel 2010

o Operating System Windows 10

o System type 64-bit operating sistem, x64-based processor.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

21

BAB IV

PEMBANGUNAN ALAT UJI

4.1. Desain Diagram Kelas

Pada penelitian ini terdapat 6 kelas : CarEva, Data, TreeNode, CART, ujiValidasi dan kelas Main. Dilihat pada Gambar 4.1

Gambar 4.1 Diagram Kelas

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

22

Kelas CarEva merupakan kelas model pada penelitian ini. Kelas ini

memiliki atribut buying, maintenance, doors, persons, luggage_boot, safety dan

evaluation. Kelas Data berfungsi untuk mengimpor data dari csv ke dalam

struktur data serta melakukan pembagian data menjadi 10 partisi. Kelas ini

memiliki atribut Car dan listCar yang merujuk ke kelas CarEca, N dan size yang

akan digunakan untuk mempartisi data. Kelas TreeNode adalah kelas yang

mengatur node dan segala komponen yang berada di dalamnya. Kelas ini

memiliki atribut data, lData, rData yang merupakan array of String. Selain itu ada

atribut komponen, leaf, leftChild dan rightChild. Kelas CART bertujuan untuk

membangun pohon keputusan dengan menggunakan Gini Index sebagai ukuran

pemilihan atribut. Mulai dari perhitungan hingga pembentukan pohon keputusan.

Algoritma CART yang dikerjakan berhenti hingga pohon keputusan sudah

dibentuk tanpa melakukan proses pemangkasan. Terakhir, kelas Main yang

bertujuan untuk menjalan alat uji yang sudah dibangun.

4.2. Desain Struktur Data

4.2.1. Desain Struktur Data Array Car Evaluation

Pada penelitian kali ini, data yang diambil dan dipakai merupakan

data berbentuk tabel, sehingga pada pembangunan desain struktur data

tersebut peneliti menggunakan struktur array of object dari CarEva.

Desain dapat dilihat pada gambar 4.2 :

Gambar 4.2 Desain Array Data Car Evaluation

4.2.2. Desain Struktur Data ArrayList Data Car Evaluation untuk

pengujian

Pada penelitian ini akan menggunakan konsep pengujian k-fold, atau

lebih tepatnya 10-folds. Caranya dengan membagi data awal menjadi

10 bagian yang memiliki isi atau bagian hampir sama besarnya satu

dengan yang lain. Sehingga peneliti menggunakan konsep array list

untuk menyimpan 10 bagian data yang sudah dipecah sama besarnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

23

Gambar 4.3 Desain ArrayList Data Car Evaluation

Gambar 4.3 di atas ini merupakan desain struktur data untuk

pengujian.

4.2.3. Desain Struktur Data Pohon Keputusan CART

Pada penelitian kali ini hasil pohon keputusan memiliki konsep

struktur seperti pohon dengan 2 cabang di masing-masing node. Setiap

node pada pohon merujuk ke kelas TreeNode.

Pada masing-masing node akan memuat beberapa komponen, yaitu:

nama kandidat cabang, nilai kandidat cabang dan nama klasifikasinya

bila node adalah leaf.

Pada gambar 4.4 dapat dilihat bahwa root punya dua cabang dari

atribut Persons. Anak kiri merupakan mobil yang hanya muat untuk 2

orang. Anak kanan merupakan mobil yang muat 4 orang atau lebih.

Pada anak cabang kiri juga menyatakan hasil klasifikasi dengan label

“Unacc” atau unacceptance.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

24

Gambar 4 4 Desain Struktur Data Pohon Keputusan CART

4.3. Algoritma

Pada sub bab ini akan membahas langkah-langkah dalam method di setiap

kelas yang dirancang untuk membanfun alat uji ini.

4.3.1. Kelas Data

4.3.1.1. Method bacaData

Tipe : void

Parameter : -

Fungsi : mengimpor data ke dalam struktur data di alat uji

Adapun langkah-langkahnya, berikut:

a. Mengaktivasi bufferReader

b. Memasukan lokasi data yang akan diimpor

c. Melakukan perulangan selama masih ada data

i. Membuat objek car dari kelas CarEva

ii. Membagi data menjadi beberapa bagian

menggunakan simbol titik koma (;) disimpan ke

dalam suatu larik array.

iii. Jika larik indeks ke-0, simpan ke atribut buying

pada objek car

iv. Jika larik indeks ke-1, simpan ke atribut

maintenance pada objek car

v. Jika larik indeks ke-2,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

25

1. Jika bernilai 5more diubah menjadi more,

simpan ke atribut doors pada objek car

2. Jika tidak, simpan ke atribut doors pada

objek car

vi. Jika larik indeks ke-3, simpan ke atribut persons

pada objek car

vii. Jika larik indeks ke-4, simpan ke atribut

luggage_boot pada objek car

viii. Jika larik indeks ke-5, simpan ke atribut safety pada

objek car

ix. Jika larik indeks ke-6, simpan ke atribut evaluation

pada objek car

x. Menambah objek car ke dalam daftar listCar.

d. Selesai.

4.3.1.2. Method setPartition

Tipe : List of CarEva

Parameter : -

Fungsi : mempartisi data

Adapun langkah-langkahnya, berikut:

a. Merekam jumlah data pada daftar

b. Menentukan N yang akan menyimpan jumlah masing-

masing partisi dengan membagi jumlah data dengan 10

kemudian dijumlahkan dengan 1

c. Menyiapkan array of list partition untuk menampung hasil

partisi

d. Menginisialisasi masing-masing objek partition

e. Selama masih ada data di daftar

i. Melakukan pembagian indeks i dengan N disimpan

pada variabel index

ii. Menambahkan data ke-i pada daftar ke dalam objek

partition ke-index

f. Mengembalikan objek partition

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

26

g. Selesai.

4.3.1.3. Method Cetak10Fold

Tipe : void

Parameter : -

Fungsi : mempartisi data

Adapun langkah-langkahnya, berikut:

a. Merekam hasil pasrtisi ke dalam array of list partitions

b. Merekam jumlah data pada daftar

c. Menentukan N yang akan menyimpan jumlah masing-

masing partisi dengan membagi jumlah data dengan 10

kemudian dijumlahkan dengan 1

d. Menghitung ukuran paritisi ke-10 dengan mengurangi N

dengan 10kali N yang dikurangi jumlah data pada dafar

e. Selama banyak partisi

i. Menyiapkan kop tabel yang akan dicetak

ii. Jika partisi ke-1 sampai ke-9, cetak komponen data

pada daftar sebanyak N kali

iii. Jika partisi ke-10, cetak komponen data pada daftar

sebanyak size10

f. Selesai.

4.3.1.4. Method cetakData

Tipe : void

Parameter : -

Fungsi : mencetak seluruh data pada daftar

Adapun langkah-langkahnya, berikut:

a. Menyiapkan variabel i untuk menyimpan banyak iterasi

dimulai dengan angka 1

b. Menyiapkan kop tabel yang akan dicetak

c. Selama masih ada data pada daftar

i. Mencetak nilai i

ii. Cetak komponen data pada daftar sebanyak N kali

iii. Menjumlahkan i dengan 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

27

d. Selesai.

4.3.2. Kelas TreeNode

4.3.2.1. Method FilterData

Tipe : void

Parameter : indeks i, array 2 dimensi list, larik filter

Fungsi : menyaring data pada cabang kanan

Adapun langkah-langkahnya, berikut:

a. Menyiapkan obyek Data

b. Jika filter tidak kosong

i. Selama masih ada data pada list pada baris ke-i

1. Selama masih ada data pada filter

a) Jika data pada list ke-jk tidak sama

dengan data pada filter ke k,

tambahkan list ke-ij ke dalam Data

c. Jika filter kosong, menambahkan semua data di list baris

ke-i pada Data.

d. Selesai.

4.3.2.2. Method getDataValue

Tipe : String

Parameter : -

Fungsi : menyimpan value komponen node

Adapun langkah-langkahnya, berikut:

a. Menyiapkan objek set dari HashSet

b. Selama masih ada data pada Data

i. Menambahkan nilai Data ke dalam objek set

c. Mengembalikan objek set

d. Selesai.

4.3.2.3. Method isLeaf

Tipe : boolean

Parameter : -

Fungsi : mengetahui node itu leaf atau bukan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

28

Method ini mengembalikan nilai logika benar atau salah dari

kondisi leftChild adalah kosong dan rightChild adalah.

4.3.3. Kelas CART

4.3.3.1. Method hitungRecords

Tipe : void

Parameter : daftar evaluasi mobil

Fungsi : mengetahui jumlah masin-masing komponen pada

setiap kandidat cabang kiri maupun kanan

Adapun langkah-langkahnya, berikut:

a. Menghitung semua jumlah data unacc, acc, good dan very

good pada daftar.

b. Menghitung semua komponen unacc, acc, good dan very

good pada calon kandidat cabang kiri.

c. Menghitung semua komponen unacc, acc, good dan very

good pada calon kandidat cabang kanan.

d. Selesai.

4.3.3.2. Method hitungGiniD

Tipe : void

Parameter : jumlah records, unacc, acc, good dan vgood pada

daftar evaluasi mobil

Fungsi : menghitung impurity pada daftar evaluasi mobil

Method ini menghitung dengan menggunakan rumus (2.1)

4.3.3.3. Method hitungdeltaGini

Tipe : double

Parameter : hasil perhitungan pada method hitungRecords

Fungsi : menghitung tingkat impurity setiap calon cabang

Adapun langkah-langkahnya, berikut:

a. Menyiapkan variabel GiniD1=0 , GiniD2=0 dan GiniA=0

b. Jika recordL dan recordR tidak kosong :

i. Menghitung GiniD1 menggunakan rumus (2.1)

ii. Menghitung GiniD2 menggunakan rumus (2.1)

iii. Menghitung GiniA menggunakan rumus (2.2)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

29

c. Jika recordL kosong :

i. Menghitung GiniD2 menggunakan rumus (2.1)

ii. Menghitung GiniA menggunakan rumus (2.2) dengan

nilai GiniD1 = 0

d. Jika recordR kosong :

i. Menghitung GiniD1 menggunakan rumus (2.1)

ii. Menghitung GiniA menggunakan rumus (2.2) dengan

nilai GiniD2 = 0

e. Mengembalikan hasil perhitungan nilai Gini D dikurangkan

dengan nilai GiniA

f. Selesai.

4.3.3.4. Method setCandidate

Tipe : void

Parameter : -

Fungsi : menginisialisasi komponen nama dan value dari

setiap calon kandidat baik cabang kiri maupun cabang kanan

4.3.3.5. Method filterBuying

Tipe : List<CarEva>

Parameter : daftar evaluasi mobil dan daftar value

Fungsi : menyaring data dengan menggunakan Buying

Adapun langkah-langkahnya, berikut:

a. Menyiapkan daftar filter

b. Selama data dalam daftar masih ada

i. Selama data value masih ada

1. Jika data daftar pada baris ke-i sama dengan

nilai value Buying ke-j, tambahkan daftar ke-i

ke dalam daftar filter

c. Mengembalikan objek filter

d. Selesai.

4.3.3.6. Method filterMaintenance

Tipe : List<CarEva>

Parameter : daftar evaluasi mobil dan daftar value

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

30

Fungsi : menyaring data dengan menggunakan

Maintenance

Adapun langkah-langkahnya, berikut:

a. Menyiapkan daftar filter

b. Selama data dalam daftar masih ada

i. Selama data value masih ada

1. Jika data daftar pada baris ke-i sama dengan

nilai value Maintenance ke-j, tambahkan

daftar ke-i ke dalam daftar filter

c. Mengembalikan objek filter

d. Selesai.

4.3.3.7. Method filterDoors

Tipe : List<CarEva>

Parameter : daftar evaluasi mobil dan daftar value

Fungsi : menyaring data dengan menggunakan Doors

Adapun langkah-langkahnya, berikut:

a. Menyiapkan daftar filter

b. Selama data dalam daftar masih ada

i. Selama data value masih ada

1. Jika data daftar pada baris ke-i sama dengan

nilai value Doors ke-j, tambahkan daftar ke-i

ke dalam daftar filter

c. Mengembalikan objek filter

d. Selesai.

4.3.3.8. Method filterPersons

Tipe : List<CarEva>

Parameter : daftar evaluasi mobil dan daftar value

Fungsi : menyaring data dengan menggunakan Persons

Adapun langkah-langkahnya, berikut:

a. Menyiapkan daftar filter

b. Selama data dalam daftar masih ada

i. Selama data value masih ada

1. Jika data daftar pada baris ke-i sama dengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

31

nilai value Persons ke-j, tambahkan daftar ke-i

ke dalam daftar filter

c. Mengembalikan objek filter

d. Selesai.

4.3.3.9. Method filterLuggage

Tipe : List<CarEva>

Parameter : daftar evaluasi mobil dan daftar value

Fungsi : menyaring data dengan menggunakan

Luggage_boot

Adapun langkah-langkahnya, berikut:

a. Menyiapkan daftar filter

b. Selama data dalam daftar masih ada

i. Selama data value masih ada

1. Jika data daftar pada baris ke-i sama dengan

nilai value Luggage_boot ke-j, tambahkan

daftar ke-i ke dalam daftar filter

c. Mengembalikan objek filter

d. Selesai.

4.3.3.10. Method filterSafety

Tipe : List<CarEva>

Parameter : daftar evaluasi mobil dan daftar value

Fungsi : menyaring data dengan menggunakan Safety

Adapun langkah-langkahnya, berikut:

a. Menyiapkan daftar filter

b. Selama data dalam daftar masih ada

i. Selama data value masih ada

1. Jika data daftar pada baris ke-i sama dengan

nilai value Safety ke-j, tambahkan daftar ke-i

ke dalam daftar filter

c. Mengembalikan objek filter

d. Selesai.

4.3.3.11. Method classification

Tipe : String

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

32

Parameter : node bantu, indeks i

Fungsi : menentukan label kelas pada leaf

Adapun langkah-langkahnya, berikut:

a. Menyiapkan variabel classify

b. Jika data recordL pada candidat i lebih besar dari recordR

pada kandidat i

i. Mencari nilai terbesar dari unacc, acc, good dan

vgood pada komponen cabang kiri

1. Jika tertinggi data unacc, classify menyimpan

unacc

2. Jika tertinggi data acc, classify menyimpan

acc

3. Jika tertinggi data good, classify menyimpan

good

4. Jika tertinggi data vgood, classify menyimpan

vgood

c. Jika data recordR pada candidat i lebih besar dari recordL

pada kandidat i

i. Mencari nilai terbesar dari unacc, acc, good dan

vgood pada komponen cabang kanan

1. Jika tertinggi data unacc, classify menyimpan

unacc

2. Jika tertinggi data acc, classify menyimpan

acc

3. Jika tertinggi data good, classify menyimpan

good

4. Jika tertinggi data vgood, classify menyimpan

vgood

d. Mengembalikan nilai variabel classify

e. Selesai.

4.3.3.12. Method compareValue

Tipe : boolean

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

33

Parameter : car dari CarEva

Fungsi : membandingkan nilai pada record dengan pola

pohon keputusan

Adapun langkah-langkahnya, berikut:

a. Menyiapkan node parent dan bantu yang merujuk ke root

b. Selama bantu tidak kosong

i. Jika bantu adalah root, bantu pindah ke anak kiri

ii. Jika komponen bantu adalah Buying

1. Menyiapkan variabel boolean found bernilai

false

2. Selama banyak komponen value kiri dari bantu

masih ada

1) Jika data bantu tersebut sama dengan

objek car, found menyimpan true, parent

pindah ke bantu dan bantu pindah ke

anak kiri. Kemudian melakukan fungsi

break.

3. Jika tidak ditemukan

1) Melakukan langkah 1 dan 2 di atas

untuk kopmonen value kanan dari bantu.

iii. Jika komponen bantu adalah Maintenance

1. Menyiapkan variabel boolean found bernilai

false

2. Selama banyak komponen value kiri dari bantu

masih ada

1) Jika data bantu tersebut sama dengan

objek car, found menyimpan true, parent

pindah ke bantu dan bantu pindah ke

anak kiri. Kemudian melakukan fungsi

break.

3. Jika tidak ditemukan

1) Melakukan langkah 1 dan 2 di atas

untuk kopmonen value kanan dari bantu.

iv. Jika komponen bantu adalah Doors

1. Menyiapkan variabel boolean found bernilai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

34

false

2. Selama banyak komponen value kiri dari bantu

masih ada

1) Jika data bantu tersebut sama dengan

objek car, found menyimpan true, parent

pindah ke bantu dan bantu pindah ke

anak kiri. Kemudian melakukan fungsi

break.

3. Jika tidak ditemukan

1) Melakukan langkah 1 dan 2 di atas

untuk kopmonen value kanan dari bantu.

v. Jika komponen bantu adalah Persons

1. Menyiapkan variabel boolean found bernilai

false

2. Selama banyak komponen value kiri dari bantu

masih ada

1) Jika data bantu tersebut sama dengan

objek car, found menyimpan true, parent

pindah ke bantu dan bantu pindah ke

anak kiri. Kemudian melakukan fungsi

break.

3. Jika tidak ditemukan

1) Melakukan langkah 1 dan 2 di atas

untuk kopmonen value kanan dari bantu.

vi. Jika komponen bantu adalah Luggage_boot

1. Menyiapkan variabel boolean found bernilai

false

2. Selama banyak komponen value kiri dari bantu

masih ada

1) Jika data bantu tersebut sama dengan

objek car, found menyimpan true, parent

pindah ke bantu dan bantu pindah ke

anak kiri. Kemudian melakukan fungsi

break.

3. Jika tidak ditemukan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

35

1) Melakukan langkah 1 dan 2 di atas

untuk kopmonen value kanan dari bantu.

vii. Jika komponen bantu adalah Safety

1. Menyiapkan variabel boolean found bernilai

false

2. Selama banyak komponen value kiri dari bantu

masih ada

1) Jika data bantu tersebut sama dengan

objek car, found menyimpan true, parent

pindah ke bantu dan bantu pindah ke

anak kiri. Kemudian melakukan fungsi

break.

3. Jika tidak ketemu

1) Melakukan langkah 1 dan 2 di atas

untuk kopmonen value kanan dari bantu.

c. Jika evaluasi pada node parent dan objek car sama,

mengembalikan nilai true

d. Jika tidak, mengembalikan nilai false

e. Selesai.

4.3.3.13. Method pembentukanPohon

Tipe : TreeNode

Parameter : daftar evaluasi mobil, node bantu

Fungsi : membuat pohon keputusan

Adapun langkah-langkahnya, berikut:

a. Menyiapkan semua atribut yang dibutuhkan

b. Memanggil method hitungRecords dengan parameter

daftar evaluasi mobil

c. Memanggil method hitungGiniD

d. Memanggil method hitungdeltaGini untuk semua

komponen calon kandidat

e. Mencari tingkat impurity tertinggi

f. Membuat node kiri, mengisi komponen-komponennya

g. Membuat node kanan, mengisi komponen-komponennya

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

36

h. Memfilter nilai calon cabang kiri dan kanan untuk Buying

i. Memfilter nilai calon cabang kiri dan kanan untuk

Maintenance

j. Memfilter nilai calon cabang kiri dan kanan untuk Doors

k. Memfilter nilai calon cabang kiri dan kanan untuk

Persons

l. Memfilter nilai calon cabang kiri dan kanan untuk

Luggage

m. Memfilter nilai calon cabang kiri dan kanan untuk Safety

n. Menjadikan node kiri sebagai cabang anak kiri

o. Menjadikan node kanan sebagai cabang anak kanan

p. Memfilter isi tabel sesuai komponen cabang anak kiri dan

disimpan ke filterLeft

q. Memfilter isi tabel sesuai komponen cabang anak kanan

dan disimpan ke filterRight

r. Melakukan rekursif dari langkah a hingga k untuk cabang

kiri hingga nilai tingkat impurity tertinggi bernilai 0

s. Melakukan rekursif dari langkah a sampai k untuk

cabang kanan hingga nilai tingkat impurity tertinggi

bernilai 0

t. Selesai.

4.3.4. Kelas Main

4.3.4.1.Method selesiFold

Tipe : void

Parameter : array of list fold, indeks index

Fungsi : menyimpan kumpulan fold bukan ke-I ke dalam

array of list list

Adapun langkah-langkahnya, berikut:

a. Jika index bernilai 0, memasukan daftar data pada fold

indeks i ke-1 hingga i ke-9 ke dalam list indeks ke index

b. Jika index bernilai sama dengan ukuran array of list fold,

memasukan daftar data pada fold indeks i ke-0 hingga i

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

37

ke-8 ke dalam list indeks ke index

c. Selain itu, memasukan daftar data selain pada fold indeks

ke-i ke dalam list indeks ke index

d. Selesai.

4.3.4.2.Method ujiAkurasi

Tipe : void

Parameter : indeks index

Fungsi : menghitung persentasi proses ke-index

Adapun langkah-langkahnya, berikut:

a. Menyiapkan variabel count ke-index bernilai 0

b. Selama data pada daftar fold ke-index masih ada

i. Jika data ke-k pada fold cocok dengan pola pada

pohon keputusan ke-index, count ke-index

bertambah 1

c. Menghitung persentase dengan mengalikan count ke-

index dengan 100 dan dibagi dengan jumlah data pada

fold ke-index

d. Selesai.

4.3.4.3.Method cetakPerformasi

Tipe : void

Parameter : -

Fungsi : mencetak hasil pengujian

Adapun langkah-langkahnya, berikut:

a. Menyiapkan variabel jumlahWaktu dan jumlahPersen

bernilai 0

b. Menyiapkan kop tabel, nama kolom apa saja yang akan

ditampilkan

c. Selama banyak data array fold

i. Mencetak waktu tempuh

ii. Mencetak ukuran fold

iii. Mencetak jumlah data yang sesuai

iv. Mencetak persentase

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

38

v. Menjumlahkan waktu tempuh ke dalam

jumlahWaktu

vi. Menjumlahkan persentase ke dalam jumlahPersen

d. Menghitung rata-rata waktu tempuh dengan membagi

jumlahWaktu dengan banyak array fold, cetak

e. Menghitung rata-rata persentase akurasi dengan membagi

jumlahPersen dengan banyak array fold, cetak

f. Selesai.

4.3.4.4.Method Main

Tipe : String[]

Parameter : -

Fungsi : menjalankan alat uji

Adapun langkah-langkahnya, berikut:

a. Menyiapkan variabel yang dibutuhkan

b. Membuat objek cartOri dari kelas CART

c. Membuat objek data dari kelas Data

d. Memanggil method bacaData() dari objek data

e. Menyimpan data yang sudah dibaca ke larik listOri

f. Mengeset root dari cartOri

g. Memanggil method setCandidate dari objek cartOri

h. Merekam waktu mulai

i. Memanggil method pembuatanPohon dengan

menggunakan daftar listOri dan root dari objek cartOri.

j. Merekam waktu berakhir

k. Menghitung dan mencetak waktu tempuh pembuatan

pohon dengan data utuh

l. Membagi data menjadi 10 bagian ke dalam fold

m. Membuat array of objek cart dari kelas CART sebanyak

10 slot

n. Menginisialisasi array of list list sebanyak 10 slot

o. Selama banyak slot fold

i. Menginisialisasi list dan cart ke-i

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

39

ii. Mengeset root dari cart ke-i

iii. Memanggil method setCandidate dari objek cart ke-i

iv. Memanggil method seleksiFold dengan

menggunakan fold dan indeks ke-i

v. Merekam waktu mulai ke-i

vi. Memanggil method pembuatanPohon dengan

menggunakan list ke-i dan root dari objek cart ke-i.

vii. Merekam waktu berakhir ke-i

viii. Menghitung waktu tempuh pembuatan pohon ke-i

ix. Memanggil method ujiaAkurasi ke-i

p. Memanggil method cetakPerformasi

q. Selesai.

4.4. Implementasi Alat Uji

Setelah melakukan perancangan alat uji dan membangunnya, sekarang

peneliti akan mengimplementasikannya kerangka utama dapat dilihat pada

gambar 4.5 di bawah ini

Gambar 4.5 Implementasi Kelas Main

Pada kelas Main dibutuhkan objek yang mereferensi ke kelas Data,

CarEva dan CART. Objek data hanya dibuat sebagai objek tunggal yang merujuk

ke kelas Data. Objek fold dan list direpresentasikan dalam bentuk daftar array,

fold dan list merujuk ke kelas CarEva. Objek cart direpresentasikan dalam bentuk

array. Selain 4 objek tersebut ada beberapa atribut array pendukung untuk

menghitung pengujian kecepatan komputasi dan akurasi. Kecepatan komputasi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

40

membutuhkan atribut startTime yang merekam waktu mulai proses dan endTime

untuk merekam waktu berakhirnya proses serta runningTime yang merekam

waktu yang dibutuhkan untuk menjalankan proses. Pengujian akurasi

membutuhkan atribut persentase yang merekam persentase akurasi dan count

untuk merekam jumlah kecocokan uji records. Atribut ini menyimpan nilai angka

desimal.

Gambar 4.6 Implementasi Method Utama Kelas Main

Gambar 4.6 dapat dilihat tahap-tahap pembuatan dan pengujian pohon

keputusan CART. Peneliti membagi tahapan menjadi 3 bagian. Bagian pertama

persiapan, meliputi inisialisasi objek hingga persiapan data yang akan diolah pada

gambar 4.6 ditunjukan pada listing nomor 20-29. Bagian kedua adalah pembuatan

pohon dari data asli, meliputi penentuan root hingga pemanggilan fungsi

pembentukan pohon yang ditunjukan pada listing nomor 30-35. Bagian terakhir

adalah bagian pengujian akurasi dengan menggunakan metode 10-folds cross-

validation, menghitung akurasi masing-masing pembuatan pohon dan

menampilkan hasil pengujian yang ditunjukan pada listing nomor 36-51.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

41

Pada listing nomor 28, melakukan proses membaca data dari objek data.

Lalu pada listing nomor 29 data yang sudah dibaca disimpan pada daftar listOri

yang merujuk ke kelas CarEva. Listing 30 bermaksud untuk menyiapkan root

node pada objek cartOri dan listing 31 menyiapkan komponen-komponen apa

yang dimuat di tiap-tiap node. Listing 33 adalah pembuatan pohon, prosesnya

sudah dipaparkan pada subbab 4.3.2. tentang Pembuatan Pohon Keputusan.

Pada listing 32, 34, 35, 45, 47, 48 merupakan implementasi langkah

pengujian waktu tempuh. Listing 36 hingga 51 adalah proses pengujian akurasi,

untuk detail proses dapat dilihat pada subbab 4.3.4.2. method ujiAkurasi.

Pada method pembentukanPohon yang membutuhkan parameter daftar

mobil dan node bantu. Method ini bertujuan untuk membangun pohon keputusan

CART. Secara garis besar method ini dibagi menjadi 4 bagian yaitu persiapan

variabel, perhitungan Gini Index, mencari candidat dengan tingkat impurity

tertinggi dan yang terakhir tahap pembuatan pohon secara rekursif.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

42

Gambar 4.7 Tahap Awal Method pembetukanPohon

Gambar 4.7 diperlihatkan bahwa di tahap ini peneliti mempersiapkan

atribut yang dibutuhkan untuk membangun pohon. Adapun atribut yang

digunakan sebagai berikut : listing 187-191 record, unacc, acc, good, vgood untuk

menyimpan perhitungan jumlah label evaluasi pada keseluruhan daftar evaluasi

mobil; listing 182-196 recordL, unaccL, accL, goodL, vgoodL untuk menyimpan

perhitungan jumlah label evaluasi pada 30 candidat cabang kiri; listing 197-200

recordR, unaccR, accR, goodR, vgoodR untuk menyimpan perhitungan jumlah

label evaluasi pada 30 candidat cabang kanan; listing 201 menyediakan 30 slots

untuk array GiniA. lalu listing 203-213 menginisialisasi array yang ada dengan

nilai 0.

Gambar 4.8 Tahap Perhitungan Komponen Daftar Evaluasi Mobil

Gambar 4.8 diperlihatkan bahwa tahap ini merupakan tahap perhitungan

Gini Index mulai dari menghitung jumlah data tiap komponen di daftar pada

listing 215, menghitung Gini Index pada daftar evaluasi mobil pada listing 216,

kandidat cabang kiri dan cabang kanan hingga menghitung tingkat impurity dari

masing-masing calon kandidat cabang pada listing 217-220.

Gambar 4.9 Tahap Pencarian Tingkat Impurity Tertinggi

Gambar 4.9 menunjukan proses pencarian tingkat impurity yang tertinggi.

Tahap ini akan membandingkan satu persatu nilai impurity pada masing-masing

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

43

kandidat untuk mengetahui kandidat yang memiliki tingkat impurity yang

tertinggi.

Pada tahap pembuatan pohon secara rekursif merupakan proses yang

cukup kompleks. Tahap ini peneliti membagi menjadi 4 bagian. Bagian pertama

hingga bagian ketiga merupakan bagian di dalam proses rekursif, sedangkan

bagian 4 merupakan bagian setelah proses rekursif selesai. Bagian pertama

menentukan node calon cabang. Bagian kedua menyaring daftar evaluasi mobil

yang akan digunakan untuk iterasi rekursif berikutnya bergantung dengan data di

node cabang kiri atau kanan. Bagian ketiga merupakan bagian pemanggil method

pembentukanPohon. Bagian keempat merupakan proses pelabelan klasifikasi

evaluasi mobil

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

44

Gambar 4.10 Tahap Pertama Dalam Proses Rekursif

Gambar 4.10 menunjuk bagian pertama proses rekursif. Pada listing 247-

248 merupakan penyiapan calon cabang anak kiri kanan dan menempelkan

komponen. Pada listing 249-305 merupakan penempelan data value calon cabang

anak kiri kanan. Pada listing 309-310 adalah proses menghubungkan node bantu

(parent) dengan node calon cabang anak kiri dan kanan dengan menempelkan

komponen beserta data value.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

45

Gambar 4.11 Tahap Kedua Dalam Proses Rekursif

Gambar 4.11 menggambarkan proses penyaringan data di daftar evaluasi

mobil bergantung pada komponen cabang kiri atau cabang kanan. Misalkan, jika

cabang kiri memiliki komponen Persons maka akan menyaring data daftar

evaluasi mobil dengan memanggil method filterBuying yang berparameter daftar

data dan value dari cabang kiri. Method filterBuying nantinya akan menyeleksi

data daftar evaluasi mobil yang cocok dengan value(s) dari calon cabang kiri.

Gambar 4.12 Tahap Rekursif

Gambar 4.12 menunjukan proses pemanggilan method pembentukanPohon

itu sendiri. Parameter yang dibutuhkan adalah daftar list baru dan perpindahan

node bantu yang bergantung pada rekursif ke kiri atau rekursif ke kanan. Konsep

pembuatan pohon ini akan mengerjakan calon cabang kiri terlebih dahulu secara

rekursif, setelah sampai ujung baru akan mengerjakan calon cabang kanan.

Konsep seperti ini diadaptasi dari proses Transversal PreOrder.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

46

Gambar 4.13 Tahap Pelabelan

Gambar 4.13 menunjukan proses pelabelan kelas evaluasi. Proses

pelabelan terjadi ketika proses rekursif telah berhenti dan node dinyatakan

menjadi leaf. Artinya pada cabang ini sudah bersifat pure atau mendekati pure,

ditandai dengan nilai Gini Index di setiap cabang bernilai 0 semua. Tahap ini akan

memanggil method classification(TreeNode, int) dari kelas CART dan

setLeafClass(String) dari kelas TreeNode. Method classification akan meminta

posisi node bantu ada di bagian mana dan meminta index kandidat cabang.

Setelah itu akan membandingkan jumlah recordL dan recordR. Jika lebih besar

record maka akan mencari jumlah label mana yang paling banyak di kandidat

cabang kiri. Jika tidak, akan mencari jumlah label mana yang paling banyak di

kandidat cabang kanan. Method ini akan mengembalikan nilai label yang sudah

didapat. Nilai label yang sudah didapat tadi dilempar ke method setLeafClass.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

47

BAB V

ANALISIS DAN PEMBAHASAN

5.1. Uji Validasi

Selain menguji performa algoritma dalam segi waktu tempuh proses dan

tingkat akurasinya, peneliti juga menguji validasi program. Pengujian validasi

dilakukan dengan cara menghitung dan membuat pohon dari data sampel secara

manual dengan menggunakan Ms. Excel.

Uji validasi, peneliti mengambil data sampel sebanyak 16 data records

sebagaimana dapat dilihat pada tabel 5.1.

Tabel 5.1 Data Sampel

Buying Maintenance Doors Persons Lugage_boot Safety Evaluation

Low med 3 More big med good

Low med 3 More big high vgood

Low med 4 2 small low unacc

Low med 4 2 small med unacc

Low med 4 More big high vgood

Low med more 2 small low unacc

Low med more 4 small med acc

Low med more 4 small high good

Low med more 4 med low unacc

Low med more 4 med med good

Low med more 4 med high vgood

Low med more 4 big low unacc

Low med more 4 big med good

Low med more 4 big high vgood

Low med more More small low unacc

Low med more More small med acc

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

48

Pada data sampel hitung impurity data tabel 5.1, sebelum masuk ke

perhitungan, terlebih dahulu mengeset root dari pohon keputusan CART ini. Root

dapat dilihat pada gambar 5.1.

Gambar 5.1 Root pada Pohon Keputusan

Masuk ke dalam pembentukan pohon pada iterasi pertama, data yang

digunakan adalah data sampel secara keseluruhan. Data sampel di atas memiliki 16

baris data. Terdapat 6 data mobil yang tidak diterima, 2 data mobil yang diterima

biasa, 4 data mobil yang diterima dengan baik dan 4 data mobil yang diterima dengan

sangat baik.

Total data : 16 records

Unacceptance : 6 records

Acceptance : 2 records

Good : 4 records

Very Good : 4 records

( ) (

)

(

)

(

)

(

)

( )

Pada gambar 5.2 dapat dilihat bahwa tingkat impurity pada semua

kandidat tidak bernilai 0, maka terjadi proses pemilihan cabang anak kiri dan

cabang anak kanan. Kandidat yang memiliki tingkat impurity terbesar adalah

kandidat nomor 28. Mobil dengan tingkat keamanan rendah ditetapkan menjadi

cabang anak kiri. Mobil dengan tingkat keamanan menengah atau tinggi

ditetapkan menjadi cabang anak kanan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

49

Pada gambar 5.2 menghitung tingkat impurity dari kandidat yang memiliki nilai tertinggi.

Gambar 5.2 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Pertama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

50

Kandidat 28 : Safety = low vs Safety = med high

Safety = low

Total data : 5 records

Unacceptance : 5 records

Acceptance : 0 record

Good : 0 record

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

Safety = med || high

Total data : 11 records

Unacceptance : 1 record

Acceptance : 2 records

Good : 4 records

Very Good : 4 records

( ) (

)

(

)

(

)

(

)

( )

( )

( )

( )

( )

Sehingga pada iterasi pertama pohon yang dihasilkan seperti gambar 5.3 di

bawah ini.

Gambar 5.3 Pohon Hasil Iterasi Pertama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

51

Selanjutnya masuk ke tahap rekursif pada cabang anak kiri. Data sampel

akan disaring berdasarkan data anak kiri. Sehingga data yang akan digunakan

pada iterasi kedua dapat dilihat pada tabel 5.2.

Tabel 5.2 Data pada Iterasi Kedua

Buying Maintenance Doors Persons Lugage_boot Safety Evaluation

Low Med 4 2 small low Unacc

Low Med more 2 small low Unacc

Low Med more 4 med low Unacc

Low Med more 4 big low Unacc

Low Med more more small low Unacc

Pada iterasi kedua hitung impurity untuk data tabel 5.2, masuk ke dalam

pembentukan pohon pada iterasi kedua, data yang digunakan adalah data tabel 5.2

yang sudah disaring. Data sampel di atas memiliki 5 baris data. Terdapat 5 data mobil

yang tidak diterima.

Total data : 5 records

Unacceptance : 5 records

Acceptance : 0 record

Good : 0 record

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

Pada gambar 5.4 dapat dilihat bahwa pada data iterasi kedua semua

kandidat memiliki tingkat impurity sebesar 0. Hal ini menyatakan bahwa pada

node anak kiri yaitu Safety low sudah bersifat pure. Sehingga pada tahap ini

dilakukan proses pelabelan dengan mencari nilai label mana yang memiliki nilai

tertinggi. Dan pada iterasi kedua, label dengan nilai tertinggi berada di label

unaccaptance. Sehingga node Safety low merupakan leaf yang memiliki label

unacc. Pohon pada iterasi kedua ini dapat dilihat pada gambar 5.5.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

52

Pada gambar 5.4 menghitung tingkat impurity dari kandidat yang memiliki nilai tertinggi.

Gambar 5.4 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kedua

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

53

Gambar 5.5 Pohon Hasil Iterasi Kedua

Karena pada iterasi kedua node cabang anak kiri adalah leaf dan proses

rekursif cabang kiri berhenti, selanjutnya masuk ke tahap rekursif pada cabang

anak kanan. Data sampel akan disaring berdasarkan data anak kanan. Sehingga

data yang akan digunakan pada iterasi ketiga dapat dilihat pada tabel 5.3

Tabel 5.3 Data pada Iterasi Ketiga

Buying Maintenance Doors Persons Lugage_boot Safety Evaluation

low med 3 more big med good

low med 3 more big high vgood

low med 4 2 small med unacc

low med 4 more big high vgood

low med more 4 small med acc

low med more 4 small high good

low med more 4 med med good

low med more 4 med high vgood

low med more 4 big med good

low med more 4 big high vgood

low med more more small med acc

Pada iterasi ketiga hitung impurity untuk data tabel 5.3, masuk ke dalam

pembentukan pohon pada iterasi ketiga, data yang digunakan adalah data tabel 5.3

yang sudah disaring. Data sampel di atas memiliki 11 baris data. Terdapat 1 mobil

yang tidak diterima, 2 data mobil yang diterima biasa dan masing-masing ada 4 data

mobil yang diterima dengan baik dan sangat baik.

Total data : 11 records

Unacceptance : 1 record

Acceptance : 2 records

Good : 4 records

Very Good : 4 records

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

54

( ) (

)

(

)

(

)

(

)

( )

Pada gambar 5.6 dapat dilihat bahwa tingkat impurity pada semua

kandidat tidak bernilai 0, maka terjadi proses pemilihan cabang anak kiri dan

cabang anak kanan. Kandidat yang memiliki tingkat impurity terbesar adalah

kandidat nomor 29. Mobil dengan tingkat keamanan sedang ditetapkan menjadi

cabang anak kiri. Mobil dengan tingkat keamanan tinggi ditetapkan menjadi

cabang anak kanan.

Kandidat 29 : Safety = med vs Safety = high

Safety = med

Total data : 6 records

Unacceptance : 1 record

Acceptance : 2 records

Good : 3 records

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

Safety = high

Total data : 5 records

Unacceptance : 0 record

Acceptance : 0 record

Good : 1 record

Very Good : 4 records

( ) (

)

(

)

(

)

(

)

( )

( )

( )

( )

( )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

55

Pada gambar 5.6 menghitung tingkat impurity dari kandidat yang memiliki nilai tertinggi.

Gambar 5.6 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Ketiga

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

56

Sehingga pada iterasi ketiga pohon yang dihasilkan seperti gambar 5.7 di

bawah ini.

Gambar 5.7 Pohon Hasil Iterasi Ketiga

Selanjutnya masuk ke tahap rekursif pada cabang anak kiri. Data pada

iterasi ketiga akan disaring berdasarkan data anak kiri. Sehingga data yang akan

digunakan pada iterasi keempat dapat dilihat pada tabel 5.4.

Tabel 5.4 Data pada Iterasi Keempat

Buying Maintenance Doors Persons Lugage_boot Safety Evaluation

low med 3 more big med Good

low med 4 2 small med Unacc

low med more 4 small med Acc

low med more 4 med med Good

low med more 4 big med Good

low med more more small med Acc

Pada iterasi keempat hitung impurity untuk data tabel 5.4. Masuk ke dalam

pembentukan pohon pada iterasi keempat, data yang digunakan adalah data tabel 5.4

yang sudah disaring. Data sampel di atas memiliki 6 baris data. Terdapat 1 data mobil

yang tidak diterima, 2 data mobil yang diterima biasa, 3 data mobil yang diterima

dengan baik.

Total data : 6 records

Unacceptance : 1 record

Acceptance : 2 records

Good : 3 records

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

57

Pada gambar 5.8 menghitung tingkat impurity dari kandidat yang memiliki nilai tertinggi.

Gambar 5.8 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Keempat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

58

Pada gambar 5.8 dapat dilihat bahwa tingkat impurity pada semua

kandidat tidak bernilai 0, maka terjadi proses pemilihan cabang anak kiri dan

cabang anak kanan. Kandidat yang memiliki tingkat impurity terbesar adalah

kandidat nomor 25. Mobil dengan bagasi kecil ditetapkan menjadi cabang anak

kiri. Mobil dengan bagasi sedang atau besar ditetapkan menjadi cabang anak

kanan.

Kandidat 25: Luggage_boot = small vs Luggage_boot = med big

Luggage_boot = small

Total data : 3 records

Unacceptance : 1 record

Acceptance : 2 records

Good : 0 record

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

Luggage_boot = med || big

Total data : 3 records

Unacceptance : 0 record

Acceptance : 0 record

Good : 3 records

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

( )

( )

( )

( )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

59

Sehingga pada iterasi keempat pohon yang dihasilkan seperti gambar 5.9

di bawah ini

Gambar 5.9 Pohon Hasil Iterasi Keempat

Selanjutnya masuk ke tahap rekursif pada cabang anak kiri. Data sampel

akan disaring berdasarkan data anak kiri. Sehingga data yang akan digunakan

pada iterasi kelima dapat dilihat pada tabel 5.5

Tabel 5.5 Data pada Iterasi Kelima

Buying Maintenance Doors Persons Lugage_boot Safety Evaluation

low med 4 2 small med Unacc

low med more 4 small med acc

Low med more more small med acc

Pada iterasi kelima hitung impurity untuk data tabel 5.5. Masuk ke dalam

pembentukan pohon pada iterasi kelima, data yang digunakan adalah data tabel 5.5

yang sudah disaring. Data sampel di atas memiliki 3 baris data. Terdapat 1 data mobil

yang tidak diterima dan 2 data mobil yang diterima biasa.

Total data : 3 records

Unacceptance : 1 record

Acceptance : 2 records

Good : 0 record

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

60

Pada gambar 5.10 menghitung tingkat impurity dari kandidat yang memiliki nilai tertinggi.

Gambar 5.10 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kelima

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

61

Pada gambar 5.10 dapat dilihat bahwa tingkat impurity pada semua

kandidat tidak bernilai 0, maka terjadi proses pemilihan cabang anak kiri dan

cabang anak kanan. Kandidat yang memiliki tingkat impurity terbesar adalah

kandidat nomor 17. Mobil dengan kapaitas 4 orang ditetapkan menjadi cabang

anak kiri. Mobil dengan kapasitas antara 2-3 atau lebih orang ditetapkan menjadi

cabang anak kanan.

Kandidat 17: Persons = 4 vs Persons = 2 || 3 || more

Persons = 4

Total data : 1 record

Unacceptance : 1 record

Acceptance : 0 record

Good : 0 record

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

Persons = 2 || 3 || more

Total data : 2 records

Unacceptance : 0 record

Acceptance : 2 records

Good : 0 record

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

( )

( )

( )

( )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

62

Sehingga pada iterasi kelima pohon yang dihasilkan seperti gambar 5.11 di

bawah ini

Gambar 5.11 Pohon Hasil Iterasi Kelima

Selanjutnya masuk ke tahap rekursif pada cabang anak kiri. Data iterasi

kelima akan disaring berdasarkan data anak kiri. Sehingga data yang akan

digunakan pada iterasi keenam dapat dilihat pada tabel 5.6

Tabel 5.6 Data pada Iterasi Keenam

Buying Maintenance Doors Persons Lugage_boot Safety Evaluation

low Med 4 2 Small med unacc

Pada iterasi keenam hitung impurity untuk data tabel 5.6. Masuk ke dalam

pembentukan pohon pada iterasi keenam, data yang digunakan adalah data tabel 5.6

yang sudah disaring. Data sampel di atas memiliki 1 baris data. Terdapat 1 data mobil

yang tidak diterima.

Total data : 1 record

Unacceptance : 1 record

Acceptance : 0 record

Good : 0 record

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

Pada gambar 5.12 dapat dilihat pada data iterasi keenam tingkat impurity

semua kandidat bernilai 0. Hal ini menyatakan bahwa pada node anak kiri yaitu

Persons 4 sudah bersifat pure.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

63

Pada gambar 5.12 menghitung tingkat impurity dari kandidat yang memiliki nilai tertinggi.

`

Gambar 5.12 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Keenam

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

64

Sehingga pada tahap ini dilakukan proses pelabelan dengan mencari nilai

label mana yang memiliki nilai tertinggi. Dan pada iterasi keenam label dengan

nilai tertinggi berada di label unaccaptance. Sehingga node Persons 4 merupakan

leaf yang memiliki label unacc. Pohon pada iterasi keenam ini dapat dilihat pada

gambar 5.13

Gambar 5.13 Pohon Hasil Iterasi Keenam

Karena pada iterasi keenam node cabang anak kiri adalah leaf dan proses

rekursif cabang kiri berhenti, lalu masuk ke tahap rekursif pada cabang anak

kanan. Data iterasi keenam akan disaring berdasarkan data anak kanan. Sehingga

data yang akan digunakan pada iterasi ketujuh dapat dilihat pada tabel 5.7

Tabel 5.7 Data pada Iterasi Ketujuh

Buying Maintenance Doors Persons Lugage_boot Safety Evaluation

Low Med More 4 small med Acc

Low Med More more small med Acc

Pada iterasi ketujuh hitung impurity untuk data tabel 5.7. Masuk ke dalam

pembentukan pohon pada iterasi ketujuh, data yang digunakan adalah data tabel 5.7

yang sudah disaring. Data sampel di atas memiliki 2 baris data. Terdapat 2 data mobil

yang diterima biasa.

Total data : 2 records

Unacceptance : 0 record

Acceptance : 2 records

Good : 0 record

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

65

Pada gambar 5.14 menghitung tingkat impurity dari kandidat yang memiliki nilai tertinggi.

` z

Gambar 5.14 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Ketujuh

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

66

Pada gambar 5.14 dapat dilihat bahwa pada data iterasi ketujuh semua

kandidat memiliki tingkat impurity sebesar 0. Hal ini menyatakan bahwa pada

node anak kanan yaitu Persons 2 atau 3 atau lebih sudah bersifat pure. Sehingga

pada tahap ini dilakukan proses pelabelan dengan mencari nilai label mana yang

memiliki nilai tertinggi. Dan pada iterasi ketujuh, label dengan nilai tertinggi

berada di label accaptance. Sehingga node Persons 2 atau 3 atau more merupakan

leaf yang memiliki label acc. Pohon pada iterasi ketujuh ini dapat dilihat pada

gambar 5.15

Gambar 5.15 Pohon Hasil Iterasi Ketujuh

Karena pada iterasi ketujuh node cabang anak kiri dan kanan adalah leaf

dan proses rekursif cabang kanan berhenti, selanjutnya masuk ke tahap rekursif

pada cabang anak kanan dari induk. Data iterasi ketujuh akan disaring

berdasarkan data anak kanan. Sehingga data yang akan digunakan pada iterasi

kedelapan dapat dilihat pada tabel 5.8

Tabel 5.8 Data pada Iterasi Kedelapan

Buying Maintenance Doors Persons Lugage_boot Safety Evaluation

Low Med 3 more big med Good

Low Med more 4 med med Good

Low Med more 4 big med Good

Pada data iterasi kedelapan hitung impurity tabel 5.8, masuk ke dalam

pembentukan pohon pada iterasi kedelapan, data yang digunakan adalah data tabel

5.8 yang sudah disaring. Data sampel di atas memiliki 3 baris data. Terdapat 3 data

mobil yang diterima dengan baik.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

67

Total data : 3 records

Unacceptance : 0 record

Acceptance : 0 record

Good : 3 records

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

Pada gambar 5.16 menghitung tingkat impurity dari kandidat yang

memiliki nilai tertinggi. Gambar 5.16 menyatakan bahwa pada data iterasi

kedelapan semua kandidat memiliki tingkat impurity sebesar 0. Hal ini

menyatakan bahwa pada node anak kanan yaitu Luggage_boot med atau big sudah

bersifat pure. Sehingga pada tahap ini dilakukan proses pelabelan dengan mencari

nilai label mana yang memiliki nilai tertinggi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

68

`

Gambar 5.16 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kedelapan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

69

Pada iterasi kedelapan, label dengan nilai tertinggi berada di label good.

Sehingga node Luggage_boot med atau big merupakan leaf yang memiliki label

good. Pohon pada iterasi kedelapan ini dapat dilihat pada gambar 5.17

Gambar 5.17 Pohon Hasil Iterasi Kedelapan

Karena pada iterasi kedelapan node cabang anak kiri dan kanan adalah leaf

dan proses rekursif cabang kanan berhenti, selanjutnya masuk ke tahap rekursif

pada cabang anak kanan dari induk. Data iterasi kedelapan akan disaring

berdasarkan data anak kanan. Sehingga data yang akan digunakan pada iterasi

kesembilan dapat dilihat pada tabel 5.9

Tabel 5.9 Data pada Iterasi Kesembilan

Buying Maintenance Doors Persons Lugage_boot Safety Evaluation

Low Med 3 more big High vgood

Low Med 4 more big High vgood

Low Med more 4 small High good

Low Med more 4 med High vgood

Low Med more 4 big High vgood

Pada data iterasi kesembilan hitung impurity tabel 5.9, Masuk ke dalam

pembentukan pohon pada iterasi kesembilan, data yang digunakan adalah data tabel

5.9 yang sudah disaring. Data sampel di atas memiliki 5 baris data. Terdapat 1 data

mobil yang diterima dengan baik dan 4 data mobil yang diterima dengan sangat baik.

Total data : 5 records

Unacceptance : 0 record

Acceptance : 0 record

Good : 1 record

Very Good : 4 records

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

70

( ) (

)

(

)

(

)

(

)

( )

Gambar 5.18 menghitung tingkat impurity dari kandidat yang memiliki

nilai tertinggi. Gambar 5.18 menunjukan tingkat impurity pada semua kandidat

tidak bernilai 0 maka terjadi proses pemilihan cabang anak kiri dan cabang anak

kanan. Kandidat yang memiliki tingkat impurity terbesar adalah kandidat nomor

25. Mobil dengan bagasi kecil ditetapkan menjadi cabang anak kiri. Mobil dengan

bagasi sedang atau besar ditetapkan menjadi cabang anak kanan.

Kandidat 25: Luggage_boot = small vs Luggage_boot = med big

Luggage_boot = small

Total data : 1 record

Unacceptance : 0 record

Acceptance : 0 record

Good : 1 record

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

Luggage_boot = med || big

Total data : 4 records

Unacceptance : 0 record

Acceptance : 0 record

Good : 0 record

Very Good : 4 records

( ) (

)

(

)

(

)

(

)

( )

( )

( )

( )

( )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

71

Gambar 5.18 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kesembilan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

72

Sehingga pada iterasi kesembilan pohon yang dihasilkan seperti gambar

5.19 di bawah ini

Gambar 5.19 Pohon Hasil Iterasi Kesembilan

Selanjutnya masuk ke tahap rekursif pada cabang anak kiri. Data iterasi

kesembilan akan disaring berdasarkan data anak kiri. Sehingga data yang akan

digunakan pada iterasi kesepuluh dapat dilihat pada tabel 5.10

Tabel 5.10 Data pada Iterasi Kesepuluh

Buying Maintenance Doors Persons Lugage_boot Safety Evaluation

low Med more 4 small high Good

Pada iterasi kesepuluh hitung impurity untuk data tabel 5.10. Masuk ke

dalam pembentukan pohon pada iterasi kesepuluh, data yang digunakan adalah data

tabel 5.10 yang sudah disaring. Data sampel di atas memiliki 1 baris data. Terdapat 1

data mobil yang diterima dengan baik.

Total data : 1 record

Unacceptance : 0 record

Acceptance : 0 record

Good : 1 record

Very Good : 0 record

( ) (

)

(

)

(

)

(

)

( )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

73

Pada gambar 5.20 menghitung tingkat impurity dari kandidat yang memiliki nilai tertinggi.

`

Gambar 5.20 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kesepuluh

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

74

Pada gambar 5.20 dapat dilihat bahwa pada data iterasi kesepuluh semua

kandidat memiliki tingkat impurity sebesar 0. Hal ini menyatakan bahwa pada

node anak kiri yaitu Luggage small sudah bersifat pure. Sehingga pada tahap ini

dilakukan proses pelabelan dengan mencari nilai label mana yang memiliki nilai

tertinggi. Dan pada iterasi kesepuluh, label dengan nilai tertinggi berada di label

good. Sehingga node Luggage small merupakan leaf yang memiliki label good.

Pohon pada iterasi ketujuh ini dapat dilihat pada gambar 5.21

Gambar 5.21 Pohon Hasil Iterasi Kesepuluh

Karena pada iterasi kesepuluh node cabang anak kiri leaf dan proses

rekursif cabang kiri berhenti, selanjutnya masuk ke tahap rekursif pada cabang

anak kanan dari induk. Data iterasi kesepuluh akan disaring berdasarkan data anak

kanan. Sehingga data yang akan digunakan pada iterasi kesebelas dapat dilihat

pada tabel 5.11

Tabel 5.11 Data pada Iterasi Kesebelas

Buying Maintenance Doors Persons Lugage_boot Safety Evaluation

low Med 3 more big high Vgood

low Med 4 more big high Vgood

low Med more 4 med high Vgood

low Med more 4 big high Vgood

Pada iterasi kesebelas hitung impurity untuk data tabel 5.11. Masuk ke

dalam pembentukan pohon pada iterasi kesebelas, data yang digunakan adalah data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

75

tabel 5.11 yang sudah disaring. Data sampel di atas memiliki 4 baris data. Terdapat 4

data mobil yang diterima dengan sangat baik.

Total data : 4 records

Unacceptance : 0 record

Acceptance : 0 record

Good : 0 record

Very Good : 4 records

( ) (

)

(

)

(

)

(

)

( )

Gambar 5.22 menghitung tingkat impurity dari kandidat yang memiliki

nilai tertinggi. bahwa pada data iterasi kesebelas semua kandidat memiliki tingkat

impurity sebesar 0. Hal ini menyatakan bahwa pada node anak kanan yaitu

Luggage_boot med atau big sudah bersifat pure. Sehingga pada tahap ini

dilakukan proses pelabelan dengan mencari nilai label mana yang memiliki nilai

tertinggi. Dan pada iterasi kesebelas, label dengan nilai tertinggi berada di label

very good. Sehingga node Luggage_boot med atau big merupakan leaf yang

memiliki label vgood.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

76

`

Gambar 5.22 Perhitungan Tingkat Impurity Calon Kandidat Iterasi Kesebelas

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

77

Pohon pada iterasi kesebelas ini dapat dilihat pada gambar 5.23

Gambar 5.23 Pohon Hasil Iterasi Kesebelas

Karena pada iterasi kesebelas node cabang anak kiri dan kanan adalah leaf

dan proses rekursif cabang kanan berhenti, selanjutnya masuk ke tahap rekursif

pada cabang anak kanan dari induk. Dan pada titik ini semua node sudah tidak

bisa dibagi menjadi bagian yang lebih kecil lagi. Sehingga terbentuklah pohon

keputusan seperti pada gambar 5.23

Sedangkan hasil implementasi alat uji menggunakan data sampel dapat

dilihat pada gambar 5.24 di bawah ini:

Gambar 5.24 Tree Nodes Alat Uji

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

78

Setelah mendapatkan hasil implementasi alat uji peneliti melakukan

representasi data ke model pohon pada gambar 5.25 di bawah ini

Gambar 5.25 Pohon Keputusan Alat Uji Data Sampel

Setelah dibandingkan hasil yang didapat dari proses manual dan alat uji

yang dibangun peneliti sudah sesuai. Hal ini menandakan bahwa alat uji yang

dibangun oleh peneliti sudah terjamin validasinya.

Setelah mendapatkan pohon keputusan dari data sampel, didapatkanlah

aturan-aturan di bawah ini :

1. Safety = low -› unacc

2. Safety = med ᴗ Luggage_boot = small ᴗ Persons = 4 -› unacc

3. Safety = med ᴗ Luggage_boot = small ᴗ (Persons = 2 ᴖ Persons = 3 ᴖ

Persons = more) -› acc

4. Safety = med ᴗ (Luggage_boot = med ᴖ Luggage_boot = big) -› good

5. Safety = high ᴗ Luggage_boot = small -› good

6. Safety = high ᴗ (Luggage_boot = med ᴖ Luggage_boot = big) -› vgood

5.2. Uji Akurasi

Setelah melalui tahap perancangan dan implementasi alat uji didapatkan

hasil waktu tempuh pembentukan pohon dan akurasi algoritma CART. Hasil

dapat dilihat pada gambar 5.26 di bawah ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

79

Gambar 5.26 Hasil Implementasi Alat Uji

Untuk mendapatkan waktu tempuh pembuatan pohon keputusan

menggunakan cara merekam waktu mulai dan waktu berakhirya pembuatan

pohon. Setelah itu, menghitung waktu tempuh dengan mengurangkan waktu akhir

dengan waktu mulai.

Pada proses pengujian 10-folds cross-validation melakukan 10 kali

pembuatan pohon dengan data selain fold ke-i, penghitungan waktu tempuh,

mencocokkan data records fold ke-i dan menghitung persentase akurasi.

Untuk mengetahui seberapa tingkat akurasi yang didapat pada setiap

perulangan ke-i digunakan rumus 5.1

………………………..(5.1)

Di mana :

persentasei = tingkat akurasi dalam bentuk persen ke-i

matchi = jumlah record ke-i yang cocok dengan pola

fold sizei = jumlah record pada data testing ke-i

Lakukanlah proses penghitungan rata-rata dari waktu tempuh. Rata-rata

waktu tempuh dapat dihitung dengan menjumlahkan tiap waktu tempuh pada

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

80

perulangan, setelah itu dibagi dengan 10. Untuk lebih jelasnya dapat dilihat pada

rumus 5.2 :

……………………………..(5.2)

Di mana :

rT = rata-rata waktu tempuh

rTi = waktu tempuh ke-i

i = iterasi perulangan

Lakukanlah proses penghitungan rata-rata dari akurasi. Rata-rata akurasi

dapat dihitung dengan menjumlahkan tiap akurasi pada perulangan, setelah itu

dibagi dengan 10. Untuk lebih jelasnya dapat dilihat pada rumus 5.3 :

………………..(5.3)

Di mana :

Accu = rata-rata akurasi

Accui = akurasi ke-i

i = iterasi perulangan

Di bawah ini akan dijelaskan bagaimana peneliti mendapatkan hasil

perhitungan. Data yang terkait dapat dilihat pada tabel 5.12

Tabel 5.12 Perhitungan Akurasi

Iterasi

i

Running

Time (s)

Testing

Data Match Accuracy (%)

1 1.6719975 92 92 100

2 2.35858623 92 91 98.91

3 1.17187892 92 91 98.91

4 1.01767467 92 92 100

5 1.1177081 92 92 100

6 0.96468147 92 62 67.39

7 0.9934847 92 64 69.57

8 0.89224122 92 92 100

9 0.89616844 92 92 100

10 0.90165684 86 73 84.89

Di bawah ini contoh perhitungan untuk mendapat persentase akurasi di

iterasi ke-1 dengan menggunakan rumus 5.1:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

81

Pada iterasi ke-1 jumlah data uji yang cocok dengan pola pohon mencapai

92 dari 92 data sehingga dapat diperoleh akurasi sebesar 100%

Sedangkan untuk menghitung rata-rata waktu tempuh dari kesepuluh

iterasi dengan menggunakan rumus 5.2 :

Selanjutnya peneliti akan menjelaskan bagaimana tahap menghitung rata-

rata persentase pengujian akurasi dengan menggunakan rumus 5.3 :

Pada penelitian ini menyatakan bahwa akurasi dari algoritma CART yang

digunakan untuk menentukan kelasifikasi dari data evaluasi mobil mencapai

tingkat 91.97%. Sedangkan pada penelitian yang dilakukan oleh Prabhu pada

tahun 2014, untuk data yang sama tapi menggunakan algoritma Random Forest

mencapai tingkat akurasi sebesar 98,27%. Dibandingkan Random Forest yang

diujikan oleh Prabhu, akurasi metode CART lebih rendah sebesar 6.3%. Hal ini

terjadi karena peneliti belum sampai pada tahap optimalisasi algoritma CART,

yaitu dengan menjalankan langkah Pruning atau langkah pemangkasan dahan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

82

BAB VI KESIMPULAN DAN SARAN

6.1. Kesimpulan

Penelitian ini melakukan perancangan dan pembangunan alat uji

pembentukan pohon keputusan dengan menggunakan algoritma CART untuk

menentukan kelasifikasi dari data evaluasi mobil.

Kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut:

a. Dari pengujian akurasi yang telah dilakukan, tingkat persentase

yang diperoleh menunjukan angka yang tinggi, yakni 91.97%.

b. Dari pengujian kecepatan komputasi data asli dan data yang telah

dipartisi, alat uji ini membutuhkan waktu komputasi kurang lebih

1.2 detik.

6.2. Saran

Peneliti memberikan saran bagi peneliti selanjutnya untuk melanjutkan

proses algoritma CART dengan melakukan pemangkasan pohon atau Pruning.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

83

DAFTAR PUSTAKA

Apsari, MAF. Perbandingan Kinerja Algoritma Pohon keputusan ID3 Dan CART

Pada Penjurusan Siswa SMA Berdasarkan Nilai Ujian SMP Dan Nilai

Rapor Kelas X. Skripsi. Yogyakarta : Universitas Sanata Dharma; 2011.

Bohanec, Marco. 1997. Car Evaluation Data Set.

https://archive.ics.uci.edu/ml/datasets/Car+Evaluation (Sept 21, 2018)

Han, J. and Kamber, M., 2012, Data Mining Concept and Techniquies, Third

Edition, Morgan Kaufman Publishers, Waltham, USA.

Kusrini, ETL. 2009. Algoritma Penambangan data, Yogyakarta : PT Andi Offset

Prabhu, Balakrishnan. 2014. Scikit Machine Learning of Car Evaluation Dataset.

https://corpocrat.com/2014/08/28/scikit-machine-learning-of-car-evaluation-

dataset/ (May 26, 2019)

Santosa, Budi. 2006. Teknik Pemanfaatan Data Untuk Keperluan Bisnis,

Yogyakarta : Graha Ilmu.

Steinberg, Dan. 2009. Chapter 10 CART : Classification and Regression Trees.

LCC: Tylor and Francis Group.

Widiyanto, Wardani, Yartiwulandari, Fadilillah. 2013. Data Mining Metode

Klasifikasi.

http://ebook.gunadarma.ac.id/informatika/177/31%20SigitWidiyanto_Data

MiningMetodeKlasifikasi.pdf.html (Sept 14, 2018)

Wu X., Kumar, Quinlan, Gosh, Yang, Motoda, McLachlan, Angus, Liu, Yu,

Zhou, Steibach, Hand, Steinberg. 2007. Top 10 algorithms in data mining.

London : Springer.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI