BAB II KAJIAN TEORI Pada bab ini berisi tentang teori-teori dasar mengenai kredit, database, penambangan data (data mining), aturan klasifikasi, decision tree C4.5, naïve bayes, metode evaluasi model, WEKA, dan penelitian yang relevan sebagai landasan pelaksanaan penelitian. A. Kredit Kredit adalah kemampuan untuk melaksanakan suatu pembelian atau mengadakan suatu pinjaman dengan suatu janji pembayarannya akan dilakukan ditangguhkan pada suatu jangka waktu yang disepakati (Teguh Pudjo Muljono, 2000: 9). Menurut Undang-Undang Perbankan No.12 Tahun 1992 pasal 1, kredit adalah penyediaan uang atau tagihan yang dapat dipersamakan dengan itu, berdasarkan persetujuan atau kesepakatan pinjam-meminjam antara pihak bank dengan pihak lain, yang mewajibkan pihak peminjam untuk melunasi hutangnya setelah jangka waktu tertentu dengan bunga, imbalan, atau pembagian hasil keuntungan. Kegiatan perkreditan mempunyai prinsip-prinsip yang disebut juga sebagai konsep 5C. Pada dasarnya konsep 5C dapat memberikan beberapa informasi mengenai seberapa baik nasabah akan melunasi pinjaman. Konsep 5C tersebut adalah sebagai berikut (Kasmir, 2012: 136): 7 1. Character Sifat atau watak dari orang-orang yang akan diberikan kredit benar-benar harus dapat dipercaya. Manfaat dari penilaian character yaitu untuk mengetahui sejauh mana tingkat kejujuran dan integritas serta tekad baik yaitu kemauan untuk memenuhi kewajiban-kewajibannya dari calon debitur. 2. Capacity Kemampuan melunasi kewajiban-kewajibannya dari kegiatan usaha yang dilakukannya atau kegiatan usaha yang akan dilakukan dengan biaya kredit bank. 3. Capital Besar atau kecilnya modal seorang calon debitur, serta analisis dari sumber mana saja modal saat ini, termasuk banyaknya modal yang digunakan untuk membiayai usaha yang akan dijalankan. 4. Collateral Barang-barang jaminan yang diserahkan oleh peminjam/ debitur sebagai jaminan atas kredit yang diterimanya. Manfaat collateral yaitu sebagai alat pengamanan apabila usaha yang dibiayai dengan kredit tersebut gagal atau sebab-sebab lain dimana debitur tidak mampu melunasi kreditnya dari hasil usahanya yang normal. 5. Condition of Economy Situasi dan kondisi politik, sosial, ekonomi, budaya, dan lain-lain yang mempengaruhi keadaan perekonomian pada suatu saat maupun untuk suatu 8 kurun waktu tertentu yang kemungkinannya akan dapat mempengaruhi kelancaran usaha dari perusahaan yang memperoleh kredit. Jumlah kredit yang disalurkan sangat berpengaruh terhadap hidup matinya lembaga keuangan. Banyaknya jumlah kredit yang disalurkan juga harus memperhatikan kualitas kredit tersebut. Bank Indonesia menggolongkan kualitas kredit menurut ketentuan sebagai berikut (Kasmir, 2013: 107-108): 1. Lancar Suatu kredit dikatakan lancar apabila: a. pembayaran angsuran pokok dan/ atau bunga tepat waktu; dan b. memiliki mutasi rekening yang aktif; atau c. bagian dari kerdit yang dijamin dengan agunan tunai. 2. Dalam perhatian khusus Dikatakan dalam perhatian khusus apabila memenuhi kriteria antara lain: a. terdapat tunggakan pembayaran angsuran pokok dan/ bunga yang belum melampaui 90 hari; atau b. kadang-kadang terjadi cerukan atau jumlah penarikan yang melebihi dana yang tersedia pada akun giro atau rekening negatif yang disebabkan oleh nasabah yang menulis cek melebihi jumlah dana yang ada direkeningnya; atau c. jarang terjadi pelanggaran terhadap kontrak yang diperjanjikan; atau d. mutasi rekening relatif aktif; atau e. didukung dengan pinjaman baru. 9 3. Kurang lancar Dikatakan kurang lancar apabila memiliki kriteria diantaranya: a. terdapat tunggakan angsuran pokok dan/ atau bunga yang telah melampaui 90 hari; atau b. sering terjadi cerukan; atau c. terjadi pelanggaran terhadap kontrak yang diperjanjikan lebih dari 90 hari; atau d. frekuensi mutasi rekening relatif rendah; atau e. terdapat indikasi masalah keuangan yang dihadapi debitur; atau f. dokumen pinjaman yang lemah. 4. Diragukan Dikatakan diragukan apabila memenuhi kriteria diantaranya: a. terdapat tunggakan pembayaran angsuran pokok dan/ atau bunga yang melampaui 180 hari; atau b. terjadi cerukan bersifat permanen; atau c. terjadi wanprestasi lebih dari 180 hari; atau d. terjadi kapitalisasi bunga; atau e. dokumen hukum yang lemah, baik untuk perjanjian kredit maupun peningkatan jaminian. 5. Macet Dikatakan macet apabila memenuhi kriteria antara lain: a. terdapat tunggakan pembayaran angsuran pokok dan/ atau bunga yang telah melampaui 270 hari; atau 10 b. kerugian operasional ditutup dengan pinjaman baru; atau c. dari segi hukum dan kondisi pasar, jaminan tidak dapat dicairkan pada nilai yang wajar. Penggolongan kualitas kredit di atas digunakan untuk mengantisipasi resiko kredit bermasalah secara dini. Kredit bermasalah atau problem loan dapat diartikan sebagai pinjaman yang mengalami kesulitan pelunasan akibat adanya faktor kesengajaan dan atau karena faktor eksternal di luar kemampuan kendali debitur. Apabila kredit dikaitkan dengan tingkat kolektibilitasnya, maka yang digolongkan kredit bermasalah adalah kredit yang memiliki kualitas dalam perhatian khusus, kurang lancar, diragukan, dan macet (Dahlan Siamat 2004: 174). B. Basis Data (Database) Menurut Connolly & Begg (2002: 15) database merupakan suatu kumpulan data yang terhubung secara logic, dan deskripsi dari data tersebut yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Database merupakan tempat penyimpanan data yang besar, dimana dapat digunakan secara simultan oleh banyak pengguna. Database terdiri dari beberapa objek antara lain yaitu: 1. Field Field adalah kumpulan dari beberapa karakteristik dari objek-objek yang ada. 2. Record Record adalah kumpulan dari field yang berhubungan satu sama lain. 11 3. File File atau berkas adalah kumpulan dari beberapa record yang berhubungan membentuk saling ketergantungan satu dengan yang lainnya. 4. Entity Entity adalah satu kesatuan yang terdiri dari informasi yang disimpan. 5. Attribute Atribut adalah nama dari suatu kolom relasi yang menjelaskan suatu entity. 6. Primary Key Primary Key adalah sebuah field yang mempunyai nilai unik yang tidak memiliki kesamaan antara record yang satu dengan record yang lain. 7. Foreign Key Foreign Key adalah satu atribut atau kumpulan atribut dalam satu relasi yang berguna untuk menghubungkan primary key lain yang berbeda dalam tabel lain. Menurut Han, et al (2012: 9) jenis-jenis database adalah sebagai berikut: 1. Relational database Relational database atau basis data relasional adalah sebuah kumpulan tabel dengan nama khusus dan setiap tabel terdiri atas kumpulan atribut (kolom atau field) dan biasanya menyimpan data dalam jumah yang besar pada data (baris atau record). Setiap data dalam tabel relasi menunjukkan sebuah objek yang diidentifikasi oleh sebuah unique key dan digambarkan oleh nilai dari atribut tersebut. 12 2. Data Warehouse Data warehouse adalah tempat penyimpanan informasi dari berbagai sumber data dan disimpan pada satu tempat. Data warehouse dibangun melalui sebuah proses dari pembersihan data dari data-data yang tidak lengkap, menganalisis data, perubahan bentuk data, pemuatan ulang datadata yang baru, dan pembaharuan data secara periodik. 3. Transactional Data Transactional data pada setiap record dikumpulkan berdasarkan sebuah transaksi (dalam dunia bisnis). Sebuah transaksi memiliki nomor identitas transaksi yang unik (trans_ID). Transactional data yang mempunyai tabel tambahan yang berisi informasi lain direlasikan pada hubungan yang mungkin terjadi, seperti deskripsi barang, informasi dari pelayan toko, dan lain-lain. C. Penambangan Data (Data Mining) Data mining adalah proses menentukan pola dan informasi dari data yang berjumlah besar. Sumber data dapat berupa database, data warehouse, Web, tempat penyimpanan informasi lainnya atau data yang mengalir ke dalam sistem yang dinamis (Han, et al, 2012: 8). Menurut Grup Gartner (dalam Larose, 2005: 2) data mining adalah suatu proses menemukan hubungan yang berarti, pola, dan kecenderungan dengan memeriksa dalam sekumpulan besar data yang tersimpan dalam penyimpanan dengan menggunakan teknik pengenalan pola seperti statistik dan matematika. 13 Menurut Turban, dkk (dalam Kusrini & Emha, 2009: 3) Data mining adalah proses yang menggunakan teknik statistik, matematika, kecerdasan buatan, dan machine learning untuk mengekstraksi dan mengindentifikasi informasi yang bermanfaat dan pengetahuan yang terkait dari berbagai database besar. Data mining merupakan salah satu langkah penting dalam menemukan sebuah pengetahuan pada proses Knowledge Discovery in Data (KDD). KDD adalah proses menentukan informasi yang berguna serta pola-pola yang ada dalam data. Tahapan proses KDD ditunjukkan pada Gambar 2.1. Gambar 2.1 Tahap-tahap Knowledge Discovery in Data (Han, et al, 2006: 6) 14 Menurut Han, et al (2006: 7 ) tahapan dalam KDD dapat dijelaskan sebagai berikut: 1. Pembersihan Data (Data Cleaning) Pembersihan data merupakan proses menghilangkan noise dan data yang tidak konsisten. Pada tahap ini data-data yang memiliki isian tidak sempurna seperti data yang tidak memiliki kelengkapan atribut yang dibutuhkan dan data yang tidak valid dihapus dari database. 2. Integrasi Data (Data Integration) Integrasi data merupakan proses kombinasi beberapa sumber data ke dalam database. Pada tahap ini dilakukan penggabungan data dari berbagai sumber untuk dibentuk penyimpanan data yang koheren. 3. Seleksi Data (Data Selection) Seleksi data merupakan pemilihan data yang digunakan untuk proses data mining. Data hasil seleksi yang akan digunakan untuk proses data mining, disimpan suatu berkas dan terpisah dari basis data operasional. 4. Transformasi Data (Data Transformation) Transformasi data merupakan proses mentransformasikan dan mengkonsolidasikan data yang digunakan untuk proses mining. Pada tahap ini dilakukan pengubahan format data menjadi format yang sesuai dengan teknik data mining yang digunakan. 5. Penambangan Data (Data Mining) Penambangan data merupakan proses utama mencari pengetahuan dari informasi tersembunyi. Penambangan data adalah proses mencari pola 15 atau informasi menarik dalam data terpilih dengan menggunakan teknik atau metode tertentu. Teknik dalam data mining sangat bervariasi, pemilihan teknik yang tepat sangat bergantung pada tujuan dan proses KDD secara keseluruhan. 6. Evaluasi Pola (Pattern Evaluation) Evaluasi pola ialah proses mengidentifikasi kebenaran pola yang telah didapat. Pada tahap ini pola yang telah didapat dari proses data mining dievaluasi apakah pola yang ditemukan bertentangan dengan fakta atau hipotesis yang ada sebelumnya. 7. Representasi Pengetahuan (Knowledge Presentation) Representasi pengetahuan merupakan visualisasi dan presentasi pengetahuan yang telah didapat kepada pengguna. Pada tahap terakhir ini disajikan pengetahuan dan metode yang digunakan untuk memperoleh pengetahuan yang dapat dipahami oleh pengguna atau semua orang. Data mining mempunyai beberapa metode yang dilakukan pengguna untuk meningkatkan proses mining supaya lebih efektif. Oleh karena itu, data mining dibagi menjadi beberapa kelompok berdasarkan metodenya, yaitu (Larose, 2005: 11): 1. Deskripsi Deskripsi digunakan untuk memberikan gambaran secara ringkas berupa pola dan tren bagi data yang jumlahnya sangat besar dan jenisnya beragam. Metode dalam data mining yang dapat digunakan untuk deskripsi contohnya neural network dan exploratory data analysis. 16 2. Klasifikasi Pada klasifikasi terdapat variabel target yang berupa nilai kategori. Contoh dari klasifikasi adalah penggolongan pendapatan masyarakat ke dalam tiga kelompok, yaitu pendapatan tinggi, pendapatan sedang, dan pendapatan rendah. Algoritma klasifikasi yang biasa digunakan adalah Naïve Bayes, K-Nearest Neighbor, dan C4.5. 3. Estimasi Estimasi mirip dengan klasifikasi namun variabel target pada proses estimasi lebih condong ke arah numerik daripada ke arah kategori. Model dibangun menggunakan record lengkap yang menyediakan nilai dari variabel target sebagai nilai prediksi, kemudian nilai estimasi dari variabel target dibuat berdasarkan pada nilai prediksi. Contoh algoritma estimasi adalah linear regression dan neural network. 4. Prediksi Prediksi hampir sama dengan klasifikasi dan estimasi, namun pada prediksi data yang digunakan adalah data runtun waktu (data time series) dan nilai pada hasil akhir digunakan untuk beberapa waktu mendatang. Contoh prediksi dalam bisnis dan penelitian adalah prediksi harga beras dalam tiga bulan kedepan. 5. Pengelompokan Pengelompokan data atau pembentukan data ke dalam jenis yang sama. Pengelompokan tidak untuk mengklasifikasi, mengestimasi, atau memprediksi nilai, tetapi membagi seluruh data menjadi kelompok- 17 kelompok yang relatif sama (homogen). Perbedaan algoritma pengelompokan dengan algoritma klasifikasi adalah pengelompokan tidak memiliki target/ class/ label. Contoh algoritma pengelompokan adalah KMeans dan Fuzzy C-Means. 6. Asosiasi Asosiasi digunakan untuk menemukan atribut yang muncul dalam waktu yang bersamaan dan untuk mencari hubungan antara dua atau lebih data dalam sekumpulan data. Contoh penggunaan aturan asosiasi adalah analisis kemungkinan seorang pelanggan membeli roti dan susu dalam waktu yang bersamaan di suatu pasar swalayan. Contoh algoritma aturan asosiasi yang sering digunakan adalah Apriori dan FP-Growth. D. Klasifikasi Klasifikasi adalah proses penemuan model (atau fungsi) yang membedakan kelas data atau konsep yang bertujuan agar dapat digunakan untuk memprediksi kelas dari objek yang label kelasnya tidak diketahui. Model ditemukan berdasarkan analisis data training (objek data yang kelasnya diketahui) (Han, et al, 2006: 24). Algoritma-algoritma yang sering digunakan untuk proses klasifikasi sangat banyak, yaitu k-nearest neighbor, rough set, algoritma genetika, metode rule based, C4.5, naive bayes, analisis statistik, memory based reasoning, dan support vector machines (SVM). Klasifikasi data terdiri dari 2 langkah proses. Pertama adalah learning (fase training), dimana algoritma klasifikasi dibuat untuk menganalisa data training lalu direpresentasikan dalam bentuk aturan klasifikasi. Proses kedua adalah klasifikasi, 18 dimana data tes digunakan untuk memperkirakan akurasi dari aturan klasifikasi (Han, et al, 2006: 286). Proses klasifikasi didasarkan pada empat komponen (Gorunescu, 2011: 15): 1. Kelas Variabel dependen berupa kategori yang merepresentasikan “label” yang terdapat pada objek. Contohnya: risiko penyakit jantung, risiko kredit, dan jenis gempa. 2. Predictor Variabel independen yang direpresentasikan oleh karakteristik (atribut) data. Contohnya: merokok atau tidak, minum alkohol atau tidak, besar tekanan darah, jumlah tabungan, jumlah aset, jumlah gaji. 3. Training dataset Satu set data yang berisi nilai dari kedua komponen di atas yang digunakan untuk menentukan kelas yang cocok berdasarkan predictor. 4. Testing dataset Berisi data baru yang akan diklasifikasikan oleh model yang telah dibuat dan akurasi klasifikasi dievaluasi. Proses klasifikasi dapat dicontohkan seperti yang ditunjukkan pada Gambar 2.2. Gambar 2.2 poin (a) adalah proses pembelajaran dimana data training dianalisis menggunakan algoritma klasifikasi. Atribut keputusan kredit sebagai label kelas, dan model pembelajaran atau pengklasifikasian dipresentasikan dalam bentuk aturan klasifikasi (classification rule). Gambar 2.2 poin (b) adalah proses 19 klasifikasi. Proses klasifikasi digunakan untuk mengestimasi keakurasian dari classification rule yang dihasilkan. Apabila akurasi dapat diterima maka aturan yang diperoleh dapat digunakan pada klasifikasi data baru (Han, et al, 2006: 287). Gambar 2.2 Proses Klasifikasi (Han, et al, 2006: 287) 20 1. Pohon Keputusan (Decision Tree) Pohon keputusan merupakan salah satu metode klasifikasi yang menggunakan representasi struktur pohon (tree) dimana setiap simpul internal (internal node) merupakan sebuah atribut, setiap cabang merupakan nilai atribut, dan setiap simpul daun (leaf node) atau simpul terminal merupakan label class, serta simpul yang paling atas adalah simpul akar (root node) (Han, et al, 2006: 291). Simpul Akar Simpul Internal Simpul Daun Gambar 2.3 Bentuk Pohon Keputusan Berikut penjelasan mengenai 3 jenis simpul yang terdapat pada pohon keputusan: a. Simpul Akar Simpul akar merupakan simpul yang paling atas, pada simpul ini tidak mempunyai input dan bisa tidak mempunyai output atau mempunyai output lebih dari satu. b. Simpul Internal Simpul internal merupakan simpul percabangan dari simpul akar, pada simpul ini hanya ada satu input dan mempunyai minimal dua output. 21 c. Simpul Daun Simpul daun merupakan simpul terakhir, pada simpul ini hanya terdapat satu input dan tidak mempunyai output, simpul ini sering disebut simpul terminal serta merupakan suatu keputusan. Dalam kaitannya dengan sebuah basis data, himpunan data dapat berupa tabel, sedangkan sampel adalah record. Himpunan data dapat memiliki atribut yang dapat bertipe diskrit maupun kontinu. Ilustrasi dari pohon keputusan berdasarkan tipe atributnya dapat dijelaskan pada Gambar 2.4 (Han, et al, 2001). Gambar 2.4 Ilustrasi Model Pohon Keputusan Berdasarkan Tipe Atributnya Berdasarkan Gambar 2.4 jika atribut prediktor bertipe diskret (ππ ), maka cabang simpul dibuat untuk setiap nilai pada atribut diskrit tersebut (π£1 , π£2 , … π£π ). Sedangkan jika atribut prediktor bertipe kontinu atau numerik (ππ ), maka cabang simpul dibuat untuk dua buah nilai yaitu ππ ≤ π£π‘β dan ππ ≥ π£π‘β , dimana π£π‘β adalah nilai ambang dari ππ . Konsep dasar pohon keputusan ditunjukkan pada Gambar 2.5. 22 Algoritma: Pembentukan_Pohon_Keputusan, Pembentukan pohon keputusan dari tupel pelatih pada partisi data, π·. Masukan: ο§ Partisi data, π·, yang merupakan satu set data tupel pelatihan dan label kelas yang berkaitan; ο§ Daftar_atribut, kumpulan beberapa atribut; ο§ Metode_seleksi_atribut, sebuah prosedur untuk menentukan kriteria terbaik pemecahan data tupel ke dalam kelas masing-masing. Kriteria ini terdiri dari pemecahan_atribut dan kemungkinannya, baik pemecahan simpul atau pemecahan bagian. Hasil: pohon keputusan Metode: (1) Bentuk sebuah simpul π; (2) jika tupel di π· ada pada kelas yang sama, πΆ, maka kembali π sebagai simpul daun yang diberi label kelas πΆ; (3) (4) jika daftar_atribut kosong maka kembali π sebagai simpul yang diberi label dengan kelas terbanyak di (5) π·; // kelas terbanyak (6) berlaku metode_seleksi_atribut (π·, daftar_atribut) untuk menemukan pemecahan kriteria terbaik; (7) beri label π dengan kriteria_pemecahan; (8) jika pemecahan_atribut bernilai diskrit dan beberapa pemecahan diperbolehkan maka // tidak terbatas untuk pohon biner daftar_atribut ο¬ daftar_atribut – pemecahan_atribut; // hapus (9) pemecahan_atribut (10) Untuk setiap j dari pemecahan_kriteria kemudian π·π menjadi kumpulan data tupel di π· dengan hasil π; // (11) partisi (12) jika π·π kosong maka (13) Lampirkan sebuah simpul daun dengan label kelas terbanyak di π· untuk simpul π; (14) Untuk lainnya lampirkan simpul kembali dengan pembentukan _pohon_keputusan (π·π , daftar _atribut) pada π; berakhir untuk (15) kembali π; Gambar 2.5 Algoritma Dasar Pohon Keputusan 23 Berdasarkan Gambar 2.5, input algoritma dasar terdiri dari partisi data π·, daftar atribut (attribute list), dan metode seleksi atribut (attribute selection method). Proses untuk membangun sebuah pohon keputusan seperti yang ditunjukkan pada Gambar 2.5 di atas adalah sebagai berikut: 1. Pohon dimulai dengan simpul tunggal π yang merepresentasikan tupel training pada π· (langkah 1). 2. Jika semua tupel di π· berasal dari kelas yang sama, maka simpul π menjadi daun dan diberi label kelas tersebut (langkah 2 dan 3). Langkah 4 dan 5 merupakan kondisi akhir. Semua kondisi akhir dijelaskan pada akhir algoritma. 3. Jika tidak, maka metode seleksi atribut digunakan untuk memilih atribut split, yaitu atribut terbaik dalam memisahkan tupel ke dalam kelas masing-masing (langkah 6). Atribut tersebut menjadi atribut tes pada simpul π (langkah 7). 4. Terdapat dua kemungkinan yang dapat mempartisi π·. Apabila π΄ atribut split pada simpul π dan π΄ memiliki sejumlah π£ nilai yang berbeda {π1 , π2 , … ππ£ } maka pada data training dapat terjadi (langkah 8 dan 9): a. Jika π΄ memiliki nilai-nilai bersifat diskrit, maka sebuah cabang dibentuk untuk setiap nilai π΄. Nilai total cabang yang akan dibentuk sebanyak π£ cabang. Partisi π·π terdiri dari record yang terdapat pada π· yang memiliki nilai ππ untuk atribut π΄. Selanjutnya atribut π΄ dihapus dari daftar atribut. b. Jika π΄ memiliki nilai yang bersifat kontinu, maka hasil pengujian simpul π akan menghasilkan dua cabang. Kedua cabang tersebut adalah π΄ < split point dan π΄ ≥ split point. Split point merupakan keluaran metode seleksi atribut sebagai bagian dari kriteria untuk melakukan partisi. Selanjutnya π· 24 dipartisi, sehingga π·1 terdiri dari record dimana π΄ < split point dan π·2 adalah sisanya. 5. Cabang akan dibuat untuk setiap nilai pada atribut tes dan tupel pada data training akan dipartisi lagi (langkah 10 dan langkah 11). 6. Proses pembentukan ini menggunakan proses rekursif untuk membentuk pohon pada setiap data partisi (langkah 14). 7. Proses rekursif akan berhenti jika telah mencapai kondisi sebagai berikut: a. Semua tupel pada simpul berada di dalam satu kelas (langkah 2 dan 3). b. Tidak ada atribut lainnya yang dapat digunakan untuk mempartisi tupel lebih lanjut (langkah 4). Selanjutnya dalam hal ini, akan diterapkan jumlah terbanyak (langkah 5). Hal tersebut berarti mengubah sebuah simpul menjadi daun dan memberi label dengan kelas pada jumlah terbanyak. Sebagai alternatifnya, distribusi kelas pada simpul ini dapat disimpan. c. Tidak ada tupel yang digunakan untuk mencabang, suatu partisi π·π kosong (langkah 12). Selanjutnya dalam hal ini, sebuah daun dibuat dan diberi label dengan kelas yang memiliki kelas terbanyak di π· (langkah 13). 8. Kembali menghasilkan pohon keputusan (langkah 15) (Han, et al, 2012:331336; Neni Miswaningsih, 2015: 37-39). Pohon keputusan memiliki beberapa cara dalam menentukan ukuran data dalam bentuk pohon, salah satunya adalah dengan algoritma C4.5. Algoritma C4.5 menggunakan information gain sebagai penentu simpul akar, internal, dan daun. Misalkan π merupakan simpul partisi dari π·. Apabila terdapat nilai information gain tertinggi maka akan terpilih sebagai atribut pemisah untuk simpul 25 π. Perhitungan informasi yang dibutuhkan untuk mengklasifikasi pada tupel π· dinyatakan sebagai berikut: π πΌπππ(π·) = − ∑ ππ log 2 (ππ ) (2.1) π=1 dimana π merupakan banyaknya jenis kategori nilai pada atribut C, ππ = |πΆπ,π· | |π·| merupakan probabilitas dari tupel π· yang mempunyai kelas πΆπ . Info (π·) merupakan rata-rata dari informasi yang dibutuhkan untuk mengetahui label kelas dari tupel π·. πΌπππ (π·) juga sering dikenal sebagai entropy dari tupel π·. Sebagai ilustrasi diberikan Tabel 2.1. Tabel 2.1 Banyaknya Kelas pada Tupel π· Kelas πΆ1 ππΆ1 frekuensi πΆ2 ππΆ2 ππ π1 π2 − log 2(ππ ) −log 2 π1 −log 2 π2 −ππ log 2 (ππ ) − p1 log 2(π1 ) −π2 log 2 (π2 ) Apabila diberikan tupel π· dengan dua pengklasifikasian yaitu kelas πΆ1 , dan πΆ2 , dengan frekuensi ππΆ1 dan ππΆ2 serta ππ adalah proporsi dari setiap kelas, maka π1 = ππΆ 1 ππΆ 1 + ππΆ 2 untuk π2 analog dengan perhitungan π1. Perhitungan − log 2 ππ dilakukan untuk mentransformasi masing-masing proporsi kelas menjadi informasi dalam bentuk bit atau bilangan basis 2. Informasi tersebut dapat juga dipandang sebagai jumlah informasi yang dapat dikodekan menjadi satu atau nol. 26 Nilai −ππ log 2 ππ akan positif bila ππ lebih besar dari nol dan kurang dari satu. Ketika ππ = 1 maka nilai dari −ππ log 2 ππ adalah nol, sehingga nilai −ππ log 2 (ππ ) diantara bilangan positif atau nol pada data training. Nilai πΌπππ(π·) = − ∑π π=1 ππ log 2 (ππ ) adalah nol jika dan hanya jika semua data memiliki klasifikasi yang sama dimana probabilitasnya adalah satu. Sebagai contoh diberikan Tabel 2.2. Tabel 2.2 Contoh Perhitungan πΌπππ(π·) Kelas πΆ1 9 0,643 0,637 0,409 frekuensi ππ − log 2 (ππ ) −ππ log 2 (ππ ) πΆ2 5 0,357 1,485 0,531 Tabel 2.2 merupakan data penjualan komputer, dimana πΆ1 adalah membeli komputer dan πΆ2 adalah tidak membeli komputer. Berdasarkan Tabel 2.2 πΌπππ(π·) = 0,409 + 0,531 = 0,940, nilai πΌπππ(π·) ≠ 0, artinya data belum memiliki klasifikasi kelas yang sama, sehingga dibutuhkan perhitungan lanjutan untuk menemukan simpul akar dalam pembentukan pohon keputusan. Selanjutnya misalkan terdapat atribut π΄ yang memiliki π£ nilai yang berbeda {π1 , π2 , … ππ£ }. Atribut π΄ dapat digunakan untuk membagi π· ke dalam π£ partisi {π·1 , π·2 , … , π·π£ }, dimana π·π memuat tupel π· yang memiliki nilai ππ dari π΄. Sebagai ilustrasi perhitungan entropy, diberikan Tabel 2.3. Tabel 2.3 Kelas Tupel D Berdasarkan Partisi Atribut π΄ π΄ π1 π2 π3 Total Kelas πΆ1 π11 π21 π31 ππΆ1 πΆ2 π12 π22 π32 ππΆ2 27 Total ππ·1 ππ·2 ππ·3 ππ· Tabel 2.3 menunjukkan jumlah tupel π· dengan partisi atribut π΄ yang mempunyai nilai kategori π1 , π2 serta pengklasifikasian sebanyak dua kelas yaitu πΆ1 , πΆ2 . Dimana π11 , … , π32 merupakan jumlah sampel pada subset yang mempunyai nilai π1 , π2 yang berada pada kelas πΆ1 , πΆ2 kemudian ππ·1 , ππ·2 merupakan jumlah sampel yang mempunyai nilai π1 , π2 , dan ππΆ1 , ππΆ2 merupakan jumlah sampel kategori kelas πΆ1 , πΆ2 , maka nilai dari entropy atribut π΄ dapat dihitung sebagai berikut: πΈ(π΄) = + ππ·1 π11 π11 π12 π12 π13 π13 × (− log 2 − log 2 − log 2 ) ππ· ππ·1 ππ·1 ππ·1 ππ·1 ππ·1 ππ·1 ππ·2 π21 π21 π22 π22 π33 π23 × (− log 2 − log 2 − log 2 ) ππ· ππ·2 ππ·2 ππ·2 ππ·2 ππ·2 ππ·2 Rumus secara umum dalam mencari nilai entropy dari subset π΄ sebagai berikut: π£ πΌππππ΄ (π·) = πΈ(π΄) = ∑ |π·π | × πΌπππ (π·π ) π=1 |π·| (2.2) dimana πΈ(π΄) adalah entropy dari subset π΄, v merupakan banyaknya jenis kategori nilai pada subset π΄, |π·π | |π·| merupakan bobot dari subset π dan jumlah sampel pada subset yang mempunyai nilai ππ dari π΄, dibagi dengan jumlah tupel dari π·. Entropy dari subset π΄ merupakan informasi harapan yang dibutuhkan untuk mengklasifikasi suatu tupel dari π· berdasarkan partisi dari atribut π΄. Menurut Han, et al (2012: 337), nilai information gain dari atribut π΄ pada subset π· dapat dihitung dengan persamaan berikut: πΊπππ(π΄) = ππππ(π·) − πΈ(π΄) 28 (2.3) Information gain didefinisikan sebagai perbedaan diantara informasi asli yang dibutuhkan dengan jumlah informasi baru yang didapatkan dari partisi π΄. Atribut π΄ yang memiliki nilai information gain tertinggi dipilih sebagai pemisah atribut pada simpul π Proses untuk menghitung nilai πΈ(π΄) bergantung dari nilai suatu atribut. Jika ππ adalah atribut diskrit, maka tupel π· dibagi menjadi sub tupel π·1 … π·π , dimana π jumlah nilai pada atribut ππ dan π·π adalah sub tupel yang memiliki nilai atribut ππ . Jika ππ adalah atribut kontinu, maka sub tupel π· dibagi menjadi dua sub tupel π·π£1 dan π·π£2 dengan π·1 = {π£π |π£π ≤ π π} dan π·2 = {π£π |π£π > π π}, dimana π π merupakan sebuah nilai ambang (split point). Nilai split information digunakan pada pencarian nilai gain ratio untuk mengatasi bias terhadap atribut yang memiliki banyak nilai unik. Persamaan split information dan gain ratio dinyatakan sebagai berikut: π£ πππππ‘ πΌππππ΄ (π·) = − ∑ |π·π | |π·π | × πππ2 |π·| π=1 |π·| πΊπππ π ππ‘ππ (π΄) = πΊπππ(π΄) πππππ‘ πΌπππ (π΄) (2.4) (2.5) Apabila atribut tersebut memiliki nilai gain ratio terbesar maka atribut tersebut terpilih sebagai atribut split pada konstruksi pohon keputusan (Han, et al, 2012: 337-339). Sebagai contoh penerapan decision tree C4.5 dengan perhitungan manual pada sebuah kasus pelanggan AllElectronic. Tabel 2.4 merupakan data training dari database pelanggan AllElectronic atau disebut dengan partisi tupel π·. 29 Tabel 2.4 Keputusan Membeli Komputer RID age income student credit_rating 1 2 3 4 5 6 7 8 9 10 11 12 13 14 youth youth middle_aged senior senior senior middle_aged youth youth senior youth middle_aged middle_aged senior high high high medium low low low medium low medium medium medium high medium no no no no yes yes yes no yes yes yes no yes no fair excellent fair fair fair excellent excellent fair fair fair excellent excellent fair excellent Class_ buys_computer no no yes yes yes no yes no yes yes yes yes yes no Sumber: Han, et al, 2006: 299 Kasus yang tertera pada Tabel 2.4 akan dibuat pohon keputusan untuk menentukan membeli komputer atau tidak dengan melihat umur, pendapatan, status pelajar, dan peringkat kredit. Pertama menghitung informasi yang dibutuhkan untuk mengklasifikasikan partisi data π· menggunakan persamaan (2.1) dengan π = 1, 2 adalah banyaknya kategori nilai pada kelas membeli komputer. Tabel 2.5 merupakan total kasus pelanggan yang berada pada kelas yes dan no. Tabel 2.5 Kelas Membeli Komputer Class_buys_computer yes no 9 5 πΌπππ(π·) = − 9 9 5 5 log 2 ( ) − log 2 ( ) = 0,940 14 14 14 14 Selanjutnya menghitung informasi harapan yang dibutuhkan untuk klasifikasi data berdasarkan partisi dari setiap atribut. Sebagai contoh partisi pada 30 atribut age. Banyaknya data yang berada dalam kelas yes atau no berdasarkan atribut age dapat dilihat pada Tabel 2.6. Tabel 2.6 Kelas Membeli Komputer Berdasarkan Partisi Atribut Age age youth middle_aged senior Class_buys_computer yes no 2 3 4 0 3 2 Digunakan persamaan (2.2) untuk menghitung informasi harapan yang dibutuhkan untuk klasifikasi data berdasarkan partisi dari atribut age dengan π adalah banyaknya kategori pada atribut age. πΌππππππ (π·) = 5 2 2 3 3 4 4 4 0 0 5 × (− log 2 − log 2 ) + × (− log 2 − log 2 ) + 14 5 5 5 5 14 4 4 4 4 14 3 3 2 2 × ( log 2 − log 2 ) = 0,694 5 5 5 5 Oleh karena itu didapatkan information gain yang dihitung menggunakan persamaan (2.3). πΊπππ(πππ) = πΌπππ(π·) − πΌππππππ (π·) = 0,940 − 0,694 = 0,246 Pergitungan gain ratio atribut age dapat dihitung menggunakan persamaan (2.5) namun terlebih dahulu perlu dihitung nilai split information menggunakan persamaan (2.4) dengan π adalah banyaknya jenis kategori nilai pada atribut age. πππππ‘πΌππππππ (π·) = − 5 5 4 4 5 5 × log 2 ( ) − × log 2 ( ) − × log 2 ( ) = 1,577 14 14 14 14 14 14 πΊππππ ππ‘ππ(πππ) = 31 0,246 = 0,1559 1,577 Setelah perhitungan gain ratio dari setiap atribut maka akan dipilih nilai yang terbesar sebagai atribut yang menjadi simpul akar dari pohon keputusan dan nilai dari atribut tersebut menjadi cabang. Perhitungan lanjutan yang analog dengan perhitungan simpul akar perlu dilakukan apabila setiap cabang belum menunjukkan keputusan akhir. Pada saat pembangunan pohon keputusan, akan banyak ditemukan adanya cabang yang noise atau outlier pada data training. Pemangkasan pohon dapat dilakukan untuk menghapus cabang-cabang tersebut sehingga dapat mempercepat proses klasifikasi. Pohon yang dipangkas akan menjadi lebih kecil dan lebih mudah dipahami. Pemangkasan pohon dilakukan selain untuk pengurangan ukuran pohon, juga bertujuan untuk mengurangi tingkat kesalahan klasifikasi pada kasus baru. Contoh pemangkasan pohon keputusan ditunjukkan Gambar 2.6 dan Gambar 2.7. Gambar 2.6 Pohon Keputusan Sebelum Pemangkasan (Han, et al, 2006:305) Gambar 2.7 Pohon Keputusan Sesudah Pemangkasan (Han, et al, 2006: 305) 32 Setelah pemangkasan pohon, kemudian dilakukan pembentukan aturan keputusan, yaitu membuat aturan keputusan dari pohon yang telah dibentuk. Aturan tersebut dapat dalam bentuk if-then diturunkan dari pohon keputusan dengan melakukan penelusuran dari akar sampai ke daun. Setiap simpul dan percabangan akan diberikan if, sedangkan nilai pada daun akan ditulis then. Setelah semua aturan dibuat, maka aturan dapat disederhanakan (digabungkan). 2. Naïve Bayes Sebelum membahas mengenai naïve bayes, perlunya pengetahuan tentang peluang bersyarat. Peluang bersyarat adalah peluang terjadinya kejadian π bila diketahui bahwa suatu kejadian π» telah terjadi. Peluang bersyarat dilambangkan denagn π(π|π») dibaca “peluang π bila π» terjadi”. Persamaan untuk peluang bersyarat sebagai berikut (Walpole, 1995: 97-98). π(π|π») = π(π ∩ π») π(π») ππππ π(π΄) > 0 (2.6) Sama halnya dengan peluang terjadinya kejadian π» bila diketahui bahwa suatu kejadian π telah terjadi. π(π»|π) = π(π ∩ π») π(π) ππππ π(π») > 0 (2.7) Dengan mengkombinasikan persamaan (2.6) dan (2.7) maka diperoleh π(π»|π)π(π) = π(π ∩ π») = π(π|π»)π(π») sehingga persamaan (2.7) menjadi: (π»|π) = π(π»|π) = π(π ∩ π») π(π) π(π|π»)π(π») π(π) 33 Teorema Bayes memprediksi peluang di masa depan berdasarkan pengalaman di masa sebelumnya. Pada teorema Bayes, π dijabarkan oleh kumpulan π atribut dengan π» adalah beberapa hipotesis, sehingga data π termasuk sebuah kelas πΆ (Han, et al, 2012: 350). Persamaan dari teorema Bayes adalah π(π»|π) = π(π|π»)π(π») π(π) (2.8) Keterangan : π : Data dengan kelas yang belum diketahui π» : Hipotesis data π merupakan suatu kelas khusus π(π»|π) : Probabilitas hipotesis π» berdasarkan kondisi π (posterior probability) π(π») : Probabilitas hipotesis π» (prior probability) π(π|π») : Probabilitas π berdasarkan kondisi pada hipotesis π» π(π) : Probabilitas π Naïve Bayes adalah pengklasifikasian statistik yang dapat digunakan untuk memprediksi probabilitas keanggotaan suatu class. Bayes merupakan teknik berbasis probabilistik sederhana yang berdasar pada penerapan teorema Bayes dengan asumsi independensi yang kuat. Dengan kata lain, dalam naïve bayes, model yang digunakan adalah “model fitur independen” (Eko Prasetyo, 2012: 59). Klasifikasi naïve bayes yang mengacu pada teorema Bayes di atas mempunyai persamaan sebagai berikut π(πΆπ |π) = π(π|πΆπ )π(πΆπ ) π(π) 34 (2.9) Keterangan : π(πΆπ |π) : Probabilitas hipotesis πΆπ jika diberikan fakta atau record π (posterior probability) π(π|πΆπ ) : Nilai parameter yang memberikan kemungkinan yang paling besar (likelihood) π(πΆπ ) : Probabilitas kelas πΆπ (Prior probability) π(π) : Probabilitas π Menurut Han, et al (2012: 351) proses dari pengklasifikasian naïve bayes adalah sebagai berikut: a. Variabel π· adalah kumpulan dari data dan label yang terkait dengan class. Setiap data diwakili oleh vektor atribut π-dimensi, π = (π₯1 , π₯2 , … , π₯π ) dengan π dibuat dari data π atribut, berturut-turut, π΄1 , π΄2 , … , π΄π . b. Misalkan terdapat π class, πΆ1 , πΆ2 , … , πΆπ . Diberikan sebuah data π, kemudian pengklasifikasian akan memprediksi π ke dalam kelompok yang memiliki probabilitas posterior tertinggi berdasarkan kondisi π. Artinya klasifikasi naïve bayes memprediksi bahwa π termasuk class πΆπ jika dan hanya jika: π(πΆπ |π) > π(πΆπ |π) untuk 1 ≤ π ≤ π, π ≠ π (2.10) Maka nilai π(πΆπ |π) harus lebih dari π(πΆπ |π) supaya diperoleh hasil akhir π(πΆπ |π). c. Ketika π(π) konstan untuk semua class maka hanya π(π|πΆπ )π(πΆπ ) yang dihitung. Jika probabilitas class prior sebelumnya tidak diketahui, maka diasumsikan bahwa class-nya sama, yaitu π(πΆ1 ) = π(πΆ2 ) = β― = π(πΆπ ), 35 untuk menghitung π(π|πΆπ ) dan π(π|πΆπ )π(πΆπ ). Perhatikan bahwa probabilitas class prior dapat diperkirakan oleh π(πΆπ ) = (|πΆπ,π· |) |π·| (2.11) dimana |πΆπ,π· | adalah jumlah data training dari kelas πΆπ dan π· adalah jumlah total data training yang digunakan. d. Apabila diberikan kumpulan data yang mempunyai banyak atribut, maka perhitungan π(π|πΆπ ) dengan penjabaran lebih lanjut rumus Bayes tersebut yaitu menjabarkan π(π₯1 , . . . , π₯π |πΆπ ) menggunakan aturan perkalian, menjadi sebagai berikut (Samuel Natalius: 2010): π(π₯1 , … , π₯π |πΆπ ) = π(π₯1 |πΆπ )π(π₯2 , … , π₯π |πΆπ , π₯1 ) = π(π₯1 |πΆπ )π(π₯2 |πΆπ , π₯1 )π(π₯3 , … , π₯π |πΆπ , π₯1 , π₯2 ) π(π₯1 , … , π₯π |πΆπ ) = π(π₯1 |πΆπ )π(π₯2 |πΆπ , π₯1 ) … π(π₯π |πΆπ , π₯1 , π₯2 , … , π₯π−1 ) Dapat dilihat bahwa hasil penjabaran tersebut menyebabkan semakin banyak dan semakin kompleksnya faktor-faktor syarat yang mempengaruhi nilai probabilitas, yang hampir mustahil untuk dianalisa satu-persatu. Akibatnya, perhitungan tersebut menjadi sulit untuk dilakukan. Oleh karena itu digunakan asumsi independensi yang sangat tinggi (naïve), bahwa masing-masing petunjuk (π₯1 , π₯2 , … , π₯π ) saling bebas (independen) satu sama lain, maka berlaku suatu kesamaan sebagai berikut (Samuel Natalius: 2010): π(π₯π |π₯π ) = π(π₯π ∩ π₯π ) π(π₯π ) = π(π₯π )π(π₯π ) π(π₯π ) = π(π₯π ) untuk π ≠ π, sehingga π(π₯π |πΆ, π₯π ) = π(π₯π |πΆπ ) 36 Disimpulkan bahwa asumsi independensi naïve tersebut membuat syarat peluang menjadi sederhana, sehingga perhitungan menjadi mungkin untuk dilakukan. Selanjutnya, penjabaran π(π₯1 , . . . , π₯π |πΆπ ) dapat disederhanakan menjadi seperti berikut: π π(π|πΆπ ) = ∏ π(π₯π |πΆπ ) = π(π₯1 |πΆπ ) × π(π₯2 |πΆπ ) × … × π(π₯π |πΆπ ) (2.12) π=1 Perhitungan π(π|πΆπ ) pada setiap atribut mengikuti hal-hal berikut: 1) jika π΄π adalah kategori, maka π(π₯π |πΆπ ) adalah jumlah data dari kelas πΆπ di π· yang memiliki nilai π₯π untuk atribut π΄π dibagi dengan |πΆπ,π· | yaitu jumlah data dari kelas πΆπ di π·, 2) jika π΄π adalah numerik, biasanya diasumsikan memiliki distribusi Gauss dengan rata-rata π dan standar deviasi π, didefinisikan oleh: (π₯−π)2 2π2 (2.13) π(π₯π |πΆπ ) = π(π₯π , ππΆπ , ππΆπ ) (2.14) π(π₯, π, π) = 1 √2ππ π − sehingga diperoleh: Setelah itu akan dihitung ππΆπ dan ππΆπ yang merupakan rata-rata dan standar deviasi masing-masing nilai atribut π΄π untuk tupel training kelas πΆπ . e. π(π|πΆπ )π(πΆπ ) dievaluasi pada setiap kelas πΆπ untuk memprediksi pengklasifikasian label kelas data π dengan menggunakan π(π|πΆπ )π(πΆπ ) > π(π|πΆπ )π(πΆπ ) untuk 1 ≤ π ≤ π, π ≠ π (2.15) label kelas untuk data π yang diprediksi adalah kelas πΆπ jika nilai π(π|πΆπ )π(πΆπ ) lebih dari nilai π(π|πΆπ )π(πΆπ ). 37 E. Pengujian dan Evaluasi Model Model yang didapatkan dari kedua metode decision tree C4.5 dan naïve byes kemudian dilakukan pengujian menggunakan k-fold cross validation. Crossvalidation adalah bentuk sederhana dari teknik statistik. Jumlah fold standar untuk memprediksi tingkat error dari data adalah dengan menggunakan 10-fold cross validation (Witten, et al, 2011: 153). Data yang digunakan dibagi secara acak ke dalam k subset yaitu π·1 , π·2 , … , π·π dengan ukuran yang sama. Dataset akan dibagi menjadi data training dan data testing. Proses training dan testing dilakukan sebanyak k kali secara berulang-ulang. Pada iterasi ke-i, partisi π·π disajikan sebagai data testing dan partisi sisanya digunakan secara bersamaan dan berurutan sebagai data training. Iterasi kedua, subset π·1 , π·2 , … , π·π akan dites pada π·2 , dan selanjutnya hingga π·π (Han, et al, 2012: 364). Gambar 2.8 berikut adalah contoh ilustrasi 4-fold cross validation. Gambar 2.8 Ilustrasi 4-Fold Cross Validation Berdasarkan Gambar 2.8 ditunjukkan bahwa nilai fold yang digunakan adalah 4-fold cross validation. Berikut diberikan langkah-langkah pengujian data dengan 4-fold cross validation. 38 a. Dataset yang digunakan dibagi menjadi 4 bagian, yaitu π·1 , π·2 , π·3 , dan π·4 . π·π‘ , π‘ = (1, 2, 3, 4) digunakan sebagai data testing dan dataset lainnya sebagai data training. b. Tingkat akurasi dihitung pada setiap iterasi ( iterasi-1, iterasi-2, iterasi-3, iterasi-4), kemudian dihitung rata-rata tingkat akurasi dari seluruh iterasi untuk mendapatkan tingkat akurasi data keseluruhan. Evaluasi hasil klasifikasi dilakukan dengan metode confusion matrix. Confusion matrix adalah tool yang digunakan sebagai evaluasi model klasifikasi untuk memperkirakan objek yang benar atau salah. Sebuah matrix dari prediksi yang akan dibandingkan dengan kelas sebenarnya atau dengan kata lain berisi informasi nilai sebenarnya dan prediksi pada klasifikasi (Gorunescu, 2011: 319). Tabel 2.7 Tabel Confusion Matrix Dua Kelas Clasification Predicted class Class=Yes Class=No Class=Yes a (true positive) b (false negative) Class=No c (false positive) d (true negative) Pada tabel confusion matrix di atas, true positive (TP) adalah jumlah record positif yang diklasifikasikan sebagai positif, false positive (FP) adalah jumlah record negatif yang diklasifikasikan sebagai positif, false negatives (FN) adalah jumlah record positif yang diklasifikasikan sebagai negatif, true negatives (TN) adalah jumlah record negatif yang diklasifikasikan sebagai negatif. Setelah data uji diklasifikasikan maka akan didapatkan confusion matrix sehingga dapat dihitung jumlah sensitivitas, spesifisitas, dan akurasi (Henny Lediyana, 2013: 69). 39 Sensitivitas adalah proporsi dari class=yes yang teridentifikasi dengan benar. Spesifisitas adalah proporsi dari class=no yang teridentifikasi dengan benar. Contohnya dalam klasifikasi pelanggan komputer dimana class=yes adalah pelanggan yang membeli computer sedangkan class=no adalah pelanggan yang tidak membeli komputer. Dihasilkan sensitivitas sebesar 95%, artinya ketika dilakukan uji klasifikasi pada pelanggan yang membeli, maka pelanggan tersebut berpeluang 95% dinyatakan positive (membeli komputer). Apabila dihasilkan spesifisitas sebesar 85%, artinya ketika dilakukan uji klasifikasi pada pelanggan yang tidak membeli, maka pelanggan tersebut berpeluang 95% dinyatakan negative (tidak membeli). Rumus untuk menghitung akurasi, spesifisitas, dan sensitivitas pada confusion matrix adalah sebagai berikut (Gorunescu, 2011: 319) π΄ππ’πππ π = ππ + ππ π+π = ππ + ππ + πΉπ + πΉπ π + π + π + π (2.16) ππππ ππ‘ππ£ππ‘ππ = ππ π = ππ + πΉπ π + π (2.17) ππππ ππππ ππ‘ππ = ππ π = ππ + πΉπ π + π (2.18) F. Waikato Environment for Knowledge (WEKA) The Waikato Environment for Knowledge Analysis (WEKA) adalah sebuah sistem data mining open source yang berbasis java. Sistem ini dikembangkan oleh Universitas Waikato di Selandia Baru dan merupakan perangkat lunak free yang tersedia di bawah GNU (General Public License). WEKA menyediakan dukungan yang luas untuk seluruh proses data mining mulai dari menyiapkan data masukkan, evaluasi pembelajaran, skema statistik, visualisasi data input dan hasil 40 pembelajaran. Metode atau teknik yang digunakan pada WEKA adalah Predictive dan Descriptive karena sistem ini mendukung teknik-teknik data preprocessing, clustering, classification, regression, visualization, dan feature Reduction. (Witten, et all, 2011: 403-404 ). Gambar 2.9 Tampilan Awal GUI WEKA WEKA mulai dikembangkan sejak tahun 1994 dan telah menjadi software data mining open source yang paling popular. WEKA mempunyai kelebihan seperti mempunyai banyak algoritma data mining dan machine learning, kemudahan dalam penggunaannya, selalu up-to-date dengan algoritma-algoritma yang baru. Software WEKA tidak hanya digunakan untuk akademik saja namun cukup banyak dipakai oleh perusahaan untuk meramalkan bisnis dari suatu perusahaan. WEKA mendukung beberapa format file untuk inputnya, yaitu: 1. Comma Separated Values (CSV): Merupakan file teks dengan pemisah tanda koma (,) yang cukup umum digunakan. File ini dapat dibuat dengan menggunakan Microsoft Excel atau membuat sendiri dengan menggunakan notepad. 41 2. Format C45: Merupakan format file yang dapat diakses dengan menggunakan aplikasi WEKA. 3. Attribute-Relation File Format (ARFF): Merupakan tipe file teks yang berisi berbagai instance data yang berhubungan dengan suatu set atribut data yang dideskripsikan serta di dalam file tersebut. 4. SQL Server/ MySql Server: Dapat mengakses database dengan menggunakan SQL Server/MySql Server. Beberapa menu dalam tampilan WEKA, diantaranya yaitu 1. Explorer, menu ini memberikan akses untuk semua fasilitas yang menggunakan pilihan menu dan pengisian data. Pada menu ini terdapat enam sub-menu pada bagian atas window, sub-menu tersebut yaitu: a. Preprocess, proses pemilihan dataset yang akan diolah pemilihan filter, b. Classify, terdapat berbagai macam teknik klasifikasi dan evaluasinya yang digunakan untuk mengolah data, c. Cluster, terdapat berbagai macam teknik cluster yang dapat digunakan untuk mengolah data, d. Associate, terdapat berbagai macam teknik association rules yang dapat digunakan untuk mengolah data, e. Select Atribut, proses pemilihan aspek yang mempunyai hubungan paling relevan pada data, f. Visualize, proses menampilan berbagai plot dua dimensi yang dibentuk dari pengolahan data. 42 2. Experimenter, menu ini digunakan untuk mengatur percobaan dalam skala besar, dimulai dari running, penyelesaian, dan menganalisis data secara statistik. 3. Knowledge Flow, pada tampilan menu ini, pengguna memilih komponen WEKA dari toolbar untuk memproses dan menganalisis data serta memberikan alternatif pada menu Explorer untuk kondisi aliran data yang melewati sistem. Selain itu, Knowledge Flow juga berfungsi untuk memberikan model dan pengaturan untuk mengolahan data yang tidak bisa dilakukan oleh Explorer. 4. Simple CLI, menu yang menggunakan tampilan command-line. Menu ini menggunakan tampilan command-line untuk menjalankan class di weka.jar, dimana langkah pertama variabel Classpath dijelaskan di file Readme. Pada sub-menu klsifikasi WEKA terdapat test options yang digunakan untuk menguji kinerja model klasifikasi. Ada empat model tes yaitu: 1. Use training set Pengetesan dilakukan dengan menggunakan data training itu sendiri. Akurasi akan sangat tinggi, tetapi tidak memberikan estimasi akurasi yang sebenarnya terhadap data yang lain (data yang tidak dipakai untuk training). 2. Supplied test set Pengetesan dilakukan dengan menggunakan data lain (file training dan testing tersedia secara terpisah). Dengan menggunakan option inilah bisa dilakukan prediksi pada data tes. 3. Cross–validation 43 Pada cross-validation, akan ada pilihan banyaknya fold yang akan digunakan. Nilai default-nya yaitu 10. 4. Percentage split Hasil klasifikasi akan dites menggunakan k% dari data tersebut, dimana k adalah proporsi dari dataset yang digunakan untuk data training. Persentase di kolom adalah bagian dari data yang dipakai sebagai training set. Pada option ini data training dan testing terdapat dalam satu file. G. Penelitian yang Relevan Penelitian tentang data mining dengan menggunakan berbagai algoritma pada analisis bidang keuangan telah banyak dilakukan khususnya untuk analisis klasifikasi kredit. Beberapa diantaranya yang mendukung penelitian ini dengan variabel dan metode penelitian yang berkaitan. Penelitian yang dilakukan oleh Yogi Yusuf, dkk dalam jurnal “Evaluasi Pemohon Kredit Mobil di PT X dengan menggunakan Teknik Data Mining Decision Tree”. Penelitian ini menggunakan model credit scoring dengan algoritma C5.0 kredit mobil dengan teknik decision tree dan bantuan software Celementine. Atribut yang digunakan ada 8 yaitu penghasilan, cicilan per bulan, uang muka, jumlah periode pinjaman, rekening tabungan, umur, rekening tagihan telepon, rekening tagihan listrik, dan atribut label kelas. Jumlah sampel yang digunakan sebanyak 750 record. Data dibagi menjadi 60% sebagai data training dan 40% sebagai data testing. Dari penelitian tersebut dapat diketahui bahwa terdapat 148 record (79,57%) yang memiliki hasil validasi yang benar dari 186 sampel. Sedangkan untuk hasil validasi yang kurang tepat terdapat 20,43 % dimana terdapat 38 record 44 yang memiliki perbedaan antara hasil prediksi dan aktual. Hasil prediksi juga menunjukkan bahwa sebesar 19,4 % yang semula diprediksi memiliki status kredit lancar ternyata memiliki status kredit macet. Tingkat akurasi keseluruhan dari model yang dibangun sebesar 79,57%. Penelitian yang dilakukan oleh Claudia Clarentia Ciptohartono dalam jurnal skripsi “Algoritma Klasifikasi Naïve Bayes untuk Menilai Kelayakan Kredit”. Penelitian ini menggunakan algoritma naïve bayes dan software bantu Rapid Miner untuk menentukan nilai kelayakan kredit konsumen dari perusahaan BCA Finance Jakarta 2013. Data awal penelitian berjumlah 682 data dan 20 atribut, setelah tahap preprocessing menjadi 682 data dan 16 atribut. Pada penelitian ini digunakan metode cross validation untuk mengukur kinerja algoritma yang digunakan, diketahui nilai akurasi sebelum preprocessing sebesar 85,57% dan setelah preprocessing sebesar 92,53% . Penelitian yang dilakukan oleh Rina Fiati dalam jurnal “Model Klasifikasi Kelayakan Kredit Koperasi Karyawan Berbasis Decision Tree”. Pada penelitian ini menggunakan algoritma decision tree dan bantuan software RapidMiner. Atribut yang digunakan ada 6 yaitu nomor anggota, bagian, golongan, masa keanggotaan, status marital, dan status pinjaman. Jumlah data yang digunakan ada 584 record, perhitungan manual nilai gain menggunakan data sampel yaitu 10 record. Tingkat akurasi decision tree untuk data dari koperasi karyawan PT Nojorono Tobacco International sebesar 92,28%. Berdasakan model klasifikasi yang telah diperoleh pada penelitian ini, penentuan kelayakan kredit koperasi karyawan adalah dengan memperhatikan atribut masa keanggotaan, status marital dan nomor anggota. 45