penerapan metode case based reasoning untuk...
TRANSCRIPT
PENERAPAN METODE CASE–BASED REASONING UNTUK
PREDIKSI DATA NASABAH YANG BERPOTENSI
MEMBUKA SIMPANAN DEPOSITO
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh :
Sinta Septiawanti
14 5314 029
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2018
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
IMPLEMENTATION OF CASE–BASED REASONING
METHOD FOR A POTENTIAL PREDICTION DATA
CUSTOMER TO OPEN DEPOSITS
THESIS
Present as Partial Fulfillment of the Requirement
to Obtain the Sarjana Komputer Degree
in Informatics Engineering Study Program
By :
Sinta Septiawanti
14 5314 029
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2018
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN
“ Beradalah di antara energi positif,
karena energi negatif cepat sekali menyebar.
Stop asking and start being grateful for everything. ”
Tugas akhir ini saya persembahkan kepada :
Allah Bapa, Putra, Roh Kudus
Bunda Maria
Papa dan Ibu yang terkasih
Keluarga tercinta
Teman–teman seperjuangan Teknik Informatika 2014.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
ABSTRAK
Simpanan deposito merupakan program bank yang disediakan bagi
masyarakat untuk berinvestasi. Untuk itu bank perlu menentukan strategi
pemasaran dan promosi yang efisien dan efektif, sangat penting bagi bank untuk
mengetahui nasabah yang berpotensi membuka simpanan deposito. Oleh karena
permasalahan tersebut, maka dilakukan penelitian untuk memprediksi nasabah
yang memiliki loyalitas dalam membuka simpanan deposito. Penelitian ini
menggunakan teknik data mining dengan menerapkan metode case–based
reasoning. Data yang digunakan pada penelitian ini adalah data publik pada
bagian pemasaran suatu bank di Portugal. Uji akurasi penelitian ini menggunakan
cross validation dan confusion matrix. Dalam penelitian ini dilakukan tiga kali
percobaan dengan memasukkan nilai k=3, k=5, dan k=7. Dari hasil percobaan,
didapatkan akurasi tertinggi sebesar 86,948% yaitu pada k=5. Dengan demikian
dapat disimpulkan bahwa metode case–based reasoning dapat diterapkan untuk
sistem dalam memprediksi nasabah yang berpotensi membuka simpanan deposito.
Kata kunci : prediksi nasabah, deposito, data mining, case–based reasoning.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRACT
Deposit is a bank program which is provided for people to invest. Therefore, bank
needs to decide the efficient and effective promotion and marketing strategy. It is
very significant for a bank to understand the potential client to open deposit.
Based on that concern, this research is done to predict the client who has a loyalty
to open deposit. This research used data mining technique with the
implementation of case–based reasoning method. The research’s data is taken
from public data in marketing department of one of the Portugal banks. The test of
the research accuracy used cross validation and confusion matrix. This research
used three times experiments with the following k value is k=3, k=5, and k=7. The
result of the experiment is the highest accuracy of 86,948% on k=5. In conclusion,
case–based reasoning method can be implemented for a system to predict the
potential client to open deposit.
Keyword : prediction of bank customer, deposit, data mining,
case–based reasoning.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPERLUAN KEPENTINGAN
AKADEMIS
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis haturkan kepada Tuhan Yang Maha Esa karena berkat
rahmat dan karunianya, penulis dapat menyelesaikan tugas akhir ini yang berjudul
“PENERAPAN METODE CASE–BASED REASONING UNTUK PREDIKSI
DATA NASABAH YANG BERPOTENSI MEMBUKA SIMPANAN
DEPOSITO”.
Adapun dalam proses pengerjaan tugas akhir ini terdapat dukungan, motivasi, dan
doa dari berbagai pihak yang membuat selesainya tugas akhir ini. Pada
kesempatan ini pula penulis akan mengucapkan terima kasih kepada :
1. Tuhan Yesus Kristus dan Bunda Maria atas berkat dan karunianya yang
telah memberikan kekuatan, bimbingan, keyakinan dan penyertaannya
kepada penulis.
2. Kedua orang tua penulis, Bapak Robertus Bellarminus Waliman dan Ibu
Fransisca Xaveria Lusia yang sangat memberikan doa restu, dukungan,
juga tak hentinya memberikan perhatian dan nasihat yang memotivasi
penulis.
3. Bapak Sudi Mungkasi, S. Si, M.Math.Sc., Ph.D. selaku Dekan Fakultas
Sains dan Teknologi.
4. Ibu Dr. Anastasia Rita Widiarti selaku Ketua Program Studi Teknik
Informatika.
5. Ibu Paulina Heruningsih Prima S.Si., M.Sc. selaku Dosen Pembimbing
Tugas Akhir yang telah mencurahkan pikiran dan memberikan waktu serta
membimbing penulis.
6. Romo Dr. Cyprianus Kuntoro Adi, S.J. sebagai selayaknya Dosen
Pembimbing Tugas Akhir kedua yang telah membantu penulis dalam
melakukan analisis penelitian ini.
7. Bapak Albertus Agung Hadhiatma, S.T., M.T selaku Dosen Pembimbing
Akademik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
HALAMAN PERSETUJUAN ............................................................................... iii
HALAMAN PENGESAHAN ................................................................................ iv
HALAMAN PERSEMBAHAN ............................................................................. v
ABSTRAK ............................................................................................................ vii
ABSTRACT ......................................................................................................... viii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPERLUAN KEPENTINGAN AKADEMIS ...................................... ix
KATA PENGANTAR ............................................................................................ x
DAFTAR ISI ......................................................................................................... xii
DAFTAR TABEL ................................................................................................ xvi
DAFTAR GAMBAR ........................................................................................... xix
DAFTAR RUMUS .............................................................................................. xxi
DAFTAR LAMPIRAN ....................................................................................... xxii
BAB I PENDAHULUAN ....................................................................................... 1
1.1. Latar Belakang................................................................................. 1
1.2. Rumusan Masalah ........................................................................... 3
1.3. Batasan Masalah .............................................................................. 3
1.4. Tujuan Penelitian ............................................................................. 4
1.5. Manfaat Penelitian ........................................................................... 4
BAB II LANDASAN TEORI ................................................................................. 5
2.1. Bank ................................................................................................. 5
2.2. Simpanan Deposito .......................................................................... 5
2.3. Pemasaran Langsung ....................................................................... 6
2.4. Penambangan Data .......................................................................... 6
2.4.1. Pengertian Penambangan Data ........................................................ 6
2.4.2. Proses Penambangan Data ............................................................... 6
2.4.3. Tahapan Penambangan Data ........................................................... 8
2.5. Case–Based Reasoning ................................................................... 9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.5.1. Siklus Case–Based Reasoning ...................................................... 10
2.5.2. Retrieval Case–Based Reasoning .................................................. 12
2.5.3. Reuse dan Revision Case–Based Reasoning ................................. 13
2.5.4. Retension Dalam Case–Based Reasoning ..................................... 14
2.5.5. Karakteristik Case–Based Reasoning ............................................ 14
2.5.6. Fungsi Case–Based Reasoning...................................................... 15
2.5.7. Keuntungan Case–Based Reasoning ............................................. 15
2.5.8. Bidang Aplikasi Case–Based Reasoning ...................................... 16
2.6. Algoritma K–Nearest Neighbor .................................................... 17
2.7. Cross Validation ............................................................................ 17
2.8. Confusion Matrix ........................................................................... 19
2.9. UML (Unified Modeling Language) ............................................. 20
2.9.1. Use Case Diagram ......................................................................... 20
2.9.2. Sequence Diagram ......................................................................... 21
2.9.3. Activity Diagram ............................................................................ 21
BAB III METODOLOGI PENELITIAN.............................................................. 23
3.1. Metodologi Penelitian ................................................................... 23
3.2. Bahan Riset atau Data ................................................................... 23
3.3. Peralatan Penelitian ....................................................................... 26
3.4. Tahap–tahap Penelitian ................................................................. 26
3.4.1. Pengumpulan Data......................................................................... 26
3.4.2. Knowledge Discovery in Database (KDD) ................................... 26
3.4.3. Desain Alat Uji .............................................................................. 43
3.4.4. Analisis Hasil dan Pembuatan Laporan ......................................... 45
BAB IV PERANCANGAN PERANGKAT LUNAK .......................................... 46
4.1. Perancangan Umum....................................................................... 46
4.1.1. Input ............................................................................................... 46
4.1.2. Proses ............................................................................................. 46
4.1.3. Output ............................................................................................ 47
4.2. Diagram Use Case ......................................................................... 48
4.2.1. Gambaran Umum Use Case .......................................................... 48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
4.2.2. Narasi Use Case ............................................................................ 49
4.3. Diagram Aktivitas ......................................................................... 49
4.4. Perancangan Struktur Data ............................................................ 49
4.5. Diagram Kelas Analisis ................................................................. 51
4.6. Diagram Sequence ......................................................................... 52
4.7. Diagram Kelas Desain ................................................................... 52
4.8. Algoritma per Method ................................................................... 53
4.9. Perancangan Antarmuka ................................................................ 53
4.9.1. Perancangan Halaman Home ......................................................... 53
4.9.2. Perancangan Halaman Preprocessing ........................................... 54
4.9.3. Perancangan Halaman Hasil Detail ............................................... 55
4.9.4. Perancangan Halaman Hasil .......................................................... 56
4.9.5. Perancangan Halaman Tentang ..................................................... 57
4.9.6. Perancangan Halaman Bantuan ..................................................... 58
BAB V IMPLEMENTASI DAN PENGUJIAN PERANGKAT LUNAK ........... 59
5.1. Implementasi Rancangan Perangkat Lunak .................................. 59
5.1.1. Implementasi Kelas Model ............................................................ 59
5.1.2. Implementasi Kelas View .............................................................. 59
5.1.3. Implementasi Kelas Control .......................................................... 74
5.2. Pengujian Perangkat Lunak ........................................................... 74
5.2.1. Pengujian Perangkat Lunak (Black Box) ....................................... 74
5.2.2. Pengujian Perbandingan Hasil Identifikasi Case–Based Reasoning
Secara Manual dengan Hasil Identifikasi Case–Based Reasoning
Menggunakan Perangkat Lunak .................................................... 76
BAB VI ANALISIS HASIL DAN PEMBAHASAN ........................................... 79
6.1. Dataset ........................................................................................... 79
6.2. Hasil Uji Akurasi Case–Based Reasoning .................................... 79
6.3. Analisis Hasil Uji Akurasi Case–Based Reasoning ...................... 82
Berikut ini adalah tabel untuk pengujian confusion matrix. .............................. 85
6.4. Kelebihan dan Kekurangan Perangkat Lunak ............................... 86
6.5.1. Kelebihan Perangkat Lunak .......................................................... 86
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
6.5.2. Kekurangan Perangkat Lunak ....................................................... 86
BAB VII PENUTUP ............................................................................................. 87
7.1. Kesimpulan .................................................................................... 87
7.2. Saran .............................................................................................. 87
DAFTAR PUSTAKA ........................................................................................... 89
LAMPIRAN .......................................................................................................... 92
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR TABEL
Tabel 2.1 Tabel Ilustrasi Uji Akurasi dengan 5–fold cross validation ... 18
Tabel 2.2 Tabel Confusion Matrix .......................................................... 19
Tabel 2.3 Simbol Use Case Diagram ..................................................... 20
Tabel 2.4 Simbol Sequence Diagram ..................................................... 21
Tabel 2.5 Simbol Activity Diagram ........................................................ 22
Tabel 3.1 Tabel Atribut Data Nasabah ................................................... 23
Tabel 3.2 Tabel Contoh Data Nasabah ................................................... 25
Tabel 3.3 Percobaan Seleksi Atribut Menggunakan Tools Weka ........... 34
Tabel 3.4 Hasil 11 Peringkat Atribut Teratas menggunakan
Information Gain .................................................................... 35
Tabel 3.5 Tabel Contoh Dataset Sebelum Data di Transformasi ........... 42
Tabel 3.6 Tabel Contoh Dataset Setelah Data di Transformasi ............. 42
Tabel 4.1 Gambaran Umum Use Case ................................................... 48
Tabel 4.2 Objek Data Nasabah ............................................................... 50
Tabel 4.3 Rincian Algoritma per–Method Kelas HomeControl.java ..... 103
Tabel 4.4 Rincian Algoritma per–Method Kelas
PreprocessControl.java .......................................................... 104
Tabel 4.5 Rincian Algoritma per–Method Kelas Hasil.java .................. l21
Tabel 4.6 Rincian Algoritma per–Method Kelas HasilDetail.java ........ l21
Tabel 4.7 Rincian Algoritma per–Method Kelas HasilSet.java ............. l22
Tabel 4.8 Rincian Algoritma per–Method Kelas Interval.java .............. l23
Tabel 4.9 Rincian Algoritma per–Method Kelas XLSFilter.java ........... l41
Tabel 4.10 Rincian Algoritma per–Method Kelas CBR.java ................... l42
Tabel 4.11 Rincian Algoritma per–Method Kelas HalamanHome.java .. l44
Tabel 4.12 Rincian Algoritma per–Method Kelas
HalamanPreprocess.java........................................................ l45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Tabel 4.13 Rincian Algoritma per–Method Kelas
TabelDataset_Adapter.java .................................................... l50
Tabel 4.14 Rincian Algoritma per–Method Kelas
TabelHasilDetail_Adapter.java .............................................. l55
Tabel 4.15 Rincian Algoritma per–Method Kelas
TabelHasilKesimpulan.java.................................................... l63
Tabel 4.16 Rincian Algoritma per–Method Kelas
TabelHasilKesimpulan_Adapter.java ..................................... l68
Tabel 4.17 Rincian Algoritma per–Method Kelas
TabelHasil_Adapter.java ........................................................ l73
Tabel 5.1 Implementasi Kelas Model ..................................................... 59
Tabel 5.2 Implementasi Kelas View ....................................................... 59
Tabel 5.3 Spesifikasi Detail kelas HalamanHome.java ......................... 60
Tabel 5.4 Spesifikasi Detail kelas Preprocessing.java ........................... 62
Tabel 5.5 Spesifikasi Detail kelas HalamanBantuan.java ..................... 66
Tabel 5.6 Spesifikasi Detail kelas HalamanTentang.java ...................... 70
Tabel 5.7 Implementasi Kelas Control ................................................... 74
Tabel 5.8 Rencana Pengujian Black Box. ............................................... 74
Tabel 5.9 Tabel Prosedur Pengujian dan Studi Kasus. ........................... 189
Tabel 5.10 Tabel Kedekatan Nilai Atribut Age. ....................................... 194
Tabel 5.11 Tabel Kedekatan Nilai Atribut Job. ........................................ 194
Tabel 5.12 Tabel Kedekatan Nilai Atribut Balance. ................................ 195
Tabel 5.13 Tabel Kedekatan Nilai Atribut Housing. ................................ 196
Tabel 5.14 Tabel Kedekatan Nilai Atribut Loan. ..................................... 196
Tabel 5.15 Tabel Kedekatan Nilai Atribut Contact. ................................. 196
Tabel 5.16 Tabel Kedekatan Nilai Atribut Poutcome. ............................. 196
Tabel 5.17 Tabel Kedekatan Nilai Atribut Month. ................................... 197
Tabel 5.18 Tabel Kedekatan Nilai Atribut Previous. ............................... 197
Tabel 5.19 Tabel Kedekatan Nilai Atribut Duration. ............................... 198
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
Tabel 5.20 Tabel Kedekatan Nilai Atribut Pdays. .................................... 199
Tabel 5.21 Tabel Kasus Lama. ................................................................. 201
Tabel 5.22 Tabel Kasus Baru. .................................................................. 201
Tabel 6.1 Hasil Uji Akurasi Metode Case–Based Reasoning (3–fold
cross validation) ..................................................................... 79
Tabel 6.2 Hasil Uji Akurasi Metode Case–Based Reasoning (5–fold
cross validation) ..................................................................... 80
Tabel 6.3 Hasil Uji Akurasi Metode Case–Based Reasoning (7–fold
cross validation) ..................................................................... 80
Tabel 6.4 Pengujian Akurasi Identifikasi Data Nasabah ........................ 84
Tabel 6.5 Confusion Matrix .................................................................... 85
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xix
DAFTAR GAMBAR
Gambar 2.1 Siklus Case–Based Reasoning ............................................... 10
Gambar 3.1 Percobaan I Seleksi Atribut Menggunakan Weka .................. 29
Gambar 3.2 Percobaan I Presentase Pengaruh Atribut............................... 29
Gambar 3.3 Percobaan II Seleksi Atribut Menggunakan Weka ................ 30
Gambar 3.4 Percobaan III Seleksi Atribut Menggunakan Weka ............... 31
Gambar 3.5 Percobaan III Presentase Pengaruh Atribut ............................ 31
Gambar 3.6 Percobaan IV Seleksi Atribut Menggunakan Weka ............... 32
Gambar 3.7 Percobaan IV Presentase Pengaruh Atribut ............................ 32
Gambar 3.8 Percobaan V Seleksi Atribut Menggunakan Weka ................ 33
Gambar 3.9 Percobaan V Presentase Pengaruh Atribut ............................. 33
Gambar 4.1 Flowchart Diagram ................................................................ 47
Gambar 4.2 Use Case Diagram .................................................................. 48
Gambar 4.3 Diagram Kelas Analisis .......................................................... 51
Gambar 4.4 Diagram Kelas Desain ............................................................ 52
Gambar 4.5 Rancangan Antarmuka Halaman Home ................................. 53
Gambar 4.6 Rancangan Antarmuka Halaman Preprocessing
(Kasus Lama).......................................................................... 54
Gambar 4.7 Rancangan Antarmuka Halaman Preprocessing
(Kasus Baru) ........................................................................... 54
Gambar 4.8 Rancangan Antarmuka Halaman Hasil Detail ........................ 57
Gambar 4.9 Rancangan Antarmuka Halaman Hasil .................................. 58
Gambar 4.10 Rancangan Antarmuka Halaman Tentang .............................. 59
Gambar 4.11 Rancangan Antarmuka Halaman Bantuan .............................. 60
Gambar 5.1 Implementasi Antarmuka kelas HalamanHome.java ............. 63
Gambar 5.2 Implementasi Antarmuka kelas Preprocessing.java
(Kasus Lama).......................................................................... 66
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xx
Gambar 5.3 Implementasi Antarmuka kelas HalamanBantuan.java
(Kasus Baru) ........................................................................... 67
Gambar 5.4 Implementasi Antarmuka Halaman Hasil .............................. 67
Gambar 5.5 Implementasi Antarmuka Halaman Hasil Detail .................... 68
Gambar 5.6 Implementasi Antarmuka kelas HalamanBantuan.java .......... 72
Gambar 5.7 Implementasi Antarmuka kelas HalamanTentang.java .......... 75
Gambar 5.8 Hasil Identifikasi Case–Based Reasoning .............................. 79
Gambar 5.9 Detail Hasil Identifikasi Case–Based Reasoning ................... 79
Gambar 6.1 Grafik Percobaan Uji Akurasi 3, 5, 7 - fold cross validation . 83
Gambar 6.2 Grafik Rata–rata Akurasi Cross Validation ........................... 84
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xxi
DAFTAR RUMUS
Rumus 2.1 Rumus Algoritma K–Nearest Neighbor ................................. 17
Rumus 2.2 Rumus Confusion Matrix ....................................................... 19
Rumus 3.1 Rumus Information Gain ........................................................ 27
Rumus 3.2 Rumus Information Gain ........................................................ 28
Rumus 3.3 Rumus Information Gain ........................................................ 28
Rumus 3.4 Rumus Jangkauan ................................................................... 39
Rumus 3.5 Rumus Jumlah Kelas Interval ................................................. 39
Rumus 3.6 Rumus Panjang Interval ......................................................... 40
Rumus 3.7 Rumus Bobot Normalisasi Proximity Measures .................... 186
Rumus 3.8 Rumus Jarak Kedekatan Atribut ............................................. 187
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xxii
DAFTAR LAMPIRAN
Lampiran 1 Narasi Use Case ................................................................... 96
Lampiran 2 Activity Diagram................................................................... 100
Lampiran 3 Sequence Diagram ................................................................ 103
Lampiran 4 Algoritma Per–Method ......................................................... l06
Lampiran 5 Source Code Program .......................................................... l81
Lampiran 6 Prosedur Pengujian dan Studi Kasus ................................... l89
Lampiran 7 Proses Perhitungan Manual .................................................. l92
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Hampir sebagian dari masyarakat masih menjadikan simpanan deposito
sebagai pilihan dalam berinvestasi namun dengan sedikit risiko. Berdasarkan
Hukum Perbankan Banco de Portugal, simpanan Deposito merupakan salah
satu program yang ditawarkan oleh bank, yang penarikannya hanya dapat
dilakukan pada waktu tertentu berdasarkan perjanjian nasabah dengan pihak
bank. Program deposito mempunyai keunggulan, dimana bunga yang
ditawarkan lebih tinggi daripada tabungan biasa. Semakin besar dan semakin
lama nasabah menyimpan dana dalam deposito, maka semakin besar bunga
yang ditawarkan.
Bank adalah badan usaha yang menghimpun dana dalam bentuk
simpanan dari masyarakat kemudian menyalurkannya kembali kepada
masyarakat dalam bentuk kredit atau lainnya yang bertujuan meningkatkan
taraf hidup. Setiap bank mempunyai data yang sangat besar, yang belum
disadari bahwa data–data tersebut dapat diolah dan dapat memberikan
informasi untuk membantu bank dalam menyelesaikan setiap permasalahan
yang dihadapi. Bank sebagai penghimpun dana harus mempertahankan
nasabah yang berloyalitas tinggi dalam simpanan deposito. Untuk itu, bank
membutuhkan strategi pemasaran yang dapat digunakan untuk mengolah data
dalam jumlah besar tersebut. Bank harus pintar dalam mengambil kesempatan
tersebut dengan melakukan promosi dalam strategi pemasaran yang efisien,
yaitu dengan melakukan pemasaran langsung. Salah satu cara yang dapat
digunakan sebelum pemasaran langsung yaitu memprediksi nasabah yang
berpotensi membuka simpanan deposito. Prediksi dapat dilakukan dengan
menerapkan teknik pengenalan pola seperti statistik dan matematika, yaitu
dengan mengolah data–data nasabah yang ada, kemudian diproses sehingga
menghasilkan informasi, menemukan hubungan yang berarti, mendapatkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
pola data, kemudian memeriksa sekumpulan besar data yang tersimpan pada
penyimpanan. Proses tersebut dinamakan Data Mining. (Prabowo, 2014)
Proses mengolah data dapat menghasilkan sebuah informasi yang
sangat penting dan berguna yang diperoleh dari gudang basis data. Proses
mining dianggap sangat membantu beberapa pihak dalam mengolah data
dengan jumlah yang besar. Peran data mining yaitu untuk klasifikasi,
prediksi, pengelompokan, estimasi, dan asosiasi. Masing–masing memiliki
algoritma atau cara tersendiri untuk melakukan proses data mining. Pada
perkembangannya, proses prediksi dan klasifikasi data menghasilkan
beberapa tujuan, salah satunya untuk memudahkan dalam mengambil
keputusan. Metode untuk memprediksi dan mengklasifikasi data salah
satunya adalah metode case–based reasoning.
Sejumlah penelitian yang terkait, seperti penelitian oleh Prabowo
(2014) yang menerapkan algoritma naive bayes classifier untuk penentu
nasabah deposito dengan atribut yang dapat dijadikan sebagai prediktor
meliputi faktor yang berasal dari data nasabah, antara lain: age, job, marital,
education, default, balance, housing, loan, contact, day, month,, duration,
compaign, pdays, previous, poutcome, Y/N. Dalam penelitiannya PSO
(Particle Swarm Optimization) digunakan dalam proses feature selection
atribut dengan pembobotan atribut untuk meningkatkan akurasi. Penelitian
lainnya yang juga terkait dengan topik yang diambil oleh penulis, seperti
penelitian oleh Imama dan Indriyanti (2013) yang menerapkan metode
penalaran berbasis kasus (case–based reasoning) untuk menganalisa
pemberian kredit pada lembaga pembiayaan menggunakan algoritma nearest
neighbor. Algoritma nearest neighbor digunakan karena penelitian tersebut
bertujuan untuk mengetahui jarak kedekatan diantara kasus lama dengan
kasus baru.
Berdasarkan uraian diatas, maka penulis tertarik melakukan penelitian
dengan menggunakan data dari bagian marketing sebuah bank di negara
Portugal, data tersebut didonasi pada tanggal 14 Februari 2012 oleh S.Moro,
P.Cortez dan P.Rita dengan jumlah 4521 record, 16 atribut dan 2 label kelas.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
Data tersebut adalah data public yang diperoleh dari UCI Repository Mechine
Learning. Dengan menerapkan data tersebut mengunakan metode case–based
reasoning yang diharapkan mampu mendapatkan pola prediksi yang akurat
untuk mengetahui nasabah yang berpotensi membuka simpanan deposito.
Penelitian ini berjudul “Penerapan Metode Case–Based Reasoning Untuk
Prediksi Data Nasabah Yang Berpotensi Membuka Simpanan Deposito”.
Hasil penelitian ini diharapkan dapat membantu memudahkan pihak bank
dalam memprediksi nasabah yang berpotensi melakukan simpanan deposito,
sehingga dapat membantu bagian marketing dalam melakukan strategi
pemasaran.
1.2. Rumusan Masalah
Dalam penelitian ini rumusan masalah yang akan diuraikan, diantaranya
yaitu:
1. Bagaimana menerapkan metode case–based reasoning dengan algoritma
nearest neighbor untuk memprediksi data nasabah yang berpotensi
membuka simpanan deposito?
2. Seberapa akurat penerapan metode case–based reasoning untuk
memprediksi nasabah yang berpotensi membuka simpanan deposito di
salah satu bank di Portugal?
1.3. Batasan Masalah
Agar penyusunan tugas akhir ini tidak keluar dari pokok batasan yang
dirumuskan, maka lingkup batasan masalah untuk penelitian ini yaitu :
1. Merancang model dengan metode case–based reasoning untuk
memprediksi data nasabah sebuah bank di Portugal.
2. Sistem yang dibangun berupa aplikasi dekstop untuk menguji seberapa
akurat prediksi data nasabah dari sebuah bank di Portugal dengan
algoritma nearest neighbor.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
3. Data yang di analisis adalah data generic, dengan menggunakan data dari
bagian marketing sebuah bank di Portugal, data sekunder tersebut
didonasi pada tanggal 14 Februari 2012 oleh S.Moro, P.Cortez dan P.Rita
dengan jumlah 4521 record, 16 atribut dan 2 label kelas, data ini
merupakan data public yang diperoleh dari UCI Repository Mechine
Learning.
4. Data yang digunakan mencakup data nasabah, yaitu: age, job, marital,
education, default, housing, loan, contact, month, day of week, duration,
campaign, pdays, previous, poutcome, Y/N.
1.4. Tujuan Penelitian
Tujuan dari usulan penelitian ini berdasarkan latar belakang dan
permasalahan yang ada, yaitu :
1. Menganalisa metode case–based reasoning untuk memprediksi data
nasabah yang berpotensi membuka simpanan deposito.
2. Mengetahui akurasi metode case–based reasoning dalam memprediksi
data nasabah yang berpotensi membuka simpanan deposito di salah satu
bank di Portugal.
1.5. Manfaat Penelitian
Kegunaan dalam penulisan dari penelitian ini, yaitu :
1. Menjelaskan mengenai penerapan metode case–based reasoning.
2. Menambah wawasan keilmuan yang berkaitan dengan data mining,
khususnya metode case–based reasoning.
3. Membantu pihak bank khususnya pada bagian marketing untuk
menentukan nasabah yang berpotensi untuk melakukan simpanan
deposito.
4. Memprediksi nasabah yang berpotensi melakukan simpanan deposito
yang dapat menjadi acuan pihak bank dalam melakukan strategi
pemasaran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
LANDASAN TEORI
2.1. Bank
Menurut Hoggson (1926), bank merupakan lembaga intermediasi
keuangan yang didirikan untuk menerima simpanan uang, meminjamkan
uang, dan menerbitkan promes atau yang dikenal sebagai banknote. Kata
bank berasal dari bahasa Italia “banca” berarti tempat penukaran uang.
Sedangkan menurut Undang–undang Negara Republik Indonesia Nomor 10
Tahun 1998 tanggal 10 November 1998 tentang perbankan, bank adalah
badan usaha yang menghimpun dana dari masyarakat dalam bentuk
simpanan, kemudian menyalurkannya kepada masyarakat dalam bentuk
kredit atau bentuk lainnya dalam rangka meningkatkan taraf hidup rakyat
banyak (Kasmir, 2000).
2.2. Simpanan Deposito
Deposito merupakan produk yang ditawarkan oleh bank kepada
masyarakat sejenis dengan jasa tabungan yang dijamin pemerintah melalui
Lembaga Penjamin Simpanan (LPS) dengan persyaratan tertentu. Deposito
juga berarti penyimpanan uang di bank dengan sistem penyetoran yang
penarikannya hanya dapat dilakukan pada waktu tertentu. Deposito dapat
dicairkan sesuai tanggal jatuh tempo, biasanya jatuh tempo deposito berkisar
1, 3, 6, atau 12 bulan. Jika deposito dicairkan sebelum tanggal jatuh tempo,
maka nasabah akan terkena penalti sesuai dengan kesepakatan bank dengan
nasabah. Bank dapat memperpanjang simpanan deposito nasabah secara
otomatis jika nasabah tidak mengambil dana deposito pada saat jatuh tempo.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
2.3. Pemasaran Langsung
Pemasaran langsung (direct marketing) merupakan metode penjualan
dengan menggunakan media pemasaran secara langsung, tanpa pihak
perantara pemasaran dalam transaksi tawar–menawar atau jual–beli dari suatu
produk ataupun jasa yang ditawarkan.
2.4. Penambangan Data
2.4.1. Pengertian Penambangan Data
Penambangan data (data mining) merupakan proses menggali
suatu nilai yang bertujuan untuk mengidentifikasi informasi dari
database yang selama ini tidak diketahui secara manual, menggali
pola–pola data untuk dimanipulasi menjadi informasi berharga
dengan cara mengenali pola data yang terdapat pada database.
Penambangan data juga bagian dari knowledge discovery in database
yang merupakan proses mengubah data mentah menjadi informasi
yang berguna. Namun tidak semua informasi dapat dilakukan
penambangan data. Meski demikian, teknik penambangan data telah
digunakan untuk mengembangkan sistem pencarian informasi (Tan
et.al., 2006).
2.4.2. Proses Penambangan Data
Larose (2005) menyatakan bahwa pada umumnya terdapat
enam proses pada penambangan data, yaitu sebagai berikut :
a. Deskripsi
Deskripsi bertujuan mengidentifikasi pola yang muncul secara
berulang pada data. Pola tersebut dapat diubah menjadi aturan
dan kriteria yang mudah dipahami untuk meningkatkan
pengetahuan (knowledge) pada sistem. Pada teknik
postprocessing, deskripsi dibutuhkan untuk melakukan validasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
dan menjelaskan hasil dari proses data mining. Postprocessing
merupakan proses untuk memastikan bahwa hanya hasil yang
valid yang dapat digunakan.
b. Prediksi
Proses prediksi mirip dengan klasifikasi, namun bedanya data
diklasifikasi berdasarkan pola atau nilai yang diprediksi untuk
masa depan.
c. Estimasi
Model disusun menggunakan record lengkap yang menyediakan
nilai variabel target sebagai nilai prediksi. Selanjutnya, estimasi
nilai dari variabel target dibuat berdasarkan nilai variabel
prediksi.
d. Klasifikasi (Classification)
Klasifikasi merupakan proses menemukan model atau fungsi
yang mendeskripsikan dan membedakan data ke dalam kelas–
kelas. Memeriksaan karakteristik dari objek dan memasukkan
objek dalam salah satu kelas yang sudah didefinisikan
sebelumnya.
e. Pengelompokan (Clustering)
Klastering digunakan untuk menghasilkan label kelas untuk
sekelompok data. Berbeda dengan klasifikasi yang menganalisa
data label kelas yang sudah ditemukan diawal. Objek yang
berkelompok berdasarkan prinsip dimaksimalkan nilai kesamaan
intrakelas dan meminimalkan nilai kesamaan antarkelas,
sehingga objek dalam sebuah kelompok memiliki kesamaan
yang tinggi dibandingkan satu sama lain, tetapi berbeda dengan
objek kelompok lain.
f. Asosiasi (Association)
Dalam penambangan data, asosiasi digunakan untuk
menemukan aturan atribut yang muncul dalam suatu waktu, dan
mengukur hubungan antara dua atau lebih atribut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
2.4.3. Tahapan Penambangan Data
Tahapan proses penambangan data dilakukan dengan
menyeleksi data dari sumber data ke objek data. Tahap
preprocessing kualitas data dan transformasi diperbaiki. Tahap
interpretasi dan evaluasi menghasilkan output berupa pengetahuan
baru yang diharapkan memberikan kontribusi yang lebih baik.
Berikut ini tahap penambangan data akan dijelaskan sebagai berikut
(Fayyad, 1996) :
a. Data Selection
Pemilihan atau seleksi data dari sekumpulan data operasional
dilakukan sebelum tahap penggalian informasi dalam Knowledge
Discovery in Database (KDD). Data hasil seleksi digunakan
untuk proses data mining disimpan terpisah dari basis data
operasional.
b. Pre–processing / Cleaning
Proses cleaning dilakukan sebelum proses mining. Proses ini
bertujuan untuk menghilangkan duplikasi data, memeriksa data
yang tidak konsisten kemudian memperbaiki kesalahan yang ada
pada data.
c. Transformation
Proses transformasi dilakukan pada data yang telah dipilih,
sehingga data tersebut sesuai untuk proses mining, yang biasa
disebut dengan coding. Proses coding dalam Knowledge
Discovery in Database (KDD) merupakan proses yang
bergantung pada jenis dan pola informasi yang dicari dalam basis
data.
d. Data Mining
Data mining merupakan proses mencari pola atau informasi data
yang terpilih dengan teknik atau metode tertentu. Teknik,
metode, atau algoritma dalam data mining sangat bervariasi.
Pemilihan metode atau algoritma yang tepat sangat bergantung
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
pada tujuan dan proses Knowledge Discovery in Database
(KDD) secara keseluruhan.
e. Interpretation / Evalution
Pola informasi yang dihasilkan dari proses mining ditampilkan
dalam bentuk yang mudah dimengerti. Proses ini mencakup
pemeriksaan pola atau informasi yang ditemukan apakah
bertentangan dengan fakta atau hipotesis yang ada sebelumnya.
2.5. Case–Based Reasoning
Konsep metode case–based reasoning merupakan metode merancang
sistem untuk mengambil keputusan berdasarkan kasus–kasus sebelumnya
yang digunakan sebagai solusi untuk kasus baru. Beberapa masalah yang
dihadapi dapat diselesaikan dengan menerapkan problem solving dari
pengalaman terdahulu. Case–based reasoning merupakan metode yang
pemecahan masalahannya dengan menitikberatkan pada pengetahuan dari
kasus–kasus sebelumnya. Jika terdapat kasus baru, maka kasus baru tersebut
akan disimpan pada sistem, sehingga kedepan sistem akan melakukan
learning dan knowledge agar menjadi solusi untuk pemecahan masalah
selanjutnya (Kolodner, 1983).
Menurut Han (2012) mengenai konsep dan teknik mining, hubungan
case–based reasoning dengan klasifikasi yaitu case–based reasoning
menggunakan database solusi masalah dengan mengklasifikasikan kasus,
yang digunakan untuk memecahkan masalah baru. Case–based reasoning
menyimpan kasus untuk memecahkan masalah yang kompleks. Bila terdapat
kasus baru, maka kasus baru tersebut akan diperiksa terlebih dahulu apakah
identik atau tidak identik. Jika terdapat hasil yang ditemukan, maka solusi
untuk kasus baru tersebut akan dikembalikan ke kasus lama. Jika tidak
ditemukan hasilnya, maka akan dicari solusi pemecahan masalahnya. Secara
konseptual, kasus pelatihan tersebut dianggap sebagai tetangga dari kasus
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
baru. Solusi untuk memecahkan masalah yaitu dengan mencari nilai
kecocokan kedekatan dari kasus lama dengan kasus baru.
Klasifikasi sebagai metode fungsional berfungsi untuk memprediksi
label class atau kategori dari objek basis data. Case–based reasoning
digunakan untuk mengklasifikasikan data serta membangun model yang
didasarkan pada data training nilai label class pada saat mengklasifikasikan
atribut dan menggunakannya pada saat mengklasifikasikan data baru.
2.5.1. Siklus Case–Based Reasoning
Terdapat empat langkah proses pada metode case–based
reasoning (Aamodt dan Plaza, 1994) yang dapat dilihat pada gambar
2.1 berikut ini.
Gambar 2.1 Siklus Case–Based Reasoning
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
1. Retrieve : Langkah ini dilakukan untuk proses pencarian atau
pencocokkan dari kasus–kasus yang memiliki kesamaan.
Tahapan pada retrieve ini adalah :
a. Identifikasi masalah
b. Memulai pencocokan
c. Melakukan seleksi.
2. Reuse : Langkah ini dicari solusi dari kasus serupa pada kondisi
sebelumnya untuk permasalahan baru, dengan menggunakan
kembali informasi dan pengetahuan dalam kasus tersebut untuk
mengatasi masalah baru. Proses reuse dibagi menjadi 2 cara
yaitu :
a. Reuse solusi dari kasus yang telah ada (Transformatical
Reuse).
b. Reuse metode kasus untuk membuat solusi (Derivational
Reuse).
3. Revise : Pada langkah ini dicari solusi dari kasus serupa pada
kondisi sebelumnya untuk permasalahan yang terjadi kemudian
meninjau kembali solusi yang diberikan.
a. Evaluasi Solusi
Evaluasi solusi adalah hasil yang didapat setelah
membandingkan solusi dengan keadaan yang sebenarnya.
Pada tahap ini sering memerlukan waktu yang panjang
tergantung aplikasi yang sedang dikembangkan.
b. Memperbaiki Kesalahan
Perbaikan suatu kasus meliputi pengenalan kesalahan dari
solusi yang dibuat dan mengambil atau membuat penjelasan
tentang kesalahan tersebut.
4. Retain : Tahap retain terjadi proses penggabungan dari solusi
kasus baru dengan knowledge yang sudah ada. Retain
merupakan proses menyimpan pengalaman untuk memecahkan
masalah yang akan datang ke dalam basis kasus (memory
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
based). Permasalahan yang akan diselesaikan adalah
permasalahan yang memiliki kesamaan dengannya.
2.5.2. Retrieval Case–Based Reasoning
Dalam siklus case–based reasoning terdapat satu tahapan
penting yaitu proses pengambilan kembali (retrieval) terhadap
kasus–kasus sebelumnya yang dapat digunakan untuk
menyelesaikan masalah baru, yang dijadikan pertimbangan pada
penelitian yaitu penilaian kesamaan (similarity assesment).
Beberapa aplikasi case–based reasoning, sudah memadai
untuk menilai kesamaan terhadap kasus–kasus yang tersimpan
berdasarkan ciri–ciri dari setiap nilai atribut. Ciri–ciri diperoleh dari
penjelasan kasus–kasus dengan melakukan inferensi sesuai dengan
domain pengetahuan. Terdapat beberapa pendekatan penilaian
kesamaan (similarity assesment) untuk retrieval (Mantaras, 2006),
antara lain :
1. Assessment of surface similarity
Pendekatan berdasarkan ciri yang nampak, kesamaan setiap
kasus dengan masalah yang baru disajikan sebagai sebuah
bilangan yang real dalam rentang [0.1] yang dihitung sesuai
dengan ukuran kesamaan yang diberikan.
2. Assessment of structural similarity
Pendekatan berdasarkan masalah baru yang mempunyai
kesamaan dengan kasus yang tersimpan atau kasus lama, dengan
aturan transformasi dan latar belakang pengetahuan untuk
menentukan kesamaan struktur.
3. Similarity framework
Terdapat banyak cara untuk mengukur kesamaan. Menurut
Osbone dan Bridge (1996) menyampaikan bahwa kerangka
umum lain yang membedakan pengukuran kesamaan antara
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
ordinal dan cardinal. Similarity framework merupakan
penyajian himpunan operator yang memungkinkan
pengembangan sistem pengukuran kesamaan ordinal dan
cardinal dengan sistematis dan fleksibel.
2.5.3. Reuse dan Revision Case–Based Reasoning
Proses reuse dalam siklus case–based reasoning memberikan
solusi untuk kasus baru berdasarkan penyelesaian–penyelesaian
kasus yang diambil kembali. Penggunaan kembali kasus–kasus yang
telah di retrieve merupakan proses penyelesaian masalah
sebelumnya tanpa melakukan perubahan, sebagai penyelesaian yang
disediakan untuk masalah baru.
Hal ini berkaitan dengan klasifikasi, yang mana setiap
penyelesaiannya atau kelas diwakili oleh satu kasus dalam basis
kasus. Oleh karena itu, kasus yang diambil kembali memiliki
kesamaan yang cukup sebagai penyelesaian. Namun, reuse menjadi
lebih sulit jika terdapat perbedaan yang signifikan antara masalah
baru dengan kasus–kasus yang diambil kembali.
Dalam kondisi seperti ini, penyelesaian yang diambil
memerlukan adaptasi untuk mengatasi perbedaan–perbedaan
penting. Adaptasi menjadi penting, ketika case–based reasoning
digunakan untuk penyelesaian masalah yang selalu berkembang
seperti desain, konfigurasi, dan perencanaan. Metode adaptasi
berbeda dalam kompleksitas sehubungan dengan dua dimensi, apa
yang berubah pada penyelesaian yang diambil dan bagaimana
perubahan tersebut dapat dicapai. (Mulyana dan Hartati, 2009).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
2.5.4. Retension Dalam Case–Based Reasoning
Retension merupakan tahap terakhir pada siklus case–based
reasoning yang akan menghasilkan penyelesaian dari kasus lama
menjadi kasus baru yang digabungkan dalam sistem pengetahuan.
Berbagai pendekatan untuk menangkap hasil dari penyelesaian
masalah sebagai sebuah kasus baru dan dapat ditambahkan pada
basis kasus.
Secara umum, pandangan modern tentang retension telah
mengakomodasi perspektif yang lebih luas tentang makna dari
sistem case–based reasoning untuk belajar dari pengalamannya
dalam menyelesaikan masalah. (Mulyana dan Hartati, 2009).
2.5.5. Karakteristik Case–Based Reasoning
Tidak semua masalah dapat diselesaikan dengan metode
case–based reasoning. Berikut adalah karakteristik dari metode
case–based reasoning yang dapat diterapkan atau tidak menurut Pal
dan Shiu (2004) :
1. Kasus atau masalah yang dihadapi terlalu sulit untuk
dimodelkan secara matematis. Case–based reasoning
menggunakan solusi kasus–kasus yang pernah terjadi untuk
menyelesaikan masalah tanpa harus sepenuhnya memahami
masalah tersebut.
2. Sering terjadi pengecualian dari kasus–kasus baru.
3. Kasus–kasus tertentu sering terulang.
4. Terdapat manfaat yang didapat dengan menggunakan dan
menyesuaikan solusi kasus–kasus lama untuk menyelesaikan
kasus baru.
5. Kasus–kasus lama memiliki dokumentasi yang lengkap, relevan,
dan mudah didapatkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
2.5.6. Fungsi Case–Based Reasoning
Terdapat tiga fungsi yang berbeda dari case–based reasoning
berdasarkan tingkat keterlibatan pengguna yang semakin meningkat
(Althoff, 2011) sebagai berikut :
1. Case–based reasoning untuk pendukung keputusan, dimana
pemanfaatan case–based reasoning pada sistem sebagai
pendukung keputusan untuk menyelesaikan masalah. Tipe ini
banyak digunakan untuk permasalahan yang membutuhkan
analisa yang lama dalam menyelesaikan masalah.
2. Case–based reasoning sebagai diagnosis, dimana pengguna
memanfaatkan case–based reasoning sebagai alat bantu untuk
menentukan hasil diagnosa suatu masalah.
3. Case–based reasoning sebagai manajemen pengetahuan,
pemanfaatan case–based reasoning untuk mengelola
pengetahuan yang didapatkan dari ahli di suatu bidang.
2.5.7. Keuntungan Case–Based Reasoning
Keuntungan menggunakan metode case–based reasoning
menurut (Mulyana dan Hartati, 2009), adalah :
1. Memberikan fleksibilitas dalam permodelan pengetahuan.
2. Mengatasi masalah pada domain yang belum sepenuhnya
dipahami, didefinisikan, atau dimodelkan.
3. Membuat prediksi kemungkinan keberhasilan solusi yang
ditawarkan untuk masalah pada saat ini.
4. Case–based reasoning mencerminkan penalaran manusia.
5. Dapat digunakan untuk banyak tujuan seperti membuat rencana,
membuat diagnosis, dan membuat sebuah pandangan (point of
view).
6. Dapat diterapkan untuk domain aplikasi yang sangat beragam,
untuk merepresentasikan sebuah kasus.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
2.5.8. Bidang Aplikasi Case–Based Reasoning
Case–based reasoning telah diaplikasikan dalam beragam
bidang dari sistem yang telah teruji. Hal tersebut menunjukkan
betapa luasnya cakupan case–based reasoning. Bidang aplikasi
tersebut (Mulyana dan Hartati, 2009), antara lain :
1. Makanan atau Nutrisi : case–based reasoning untuk penentuan
resep baru, disebut CHEF, case–based reasoning untuk
konsultasi nutrisi, case–based reasoning untuk perencanaan
menu makanan.
2. Jaringan Komunikasi : case–based reasoning untuk menangani
kegagalan jaringan komunikasi yang disebut CRITTER, case–
based reasoning untuk menentukan modul – modul yang rawan
kesalahan pada jaringan komunikasi.
3. Desain Pabrik : case–based reasoning untuk pengelolaan
autoclave, case–based reasoning untuk mendesain sepatu, dan
aplikasi pabrikan dengan case–based reasoning.
4. Keuangan : case–based reasoning untuk audit keuangan, disebut
SCAN, case–based reasoning untuk mendeteksi kepailitan Bank
dengan ANN.
5. Penjadwalan : case–based reasoning untuk meningkatkan
kualitas untuk penjadwalan yang disebut CABINS, case–based
reasoning untuk perakitan mobil, case–based reasoning untuk
mengelola penjadwalan pesawat terbang, disebut SMART,
case–based reasoning untuk perencanaan dan penjadwalan
terdistribusi.
6. Penemuan Rute : case–based reasoning untuk mendapatkan
sebuah rute di negara Singapura, case–based reasoning untuk
perencanaan rute, case–based reasoning untuk transportasi
logistik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
7. Lingkungan : case–based reasoning untuk memprediksi tingkat
pencemaran udara, disebut AIRQUAP, dan case–based
reasoning untuk penangan limbah.
2.6. Algoritma K–Nearest Neighbor
K–Nearest Neighbor merupakan algoritma yang digunakan untuk
mengukur jarak kedekatan antara kasus baru dengan kasus lama berdasarkan
kecocokan nilai bobot pada tiap atributnya. Setelah jarak terdekat didapat,
dilakukan prediksi berdasarkan data yang paling dekat, dimana jarak terdekat
digunakan untuk mencari identitas tujuan. Adapun rumus dari K–Nearest
Neighbor untuk menghitung kedekatan (similarity) adalah sebagai berikut.
( )
(2.1)
Keterangan :
s = similarity (nilai kemiripan atribut).
w = weight (bobot yang diberikan).
2.7. Cross Validation
K–fold cross validation merupakan salah satu metode yang digunakan
untuk mengetahui rata–rata keberhasilan dari suatu sistem dengan melakukan
perulangan dengan mengacak atribut masukan (input) sehingga sistem teruji
untuk beberapa atribut. Cara kerja dari k–fold cross validation adalah
membagi data sejumlah n–fold yang diinginkan. Data akan dibagi dalam n
partisi dengan ukuran yang sama yaitu D1, D2, D3,... Dn selanjutnya untuk
proses testing dan training dilakukan sebanyak n kali. Dalam iterasi ke–i pada
partisi D1 akan menjadi data testing dan sisanya akan menjadi data training.
Pada umumnya, untuk mendapat hasil terbaik pada saat pengujian,
penggunaan jumlah fold dianjurkan menggunakan 10–fold cross
validation,dalam model (Kohavi, 1995).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Adapun skenario atau ilustrasi pengujian merupakan tahap penentuan pada
pengujian yang dilakukan. Metode k–fold cross validation yang digunakan
untuk pengujian dengan nilai pada k misal yaitu sebanyak 5–fold, yang
bertujuan untuk mengetahui akurasi metode case–based reasoning yang
diterapkan pada penelitian ini jika diuji dengan data training dan data testing
yang berbeda. Tahap pengujian dengan cara membagi dataset yang jumlahnya
4521 data dibagi menjadi 5 bagian (subset) secara random dengan masing–
masing berjumlah 904/905 data. Pada fold pertama terdapat kombinasi 4
subset yang berbeda kemudian digabung dan digunakan sebagai data training,
sedangkan 1 subset sisanya digunakan sebagai data testing. Proses training
dan testing dilakukan berulang sampai fold yang kelima. Berikut adalah
contoh ilustrasi uji akurasi dengan metode 5–fold cross validation
Tabel 2.1 Tabel ilustrasi uji akurasi dengan 5–fold cross validation
Fold Data Subset
Fold 1 Testing
Training
S1
S2, S3, S4, S5
Fold 2 Testing
Training
S2
S1, S3, S4, S5
Fold 3 Testing
Training
S3
S1, S2, S4, S5
Fold 4 Testing
Training
S4
S1, S2, , S3, S5
Fold 5 Testing
Training
S5
S1, S2, , S3, S4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
2.8. Confusion Matrix
Confusion matrix adalah alat pengukur yang dapat digunakan untuk
menghitung kinerja atau tingkat kebenaran pada proses klasifikasi. Menerapkan
confusion matrix umumnya dapat digunakan untuk menganalisa seberapa baik
metode digunakan untuk klasifikasi dalam mengenali data dari kelas yang berbeda.
Berikut adalah tabel untuk memahami confusion matrix.
Tabel 2.2 Tabel Confusion matrix
Prediksi
Positif Negatif
Ak
tual Positif TP FN
Negatif FP TN
Keterangan :
a. TP (True Positive) merupakan banyaknya data yang kelas aktualnya adalah
kelas positif dengan kelas prediksinya merupakan kelas positif.
b. FN (False Negative) merupakan banyaknya data yang kelas aktualnya adalah
kelas positif dengan kelas prediksinya merupakan kelas negatif.
c. FP (False Positive) merupakan banyaknya data yang kelas aktualnya adalah
kelas negatif dengan kelas prediksinya merupakan kelas positif.
d. TN (True Negative) merupakan banyaknya data yang kelas aktualnya adalah
kelas negatif dengan kelas prediksinya merupakan kelas negatif.
Berdasarkan tabel 2.2 confusion matrix diatas, cara mendapatkan akurasi pada
data yaitu dengan menggunakan rumus berikut ini.
(2.2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
2.9. UML (Unified Modeling Language)
UML (Unified Modeling Language) adalah bahasa pemodelan visual yang
dirancang untuk melakukan pengembangan, menganalisis sistem berorientasi objek
dan mendesain suatu proses pembuatan perangkat lunak. UML (Unified Modeling
Language) berorientasi objek dengan menerapkan banyak level abstraksi, tidak
bergantung proses pengembangan, tidak bergantung bahasa dan teknologi. UML
(Unified Modeling Language) dikenal dengan berbagai macam diagram,
diantaranya adalah Use Case Diagram, Sequence Diagram, Class Diagram, Activity
Diagram.
2.9.1. Use Case Diagram
Diagram usecase digunakan untuk menggambarkan interaksi antara
aktor dengan sistem. Pada tabel 2.3 akan dijelaskan simbol–simbol untuk
usecase diagram.
Tabel 2.3 Simbol Use Case Diagram
No. Gambar Nama Keterangan
1.
Actor atau
User
Mempresentasikan perangkat atau
sistem, yang menggambarkan
interaksi dengan sistem.
2.
Use Case
Menggambarkan fungsi suatu
sistem, agar user dapat memahami
kegunaan sistem yang akan
dibangun.
3.
Association Menggambarkan hubungan antara
objek.
4.
Include
Menggambarkan kondisi yang
harus terpenuhi agar sebuah fungsi
dapat terjadi.
5.
Extend
Menggambarkan kondisi yang
hanya berjalan di bawah kondisi
tertentu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
2.9.2. Sequence Diagram
Diagram sekuen berfungsi untuk menggambarkan interaksi atau
komunikasi antara satu objek dengan objek lainnya. Pada tabel 2.4 akan
dijelaskan simbol–simbol untuk usecase diagram.
Tabel 2.4 Simbol Sequence Diagram
No. Gambar Nama Keterangan
1.
Life Line Mendeskripsikan garis yang bersifat
individu dalam interaksi.
2.
Actor atau
User
Menggambarkan aktor atau
pengguna (user) yang berinteraksi
dengan sistem.
3.
Message
Menggambarkan pesan request
berupa permintaan dari pengguna
(user) ke sistem.
4.
Boundary Menggambarkan sebuah form.
5.
Control Class Penghubung antara boundary
dengan table.
6.
Entity Class
Bertugas menyimpan data atau
informasi yang didapat.
2.9.3. Activity Diagram
Diagram aktivitas menggambarkan aliran kerja atau aktivitas dari
sebuah sistem. Menggambarkan aktivitas yang dapat dilakukan oleh
sistem, bukan yang dilakukan oleh pengguna. Pada tabel 2.5 akan
dijelaskan simbol–simbol untuk usecase diagram.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Tabel 2.5 Simbol Activity Diagram
No. Gambar Nama Keterangan
1.
Activity Menggambarkan nteraksi antar
kelas.
2. Action Menggambarkan suatu aksi.
3.
Initial Node Awal mula bentuk objek.
4. Activity Final
Node Akhir dari objek.
5.
Decision Berfungsi menggambarkan tindakan
atau mengambil keputusan.
6.
Line Connector Digunakan untuk menghubungkan
simbol.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
BAB III
METODOLOGI PENELITIAN
3.1. Metodologi Penelitian
Metode penelitian merupakan cara berpikir yang dipersiapkan untuk
mencapai tujuan penelitian, dengan menemukan lalu mengembangkan atau
mengkaji kebenaran pengetahuan secara ilmiah untuk pengujian hipotesis suatu
penelitian.
Unsur terpenting dalam metodologi penelitian adalah penggunaan metode
ilmiah sebagai sarana mengidentifikasi objek dan mencari pemecahan masalah
yang sedang diteliti, sehingga menghasilkan sesuatu yang dapat
dipertanggungjawabkan kebenarannya secara ilmiah. Pada dasarnya fakta–fakta
tidak didapatkan begitu saja tetapi butuh metode untuk mengetahui dan mengambil
masalah tersebut.
3.2. Bahan Riset atau Data
Penelitian ini menggunakan data generic yaitu data dari bagian marketing
sebuah bank di Portugal, data sekunder tersebut didonasi pada tanggal 14 Februari
2012 oleh S.Moro, P.Cortez dan P.Rita. Data yang digunakan merupakan file
dengan ekstensi .xls yang diperoleh dari UCI Repository Machine Learning. Jumlah
data yang digunakan total ada 4521 record, dengan 16 atribut dan 2 label kelas.
Pada tabel 3.1 berikut adalah penjelasan dari masing–masing atribut.
Tabel 3.1 Tabel Atribut Data Nasabah
Nama Atribut Keterangan
Age Umur nasabah bank.
Job Pekerjaan nasabah bank.
Marital Status perkawinan.
Education Status pendidikan.
Default Apakah memiliki kredit gagal?
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Balance Rata–rata penghasilan pertahun dalam mata uang Euro.
Housing Apakah memiliki cicilan rumah?
Loan Apakah memiliki pinjaman pribadi?
Contact Jenis komunikasi yang digunakan.
Day Tanggal terakhir dihubungi.
Month Bulan terakhir dihubungi.
Duration Durasi pada saat dihubungi terakhir kali.
Campaign Berapa kali promosi yang sudah dilakukan pada client
ini?
Pdays Jumlah hari yang sudah berlalu sejak terakhir kali
nasabah dihubungi untuk promosi sebelumnya.
Previous Jumlah berapa kali dihubungi sebelum melakukan
promosi untuk client ini.
Poutcome Hasil dari promosi sebelumnya.
Y/N Hasil prediksi akhir apakah nasabah membuka deposito
atau tidak? (Yes/No)
Berikut adalah sampel dari dataset yang digunakan pada penelitian ini yang
terlihat pada tabel 3.2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
Tabel 3.2 Tabel Contoh Data Nasabah
Age Job Marital Education Default Balance Housing Loan Contact Day Month Dur Camp Pdays Prev Poutcome Y/N
30 unemployed married primary no 1787 no no cellular 19 Oct 79 1 -1 0 unknown no
33 services married secondary no 4789 yes yes cellular 11 May 220 1 339 4 failure no
35 management single tertiary no 1350 yes no cellular 16 Apr 185 1 330 1 failure no
30 management married tertiary no 1476 yes yes unknown 3 Jun 199 4 -1 0 unknown no
59 blue-collar married secondary no 0 yes no unknown 5 May 226 1 -1 0 unknown no
35 management single tertiary no 747 no no cellular 23 Feb 141 2 176 3 failure no
36 self-
employed married tertiary no 307 yes no cellular 14 May 341 1 330 2 other no
39 technician married secondary no 147 yes no cellular 6 May 151 2 -1 0 unknown no
41 entrepreneur married tertiary no 221 yes no unknown 14 May 57 2 -1 0 unknown no
43 services married primary no -88 yes yes cellular 17 Apr 313 1 147 2 failure no
39 services married secondary no 9374 yes no unknown 20 May 273 1 -1 0 unknown no
43 admin. married secondary no 264 yes no cellular 17 Apr 113 2 -1 0 unknown no
36 technician married tertiary no 1109 no no cellular 13 Aug 328 2 -1 0 unknown no
20 student single secondary no 502 no no cellular 30 Apr 261 1 -1 0 unknown yes
31 blue-collar married secondary no 360 yes yes cellular 29 Jan 89 1 241 1 failure no
40 management married tertiary no 194 no yes cellular 29 Aug 189 2 -1 0 unknown no
56 technician married secondary no 4073 no no cellular 27 Aug 239 5 -1 0 unknown no
37 admin. single tertiary no 2317 yes no cellular 20 Apr 114 1 152 2 failure no
25 blue-collar single primary no -221 yes no unknown 23 May 250 1 -1 0 unknown no
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
3.3. Peralatan Penelitian
Peralatan yang akan digunakan pada penelitian ini antara lain laptop Acer
dengan spesifikasi RAM 2GB, processor Intel(R) Celeron(R) 1,5GHz, harddisk
320GB. Kemudian digunakan Netbeans 8.2 sebagai aplikasi Integrated
Development Environment (IDE) yang berbasis java.
3.4. Tahap–tahap Penelitian
3.4.1. Pengumpulan Data
Tahap pengumpulan data dilakukan untuk memperoleh informasi
yang dibutuhkan demi mencapai tujuan penelitian. Informasi diperoleh
dari literatur yang relevan dan konsultasi ataupun wawancara dengan
pihak–pihak yang bersangkutan. Agar dapat memperoleh data yang
menunjang penyusunan penelitian ini, maka penulis melakukan
pengumpulan data dengan cara studi pustaka.
Studi pustaka dilakukan untuk mengetahui metode yang cocok
digunakan untuk menyelesaikan masalah yang akan diteliti, serta mencari
dasar referensi yang relevan dalam menerapkan metode yang akan
digunakan. Penulis mempelajari buku, literatur, artikel, dan jurnal yang
berhubungan dengan konsep data mining, penerapan data mining, teknik–
teknik data mining khususnya teknik klasifikasi dengan penerapan metode
case–based reasoning yang akan dibahas dalam penelitian.
3.4.2. Knowledge Discovery in Database (KDD)
Metodologi Knowledge Discovery in Database dikemukakan oleh
Han & Kamber (2011). Proses dalam Knowledge Discovery in Database
yaitu sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
a. Data cleaning
Tahap cleaning dilakukan untuk menghilangkan kebisingan (noise)
pada data yang tidak konsisten. Pada penelitian ini dataset yang
digunakan tidak mengandung missing attribute values.
b. Data integration
Tahap integration dilakukan penggabungkan beberapa sumber data.
Dataset yang digunakan hanya satu file, yaitu data nasabah dari
bagian marketing sebuah bank di Portugal. Atribut dari data nasabah
tersebut dapat dilihat pada tabel 3.2. Pada tahap ini tidak dilakukan
proses penggabungan data, karena data sudah tergabung menjadi satu
file data.
c. Data selection
Tahap selection adalah proses memilih data atau atribut yang relevan
dan menghapus atribut yang tidak digunakan untuk penelitian ini.
Pada tahap selection dilakukan menggunakan aplikasi Tools Weka
versi 3.8.2, dengan menerapkan metode Information Gain yang
terdapat pada aplikasi Tools Weka. Hal ini dikarenakan Information
Gain dapat melakukan seleksi fitur kemudian menentukan tingkat
perankingan yang paling baik daripada fitur seleksi lainnya untuk
pengklasifikasian data.
Rumus menghitung Information Gain :
( ) ∑ ( )
(3.1)
Keterangan :
D : Jumlah seluruh sampel data.
m : Jumlah nilai pada atribut target (jumlah kelas klasifikasi).
i : Maksimal nilai pada atribut target.
pi : Jumlah sampel untuk kelas i.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
( ) ∑
( )
(3.2)
Keterangan :
A : Atribut.
v : Suatu nilai yang mungkin untuk atribut A.
j : Maksimal nilai yang mungkin untuk atribut A.
|Dj| : Jumlah sampel untuk nilai j.
D : Jumlah seluruh sampel data.
Di : Jumlah sampel untuk kelas i.
Sehingga, nilai dari information gain tersebut digunakan untuk
mengukur efektifitas suatu atribut dalam pengklasifikasian data dapat
dihitung dengan rumus :
( ) ( ) ( ) (3.3)
Keterangan :
A : Atribut.
( ) : entropi untuk kelas D.
( ) : entropi untuk kelas D pada atribut A.
Pada tahap seleksi, dilakukan percobaan (experiment) untuk
mengetahui atribut mana yang berpengaruh dan berapa persen atribut
tersebut berpengaruh. Percobaan menggunakan information gain
dengan algoritma J48, penulis melakukan percobaan dengan
menghilangkan satu persatu atribut yang sudah di ranking oleh Weka,
kemudian penulis menarik kesimpulan atribut manakah yang
berpengaruh.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Berikut ini adalah cara yang dilakukan oleh penulis dalam melakukan
seleksi atribut pada tools aplikasi Weka.
Gambar 3.1 Percobaan I Seleksi Atribut Menggunakan Weka
Percobaan pertama, menggunakan 16 atribut yang diuji dengan
Infomation Gain sebagai atribut evaluator. Dapat diketahui terdapat
16 atribut yang sudah dilakukan perankingan, dan menghasilkan
keluaran seperti diatas. Pada bagian sebelah kiri adalah ranking dari
atribut, pada bagian tengah adalah nomor kolom atribut yang ada pada
data, dan bagian kanan adalah nama atribut. Berdasarkan tools
aplikasi Weka, 16 atribut tersebut menghasilkan presentase pengaruh
sebesar 90,5994% yang dapat dilihat pada gambar berikut ini.
Gambar 3.2 Percobaan I Presentase Pengaruh Atribut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Pada percobaan pertama, dapat dilihat bahwa terdapat dua atribut yang
memiliki nilai rank paling rendah yaitu sebesar 0, maka penulis
memutuskan untuk melakukan percobaan kembali dengan menyeleksi
dua atribut yang memiliki nilai rank sebesar 0, yang bertujuan untuk
mengetahui apakah dua atribut tersebut memiliki pengaruh terhadap
presentase atribut yang berpengaruh. Dapat dilihat pada gambar 3.1,
penulis melakukan eliminasi dua atribut paling bawah yaitu Campaign
dan Day.
Gambar 3.3 Percobaan II Seleksi Atribut Menggunakan Weka
Pada percobaan kedua, setelah melakukan seleksi dua atribut yaitu
Campaign dan Day, didapatkan hasil keluaran seperti pada gambar
3.3. Dari hasil percobaan kedua menghasilkan presentase pengaruh
atribut masih sama yaitu sebesar 90,5994%, yang berarti bahwa dua
atribut yang diseleksi yaitu Campaign dan Day tidak memiliki
pengaruh yang mendukung dalam penelitian ini.
Pada gambar 3.3 dapat dilihat bahwa nilai rank terendah adalah atribut
Default dengan nilai rank sebesar 0,00000121, membuat penulis ingin
melakukan percobaan kembali dengan menyeleksi atribut Default.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Gambar 3.4 Percobaan III Seleksi Atribut Menggunakan Weka
Percobaan ketiga dilakukan dengan melakukan seleksi atribut Default,
dan menghasilkan pengaruh presentase atribut mengalami penurunan
yaitu dari 90,5994% menjadi 90,5331%, seperti yang terlihat pada
gambar 3.5 berikut ini.
Gambar 3.5 Percobaan III Presentase Pengaruh Atribut
Percobaan selanjutnya yaitu dengan melakukan seleksi atribut
Education yang memiliki nilai rank terendah, yaitu 0,00237 untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
mengetahui apakah Education menjadi atribut yang berpengaruh atau
tidak.
Gambar 3.6 Percobaan IV Seleksi Atribut Menggunakan Weka
Dari 12 atribut yang didapatkan tersebut diketahui menghasilkan
pengaruh presentase atribut mengalami peningkatan yaitu dari
90,5331% menjadi 90,71%, seperti yang terlihat pada gambar 6.6
berikut ini. Hal tersebut berarti 12 atribut yang digunakan seperti pada
gambar 3.5 memiliki presentase pengaruh lebih besar dibandingkan
pada saat atribut Education dilibatkan.
Gambar 3.7 Percobaan IV Presentase Pengaruh Atribut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Berdasarkan empat percobaan yang sudah dilakukan, membuat
penulis ingin mengetahui atribut mana yang memiliki pengaruh cukup
signifikan sehingga membuat presentase pengaruh atribut menjadi
stabil, untuk itu penulis kembali melakukan percobaan dengan
melakukan seleksi atribut yang memiliki nilai rank terendah yakni
Marital.
Gambar 3.8 Percobaan V Seleksi Atribut Menggunakan Weka
Pada percobaan kelima menghasilkan hasil presentase pengaruh
atribut mengalami kenaikan, yaitu dari 90,71% menjadi 90,8649%
dengan 11 atribut yang digunakan seperti pada gambar 3.9.
Gambar 3.9 Percobaan V Presentase Pengaruh Atribut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Percobaan yang dilakukan oleh penulis terjadi sampai hanya terdapat
3 atribut. Dari percobaan tersebut didapatkan presentase hasil
pengaruh atribut mengalami penurunan terus menerus. Untuk itu
penulis mengambil kesimpulan bahwa 11 atribut yang diseleksi pada
percobaan 5 adalah atribut yang memiliki pengaruh cukup baik, yang
dapat dijadikan acuan untuk melakukan prediksi data nasabah yang
berpotensi membuka simpanan deposito. Atribut tersebut antara lain
Duration, Poutcome, Pdays, Month, Contact, Previous, Job, Age,
Housing, Balance, dan Loan.
Sehingga hasil dari percobaan tersebut menghasilkan kesimpulan yang
dapat dilihat pada tabel 3.3 :
Tabel 3.3 Percobaan Seleksi Atribut menggunakan Tools Weka.
Percobaan Fitur Yang Terpilih Presentase Pengaruh
Percobaan 1
Duration, Poutcome, Pdays, Month,
Contact, Previous, Job, Age, Housing,
Balance, Loan, Marital, Education,
Default, Campaign, Day
90,5994%
Percobaan 2
Duration, Poutcome, Pdays, Month,
Contact, Previous, Job, Age, Housing,
Balance, Loan, Marital, Education,
Default
90,5994%
Percobaan 3
Duration, Poutcome, Pdays, Month,
Contact, Previous, Job, Age, Housing,
Balance, Loan, Marital, Education
90,5331%
Percobaan 4
Duration, Poutcome, Pdays, Month,
Contact, Previous, Job, Age, Housing,
Balance, Loan, Marital
90,71%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Percobaan 5
Duration, Poutcome, Pdays, Month,
Contact, Previous, Job, Age, Housing,
Balance, Loan
90,8649%
Percobaan 6
Duration, Poutcome, Pdays, Month,
Contact, Previous, Job, Age, Housing,
Balance
90,5109%
Atribut yang terpilih dengan menggunakan information gain dengan
algoritma J48 diatas didapatkan presentase pengaruh yang terbesar
selama percobaan yaitu sebesar 90,8649% pada percobaan 5. Maka
ditarik kesimpulan 11 atribut tersebut adalah atribut yang
berpengaruh. Sehingga didapatkan hasil seleksi fitur/atribut
menggunakan information gain sebagai berikut :
Tabel 3.4 Hasil 11 Peringkat Atribut Teratas
menggunakan Information Gain.
No. Nama Atribut Jenis Atribut
1. Duration Numerik
2. Poutcome Class Label
3. Pdays Numerik
4. Month Class Label
5. Contact Class Label
6. Previous Numerik
7. Job Class Label
8. Age Numerik
9. Housing Class Label
10. Balance Numerik
11. Loan Class Label
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
d. Data transformation
Pada tahap transformation dilakukan proses data diubah kemudian
dikonsolidasikan ke dalam bentuk yang sesuai untuk ditambang. Pada
penelitian ini dataset yang digunakan memiliki atribut yang berbeda
dengan skala yang berbeda di setiap atribut. Pada tahap ini dilakukan
transformation untuk setiap atribut class label diubah menjadi bentuk
numerik.
1. Transformasi data pada atribut Age.
Menurut organisasi kesehatan tingkat dunia (WHO) telah
menetapkan kriteria yang baru untuk kelompok usia manusia
yang terbagi menjadi 5 kelompok, yaitu sebagai berikut :
0 – 17 tahun : Anak–anak dibawah umur.
18 – 65 tahun : Pemuda
66 – 79 tahun : Setengah baya
80 – 99 tahun : Orang tua
100 tahun ke atas : Orang tua berusia panjang
Selanjutnya dari kelompok tersebut, dilakukan transformasi dari
data class label menjadi data numerik, yang menjadi sebagai
berikut :
0 – 17 (Anak–anak dibawah umur) : 1
18 – 65 (Pemuda) : 2
66 – 79 (Setengah baya) : 3
80 – 99 (Orang tua) : 4
100 – keatas (Orang tua berusia panjang) : 5
2. Transformasi data pada atribut Job.
Terdapat 12 class label pada atribut job, yaitu :
Admin : 1
Blue-collar : 2
Entrepreneur : 3
Housemaid : 4
Management : 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Retired : 6
Self-Employed : 7
Services : 8
Student : 9
Technician : 10
Unemployed : 11
Unknown : 12
3. Transformasi data pada atribut Housing.
Terdapat 2 class label pada atribut Housing, yaitu :
Yes : 1
No : 2
4. Transformasi data pada atribut Loan.
Terdapat 2 class label pada atribut Loan, yaitu :
Yes : 1
No : 2
5. Transformasi data pada atribut Contact.
Terdapat 3 class label pada atribut Contact, yaitu :
Cellular : 1
Telephone : 2
Unknown : 3
6. Transformasi data pada atribut Month.
Terdapat 12 class label pada atribut Month, yaitu :
January : 1
February : 2
March : 3
April : 4
Mey : 5
June : 6
July : 7
August : 8
September : 9
October : 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
November : 11
December : 12
7. Transformasi data pada atribut Poutcome.
Terdapat 4 class label pada atribut Poutcome, yaitu :
Success : 1
Failure : 2
Unknown : 3
Other : 4
8. Transformasi data pada atribut Balance, Duration, Pdays, dan
Previous.
Untuk atribut yang bernilai numerik dilakukan transformasi
dengan proses pendistribusian tabel frekuensi berkelompok,
dengan melakukan langkah – langkah berikut :
a. Langkah pertama yaitu memilih atribut yang bernilai data
numerik, dan akan dicari intervalnya. Pada dataset penelitian
ini, atribut yang mengandung data numerik adalah Balance,
Duration, Pdays, dan Previous.
b. Kemudian pada masing–masing atribut tersebut dicari nilai
minimum (Xmin) dan nilai maksimum (Xmax).
Untuk atribut Balance, didapat :
Nilai minimum : –3313
Nilai maksimum : 71188
Untuk atribut Duration, didapat :
Nilai minimum : 4
Nilai maksimum : 3025
Untuk atribut Pdays, didapat :
Nilai minimum : -1
Nilai maksimum : 871
Untuk atribut Previous, didapat :
Nilai minimum : 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Nilai maksimum : 25
c. Setelah mendapatkan nilai minimum (Xmin) dan nilai
maksimum (Xmax) dari setiap atribut yang dicari, langkah
selanjutnya adalah menghitung nilai jangkauan dari masing–
masing atribut dengan rumus :
(3.4)
Hitung jangkauan untuk atribut Balance :
J = 71.188 – (–3.313)
J = 74.501
Hitung jangkauan untuk atribut Duration :
J = 3025 – 4
J = 3.021
Hitung jangkauan untuk atribut Pdays :
J = 871 – (–1)
J = 872
Hitung jangkauan untuk atribut Previous :
J = 25 – 0
J = 25
d. Langkah selanjutnya, menghitung jumlah kelas interval
dengan rumus :
(3.5)
Sehingga jumlah kelas interval pada penelitian ini sebagai
berikut :
k = 1 + 3,3 log 4.521
k = 1 + 12,062
k = 13,062
k = 13 → dibulatkan menjadi 13, sehingga jumlah kelas
interval adalah 13.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
e. Kemudian menentukan panjang interval untuk masing–
masing atribut, dengan rumus :
(3.6)
Panjang kelas interval untuk atribut Balance :
Panjang kelas interval untuk atribut Duration :
Panjang kelas interval untuk atribut Pdays :
Panjang kelas interval untuk atribut Previous :
f. Langkah terakhir yaitu menentukan batas interval dari
masing–masing atribut yang terpilih :
Interval untuk atribut Balance :
Batas Interval 1 : -3313 sampai 2417,85 ditransformasi menjadi 1
Batas Interval 2 : 2418,85 sampai 8149,69 ditransformasi menjadi 2
Batas Interval 3 : 8150,69 sampai 13881,54 ditransformasi menjadi 3
Batas Interval 4 : 13882,5 sampai 19613,38 ditransformasi menjadi 4
Batas Interval 5 : 19614,4 sampai 25345,23 ditransformasi menjadi 5
Batas Interval 6 : 25346,2 sampai 31077,08 ditransformasi menjadi 6
Batas Interval 7 : 31078,1 sampai 36808,92 ditransformasi menjadi 7
Batas Interval 8 : 36809,9 sampai 42540,77 ditransformasi menjadi 8
Batas Interval 9 : 42541,8 sampai 48272,62 ditransformasi menjadi 9
Batas Interval 10 : 48273,6 sampai 54004,46 ditransformasi menjadi 10
Batas Interval 11 : 54005,5 sampai 59736,31 ditransformasi menjadi 11
Batas Interval 12 : 59737,3 sampai 65468,15 ditransformasi menjadi 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Batas Interval 13 : 65469,2 sampai 71200,00 ditransformasi menjadi 13
Batas Interval 14 : 71201 sampai 76931,85 ditransformasi menjadi 14
Interval untuk atribut Duration :
Batas Interval 1 : 4 sampai 236,38 ditransformasi menjadi 1
Batas Interval 2 : 237,385 sampai 469,77 ditransformasi menjadi 2
Batas Interval 3 : 470,769 sampai 703,15 ditransformasi menjadi 3
Batas Interval 4 : 704,154 sampai 936,54 ditransformasi menjadi 4
Batas Interval 5 : 937,538 sampai 1169,92 ditransformasi menjadi 5
Batas Interval 6 : 1170,92 sampai 1403,31 ditransformasi menjadi 6
Batas Interval 7 : 1404,31 sampai 1636,69 ditransformasi menjadi 7
Batas Interval 8 : 1637,69 sampai 1870,08 ditransformasi menjadi 8
Batas Interval 9 : 1871,08 sampai 2103,46 ditransformasi menjadi 9
Batas Interval 10 : 2104,46 sampai 2336,85 ditransformasi menjadi 10
Batas Interval 11 : 2337,85 sampai 2570,23 ditransformasi menjadi 11
Batas Interval 12 : 2571,23 sampai 2803,62 ditransformasi menjadi 12
Batas Interval 13 : 2804,62 sampai 3037,00 ditransformasi menjadi 13
Interval untuk atribut Pdays :
Batas Interval 1 : -1 sampai 66,0769 ditransformasi menjadi 1
Batas Interval 2 : 67,0769 sampai 134,154 ditransformasi menjadi 2
Batas Interval 3 : 135,154 sampai 202,231 ditransformasi menjadi 3
Batas Interval 4 : 203,231 sampai 270,308 ditransformasi menjadi 4
Batas Interval 5 : 271,308 sampai 338,385 ditransformasi menjadi 5
Batas Interval 6 : 339,385 sampai 406,462 ditransformasi menjadi 6
Batas Interval 7 : 407,462 sampai 474,538 ditransformasi menjadi 7
Batas Interval 8 : 475,538 sampai 542,615 ditransformasi menjadi 8
Batas Interval 9 : 543,615 sampai 610,692 ditransformasi menjadi 9
Batas Interval 10 : 611,692 sampai 678,769 ditransformasi menjadi 10
Batas Interval 11 : 679,769 sampai 746,846 ditransformasi menjadi 11
Batas Interval 12 : 747,846 sampai 814,923 ditransformasi menjadi 12
Batas Interval 13 : 815,923 sampai 883 ditransformasi menjadi 13
Interval untuk atribut Previous :
Batas Interval 1 : 0 sampai 1,923 ditransformasi menjadi 1
Batas Interval 2 : 2,923 sampai 4,846 ditransformasi menjadi 2
Batas Interval 3 : 5,846 sampai 7,769 ditransformasi menjadi 3
Batas Interval 4 : 8,769 sampai 10,692 ditransformasi menjadi 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Batas Interval 5 : 11,692 sampai 13,615 ditransformasi menjadi 5
Batas Interval 6 : 14,615 sampai 16,538 ditransformasi menjadi 6
Batas Interval 7 : 17,538 sampai 19,462 ditransformasi menjadi 7
Batas Interval 8 : 20,462 sampai 22,385 ditransformasi menjadi 8
Batas Interval 9 : 23,385 sampai 25,308 ditransformasi menjadi 9
Berikut transformasi data jika direalisasikan ke dalam tabel
dataset :
Tabel 3.5 Tabel contoh dataset sebelum data ditransformasi
Tabel 3.6 Tabel contoh dataset setelah data ditransformasi
Age
Job
Bala
nce
Hou
sin
g
Loan
Con
tact
Mon
th
Du
rati
on
Pd
ay
s
Pre
vio
us
Po
utc
om
e
30 unemployed 1787 no no cellular Oct 79 -1 0 unknown
33 services 4789 yes yes cellular May 220 339 4 failure
35 management 1350 yes no cellular Apr 185 330 1 failure
30 management 1476 yes yes unknown Jun 199 -1 0 unknown
Age Job Balance Housing Loan Contact Month Dur Pdays Prev Pout
come
2 11 1 2 2 1 10 1 1 1 3
2 8 2 1 1 1 5 1 6 2 2
2 5 1 1 2 1 4 1 5 1 2
2 5 1 1 1 3 6 1 1 1 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
e. Data mining
Proses data mining menerapkan metode yang digunakan
untuk menemukan prediksi data dengan metode case–based
reasoning. Pada langkah ini, penerapan metode case–based
reasoning dapat terlihat pada perhitungan manual yang
terlampir pada lampiran 8.
f. Pattern Evaluation
Proses pattern evaluation merupakan proses mengidentifikasi
pola yang tepat yang merupakan hasil dari penambangan
data. Pada tahap ini hasil identifikasi case–based reasoning
akan menghasilkan prediksi untuk data nasabah.
g. Knowledge Presentation
Proses menyajikan pengetahuan dan informasi dari hasil
penambangan data kepada pengguna (user). Hasil dari
identifikasi case–based reasoning akan ditampilkan dengan
bentuk yang mudah dimengerti oleh pengguna (user) atau
pihak yang terkait dengan penelitian ini. Pada tahap ini juga
akan dilakukan proses pembuatan aplikasi komputer berbasis
dekstop dengan bahasa pemrograman Java.
3.4.3. Desain Alat Uji
Pada tahap desain alat uji dan pengembangan perangkat lunak
menggunakan metode waterfall, yang merupakan metode yang digunakan
dalam tahap pengembangan perangkat lunak (Utami & Asnawati, 2015).
Model waterfall merupakan model klasik yang sederhana dengan aliran
sistem yang linier.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Menurut Utami dan Asnawati (2015) tahapan dari model waterfall
meliputi :
a. Analisa Kebutuhan Perangkat Lunak
Tahap analisa kebutuhan perangkat lunak adalah tahap proses
mendapatkan informasi, mode dan spesifikasi tentang perangkat
lunak. Tahap awal menentukan dan merancang gambaran umum
perangkat lunak. Perangkat lunak yang baik sesuai dengan
kebutuhan dari pengguna (user) tergantung pada keberhasilan
dalam melakukan analisa. Pada penelitian ini pengumpulan
informasi didapatkan dengan cara mengunduh data nasabah
deposito dari suatu bank yang ada di Portugal.
b. Desain Perangkat Lunak
Tahap ini mengubah kebutuhan perangkat lunak menjadi
rancangan perangkat lunak. Desain perangkat lunak dilakukan
untuk berfokus pada atribut–atribut yang berbeda dari program
yaitu pada struktur data, arsitektur perangkat lunak, representasi
interface dan prosedural rinci. Dari rancangan tersebut akan
menghasilkan arsitektur sistem yang dapat ditransformasikan
menjadi satu atau lebih program yang dapat digunakan.
c. Pembuatan Program (Coding)
Tahap ini merupakan proses menerjemahkan desain rancangan
perangkat lunak ke dalam mesin yang dapat dibaca, yaitu tahap
pembuatan kode (coding).
d. Pengujian (Testing)
Tahap pengujian (testing) merupakan proses pengujian pada
sistem yang telah dibuat. Tahap ini terbagi menjadi dua, yaitu
pengujian yang dilakukan secara internal (benar atau tidaknya
penyataan yang dibuat dalam tahap coding), dan pengujian
eksternal (dengan melakukan tes untuk menemukan kesalahan
dan memastikan bahwa input sesuai dengan apa yang
dibutuhkan). Pengujian sistem ini menggunakan pendekatan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
black–box testing. Pendekatan tersebut merupakan proses
pengujian terhadap fungsi dari operasional software.
3.4.4. Analisis Hasil dan Pembuatan Laporan
Analisis yang dilakukan pada penelitian ini adalah menganalisa
data nasabah bank dari bagian marketing sebuah bank di Portugal, yang
akan di klasifikasikan menggunakan metode case–based reasoning.
Kemudian menganalisa pengaruh dari hasil identifikasi case–based
reasoning dengan nilai bobot yang sudah ditentukan. Dari analisa tersebut
akan digunakan untuk memprediksi data nasabah yang berpotensi
membuka simpanan deposito yang akan disusun ke dalam sebuah laporan
tugas akhir.
Uji akurasi hasil identifikasi case–based reasoning nantinya akan
dilakukan dengan menggunakan cross validation, dengan menentukan k–
fold yaitu 5 kemudian membagi seluruh data menjadi 5 kelompok untuk
diuji. Data yang diuji tersebut meliputi dua bagian, yaitu 4 kelompok
sebagai data training dan 1 kelompok sebagai data testing. Uji cross
validation dilakukan sebanyak 5 kali dengan menghitung akurasi
pengujian dengan menggunakan confusion matrix. Hasil dari akurasi dari
setiap pengujian 1, 2, 3, 4 dan 5 kemudian ditotal dibagi dengan jumlah
kelompok yang digunakan dikali dengan 100%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
BAB IV
PERANCANGAN PERANGKAT LUNAK
4.1. Perancangan Umum
4.1.1. Input
Masukan pada sistem yang akan dibangun berupa file dengan
ekstensi .xls atau file bertipe Microsoft Excel. Pengguna (user) dapat
memilih sendiri file yang akan digunakan dari direktori komputer.
Terdapat dua file yang akan dimasukkan oleh user, yaitu file kasus lama
dan kasus baru. Setelah memilih file, pengguna dapat melakukan
identifikasi case–based reasoning.
4.1.2. Proses
Proses mengidentifikasi case–based reasoning dengan algoritma
nearest neighbor terdapat beberapa tahap, yaitu sebagai berikut :
1. Melakukan preprocessing data dengan transformasi data pada setiap
atribut.
2. Proses mencocokkan kasus menghitung jarak kedekatan menggunakan
nearest neighbor.
3. Proses mengidentifikasi case–based reasoning.
4. Proses menghitung akurasi dari perhitungan case–based reasoning.
5. Menyimpan hasil identifikasi case–based reasoning dengan file
berextensi .xls ke dalam direktori komputer.
Proses umum pada sistem digambarkan dengan diagram flowchart pada
gambar 4.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Gambar 4.1 Flowchart Diagram
4.1.3. Output
Pada sistem ini keluaran (output) yang dihasilkan berupa :
1. Tampilan hasil identifikasi metode case–based reasoning.
2. Tampilan hasil perhitungan similarity antar kasus.
3. File hasil identifikasi case–based reasoning dalam format .xls untuk
disimpan ke dalam direktori komputer.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
4.2. Diagram Use Case
Terdapat beberapa aktivitas atau interaksi yang dilakukan oleh pengguna
(user) pada sistem ini. Usecase merupakan interaksi yang mengidentifikasi urutan
pemakaian sistem. Pada sistem ini hanya terdapat satu pengguna (user) yang
melakukan beberapa interaksi yaitu memilih data, mengidentifikasi case–based
reasoning kasus baru dengan kasus lama, menyimpan hasil identifikasi tersebut
menjadi kasus baru. Ketiga aktivitas atau interaksi tersebut harus dijalankan secara
berurutan karena saling berhubungan satu sama lain. Diagram usecase dapat dilihat
pada gambar 4.2 berikut :
Gambar 4.2 Use Case Diagram
4.2.1. Gambaran Umum Use Case
Gambaran umum dari masing–masing usecase yang ada pada
diagram usecase dapat terlihat pada tabel 4.1 berikut.
Tabel 4.1 Gambaran Umum Use Case
ID Use
Case Nama Use Case Deskripsi Aktor
1. Pilih File
Proses memilih file berekstensi .xls
yang digunakan pada proses
mengidentifikasi case–based
reasoning.
User
2. Identifikasi case–
based reasoning
Proses mengidentifikasi case–based
reasoning dengan menerapkan User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
algoritma nearest neighbor dan
menghitung similarity.
3.
Simpan hasil
identifikasi case–
based reasoning
Proses menyimpan hasil dari
identifikasi case–based reasoning
dalam bentuk file berekstensi .xls.
User
4.2.2. Narasi Use Case
Narasi usecase berisi serangkaian langkah–langkah dari aksi
pengguna (user) terhadap sistem dan reaksi dari sistem terhadap pengguna
(user) pada setiap usecase. Narasi usecase terlampir pada lampiran 1.
4.3. Diagram Aktivitas
Terdapat tiga diagram aktivitas yang merupakan aktivitas dari masing–
masing usecase yaitu memilih data (file), mengidentifikasi case–based reasoning
dan menyimpan hasil identifikasi dari case–based reasoning. Diagram aktivitas
terlampir pada lampiran 2.
4.4. Perancangan Struktur Data
Perancangan struktur data berfungsi untuk mengelola penyimpanan data agar
data dapat dengan mudah diakses kapanpun jika diperlukan. Adapun konsep
struktur data yang digunakan adalah :
1. ArrayList
ArrayList digunakan untuk menampung data nasabah dan hasil
identifikasi dari case–based reasoning. Data nasabah dan hasil
identifikasi case–based reasoning tersebut digunakan sebagai elemen
pada ArrayList.
Berikut adalah ilustrasi dari penerapan ArrayList :
[Data1 Data2 Data3........... DataN]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Objek Data1, Data2, sampai Data ke - N merupakan representasi dari
data nasabah yang dapat dilihat pada tabel 4.1 berikut ini :
Tabel 4.2 Objek Data Nasabah
Ob
jek
Atribut
Ag
e
Job
Bal
ance
Ho
usi
ng
Lo
an
Co
nta
ct
Mo
nth
Du
rati
on
Pd
ays
Pre
vio
us
Po
utc
om
e
Y/N
Data1 30 Unemployed Married No No Cellular Oct 79 -1 0 Unknown No
Data2 20 Student Single No No Cellular Apr 261 -1 0 Unknown Yes
Data3 33 Services Married Yes Yes Cellular Nov 220 5 4 Unknown No
2. Matriks atau Array 2 Dimensi
Matriks atau Array 2 dimensi digunakan untuk menampung nilai
kemiripan antar nasabah. Setiap elemen dari matriks berisi nilai
kemiripan antar nasabah lama dan nasabah baru. Setiap indeks baris
merupakan nilai kedekatan dari nasabah di indeks yang sama dari
ArrayList data nasabah. Berikut adalah ilustrasi dari Array 2 dimesi:
ArrayList untuk Data Nasabah sebagai berikut :
[Data1 Data2 Data3........... DataN]
Dan berikut ilustrasi kedekatan antar nasabah :
[
]
Pada ilustrasi diatas menggambarkan matriks pada baris pertama
merupakan kedekatan antar nasabah dari ArrayList data nasabah,
demikian pula untuk baris selanjutnya. kedekatan1, kedekatan2,
kedekatan3, kedekatanN adalah suatu objek pada data nasabah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
4.5. Diagram Kelas Analisis
Diagram kelas analisis dapat dilihat pada gambar 4.3 berikut ini.
Gambar 4.3 Diagram Kelas Analisis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
4.6. Diagram Sequence
Diagram sequence dari setiap usecase terlampir pada lampiran 3.
4.7. Diagram Kelas Desain
Diagram kelas desain dapat dilihat pada gambar 4.4 berikut ini.
Gambar 4.4 Diagram Kelas Disain
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
4.8. Algoritma per Method
Rincian algoritma per method terlampir pada lampiran 4.
4.9. Perancangan Antarmuka
Antarmuka dirancang untuk menghubungkan antara pengguna dan sistem.
Pada peneltian ini sistem yang akan dibangun memiliki 6 antarmuka (interfaces).
Antarmuka yang akan dibangun oleh penulis yaitu halaman awal (home), halaman
tentang, halaman bantuan, halaman preprocessing, dan halaman hasil
preprocessing.
4.9.1. Perancangan Halaman Home
Perancangan antarmuka halaman home dapat dilihat pada gambar 4.5
berikut ini :
Gambar 4.5 Rancangan Antarmuka Halaman Home
Halaman home merupakan halaman awal pada saat pengguna (user)
memasuki sistem. Pada halaman home terdapat tombol “Masuk Sistem”.
Menu “Tentang” digunakan untuk menuju ke halaman tentang penulis atau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
pembuat sistem. Menu “Bantuan” digunakan untuk menuju ke halaman
panduan penggunaan sistem. Sedangkan tombol “Masuk Sistem”
digunakan untuk menuju ke halaman preprocessing untuk memulai proses
identifikasi case–based reasoning.
4.9.2. Perancangan Halaman Preprocessing
Perancangan antarmuka halaman preprocessing dapat dilihat pada
gambar 4.6 dan gambar 4.7 berikut ini :
Gambar 4.6 Rancangan Antarmuka Halaman Preprocessing
(Kasus Lama)
Gambar 4.7 Rancangan Antarmuka Halaman Preprocessing
(Kasus Baru)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Halaman preprocessing merupakan halaman untuk mempersiapkan
data nasabah dari kasus lama dan kasus baru yang akan di preprocessing
dan akan dijadikan dasar untuk mengidentifikasi case–based reasoning.
Pada halaman preprocessing kasus lama terdapat dua tombol yaitu “Pilih
File”, “Identifikasi CBR”. Tombol “Pilih File” digunakan untuk
membuka direktori file untuk mencari file yang akan digunakan. Tombol
”Identifikasi CBR” digunakan untuk mengidentifikasi case–based
reasoning, mencocokkan kasus lama dan kasus baru. Terdapat juga dua
menu tab halaman, yaitu “Hasil Detail” dan “Hasil” yang akan muncul
ketika proses identifikasi selesai dilakukan. Pada menu tab halaman “Hasil
Detail” digunakan untuk melihat detail hasil dari identifikasi kasus.
Sedangkan pada tab halaman “Hasil” digunakan untuk melihat hasil
keseluruhan dari identifikasi kasus.
4.9.3. Perancangan Halaman Hasil Detail
Perancangan antarmuka halaman hasil dapat dilihat pada gambar
4.8 berikut ini :
Gambar 4.8 Rancangan Antarmuka Halaman Hasil Detail
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Halaman hasil detail merupakan halaman yang akan menampilkan
detail hasil identifikasi kasus case–based reasoning. Karena halaman hasil
dan proses identifikasi menjadi satu, setelah proses identifikasi muncul
satu tombol yaitu “Simpan Hasil Identifikasi CBR” yang digunakan untuk
mendownload atau mendapatkan file Excel dari hasil identifikasi.
4.9.4. Perancangan Halaman Hasil
Perancangan antarmuka halaman hasil dapat dilihat pada gambar
4.9 berikut ini :
Gambar 4.9 Rancangan Antarmuka Halaman Hasil
Halaman hasil merupakan halaman yang akan menampilkan hasil
keseluruhan identifikasi kasus case–based reasoning. Karena halaman
hasil dan proses identifikasi menjadi satu, setelah proses identifikasi
muncul satu tombol yaitu “Simpan Hasil Identifikasi CBR” yang
digunakan untuk mendownload atau mendapatkan file Excel dari hasil
identifikasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
4.9.5. Perancangan Halaman Tentang
Perancangan antarmuka halaman hasil dapat dilihat pada gambar
4.10 berikut ini :
Gambar 4.10 Rancangan Antarmuka Halaman Tentang
Halaman tentang merupakan halaman yang berisi penjelasan
mengenai identitas pembuat sistem atau perangkat lunak. Pada halaman
tentang ini terdapat menu “Halaman Utama”, yang digunakan untuk
menuju ke halaman awal atau halaman home sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
4.9.6. Perancangan Halaman Bantuan
Perancangan antarmuka halaman hasil dapat dilihat pada gambar
4.11 berikut ini :
Gambar 4.11 Rancangan Antarmuka Halaman Bantuan
Halaman bantuan merupakan halaman yang berisi penjelasan
mengenai paduan penggunaan sistem. Pada halaman ini terdapat menu
“Halaman Utama”, yang digunakan untuk menuju ke halaman awal atau
halaman home sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
BAB V
IMPLEMENTASI DAN PENGUJIAN PERANGKAT LUNAK
5.1. Implementasi Rancangan Perangkat Lunak
Perangkat lunak identifikasi case–based reasoning menggunakan
algoritma nearest neighbor terdapat 12 kelas, yang terdiri dari enam kelas model,
empat kelas view, dan dua kelas controller.
5.1.1. Implementasi Kelas Model
Implementasi kelas model dapat dilihat pada tabel berikut ini :
Tabel 5.1 Implementasi Kelas Model
No. Nama Kelas Nama File Fisik Nama File Excetable
1. Dataset Dataset.java Dataset.class
2. Hasil Hasil.java Hasil.class
3. HasilDetail HasilDetail.java HasilDetail.class
4. HasilSet HasilSet.java HasilSet.class
5. Interval Interval.java Interval.class
6. NilaiAtribut NilaiAtribut.java NilaiAtribut.class
5.1.2. Implementasi Kelas View
Implementasi kelas model dapat dilihat pada tabel berikut ini :
Tabel 5.2 Implementasi Kelas View
No. Usecase Antarmuka Nama Kelas Boundary
1. Pilih File Gambar 4.5 Preprocessing.class
2. Identifikasi case–
based reasoning Gambar 4.5 Preprocessing.class
3.
Simpan hasil
identifikasi case–
based reasoning
Gambar 4.8 Preprocessing.class
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Spesifikasi dari kelas halaman home dapat dilihat pada tabel
dibawah ini :
Tabel 5.3 Spesifikasi Detail kelas HalamanHome.java
Id_Objek Jenis Teks Keterangan
jlabel1 Label
SISTEM
IDENTIFIKASI CASE-
BASED REASONING
Judul dari sistem
atau software yang
dibangun.
jlabel2 Label
Prediksi Nasabah Yang
Berpotensi Membuka
Simpanan Deposito
Judul dari sistem
atau software yang
dibangun.
icon Label logo.png
Gambar untuk logo
Universitas Sanata
Dharma
Yogyakarta.
btnMasuk Button Masuk Sistem
Jika button di click
maka akan masuk
ke halaman
preprocessing.
btnTentang Button Tentang
Jika button di click
maka akan masuk
ke halaman
Tentang.
btnBantuan Button Bantuan
Jika button di click
maka akan masuk
ke halaman
Bantuan.
jlabel3 Label Sinta Septiawanti
(145314029)
Label untuk
Identitas dari
pembuat sistem atau
perangkat lunak.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
jlabel5 Label Teknik Informatika
Label untuk
program studi dari
pembuat sistem atau
perangkat lunak.
jlabel6 Label Fakultas Sains dan
Teknologi
Label untuk
fakultas dari
pembuat sistem atau
perangkat lunak.
jlabel7 Label Universitas Sanata
Dharma Yogyakarta
Label untuk
universitas dari
pembuat sistem atau
perangkat lunak.
Jlabel8 Label 2018
Label untuk tahun
pembuatan sistem
atau perangkat
lunak.
Implementasi antarmuka dari kelas HalamanHome.java dapat
dilihat pada gambar 5.1 berikut ini.
Gambar 5.1 Implementasi Antarmuka kelas HalamanHome.java
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Spesifikasi dari kelas halaman preprocessing dapat dilihat pada
tabel dibawah ini :
Tabel 5.4 Spesifikasi Detail kelas Preprocessing.java
Id_Objek Jenis Teks Keterangan
jlabel1 Label Preprocessing
Label untuk judul
halaman
preprocessing
sistem atau
perangkat lunak.
jlabel2 Label Kasus Lama
Label untuk
tulisan kasus lama
pada perangkat
lunak.
jlabel3 Label Kasus Baru
Label untuk
tulisan kasus baru
pada perangkat
lunak.
fileText TextField
Lokasi file .xls
untuk kasus lama
yang akan
digunakan.
fileText1 TextField
Lokasi file .xls
untuk kasus baru
yang akan
digunakan.
btnBrowseLama Button Pilih File
Button yang jika
di klik, maka
akan membuka
direktori
komputer untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
mencari file kasus
lama yang akan
digunakan.
btnBrowseBaru Button Pilih File
Button yang jika
di klik, maka
akan membuka
direktori
komputer untuk
mencari file kasus
baru yang akan
digunakan.
jButton1 Button Identifikasi CBR
Button yang jika
di klik, maka
akan melakukan
proses identifikasi
case–based
reasoning, dan
akan
menghasilkan tab
halaman hasil dan
kesimpulan.
tableDataSetLama Table
Tabel yang berisi
data kasus lama
yang dimasukkan.
tableDataSetBaru Table
Tabel yang berisi
data kasus baru
yang dimasukkan.
tableResult Table
Tabel yang berisi
hasil identifikasi
case–based
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
reasoning.
tableConclusion Table
Tabel yang berisi
data kasus baru
yang dimasukkan.
btnSave Button
Simpan Hasil
Identifikasi case–
based reasoning
Button yang jika
di klik, maka
akan menyimpan
hasil identifikasi
case–based
reasoning dalam
file berekstensi
.xls pada direktori
komputer.
Implementasi antarmuka dari kelas Preprocessing.java untuk Kasus
Lama dapat dilihat pada gambar 5.2 berikut ini.
Gambar 5.2 Implementasi Antarmuka kelas Preprocessing.java
(Kasus Lama)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Implementasi antarmuka dari kelas Preprocessing.java untuk Kasus
Baru dapat dilihat pada gambar 5.3 berikut ini.
Gambar 5.3 Implementasi Antarmuka kelas Preprocessing.java (Kasus Baru)
Implementasi antarmuka dari untuk halaman Hasil dapat dilihat
pada gambar 5.4 berikut ini.
Gambar 5.4 Implementasi Antarmuka halaman Hasil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
Implementasi antarmuka dari untuk halaman Hasil Detail dapat
dilihat pada gambar 5.5 berikut ini.
Gambar 5.5 Implementasi Antarmuka halaman Hasil Detail
Spesifikasi dari kelas halaman bantuan dapat dilihat pada tabel
dibawah ini :
Tabel 5.5 Spesifikasi Detail kelas HalamanBantuan.java
Id_Objek Jenis Teks Keterangan
jButton1 Button HALAMAN
UTAMA
Button yang jika
di klik, maka
akan kembali ke
halaman awal
atau halaman
home.
jLabel1 Label
SISTEM
IDENTIFIKASI
CASE–BASED
REASONING
Label untuk
tulisan “SISTEM
IDENTIFIKASI
CASE–BASED
REASONING”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
pada perangkat
lunak.
jLabel2 Label
Prediksi Nasabah
Yang Berpotensi
Membuka
Simpanan
Deposito
Label untuk
tulisan “Prediksi
Nasabah Yang
Berpotensi
Membuka
Simpanan
Deposito” pada
perangkat lunak.
jLabel8 Label BANTUAN
Label untuk
tulisan
“BANTUAN”
pada perangkat
lunak.
jLabel9 Label
Panduan
Penggunaan
Sistem
Label untuk
tulisan “Panduan
Penggunaan
Sistem” pada
perangkat lunak.
jLabel10 Label
1. Pada halaman
awal, tekan
tombol
"MASUK
SISTEM"
untuk masuk
ke halaman
processing.
Label untuk
tulisan “Pada
halaman awal,
tekan tombol
"MASUK
SISTEM" untuk
masuk ke
halaman
processing” pada
perangkat lunak.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
jLabel11 Label
2. Pada halaman
preprocessing,
masukkan
data file .xls
untuk kasus
lama dan
kasus baru
dengan klik
tombol "Pilih
File"
Label untuk
tulisan “Pada
halaman
preprocessing,
masukkan data
file .xls untuk
kasus lama dan
kasus baru
dengan klik
tombol "Pilih
File"” pada
perangkat lunak.
jLabel12 Label
3. Kemudian
tekan tombol
"IDENTIFIK
ASI CBR"
untuk
memulai
proses
identifikasi.
Label untuk
tulisan
“Kemudian tekan
tombol
"IDENTIFIKASI
CBR" untuk
memulai proses
identifikasi” pada
perangkat lunak.
jLabel13 Label
4. Jika hasil dari
identifikasi
Case-Based
Reasoning
sudah
diperoleh,
tekan tombol
"Simpan Hasil
Identifikasi
Label untuk
tulisan “Jika hasil
dari identifikasi
Case–Based
Reasoning sudah
diperoleh, tekan
tombol "Simpan
Hasil Identifikasi
CBR" untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
CBR" untuk
menyimpan
hasil dari
identifikasi
dengan file
berektensi
.xls.
menyimpan hasil
dari identifikasi
dengan file
berektensi .xls.”
pada perangkat
lunak.
jLabel3 Label Sinta Septiawanti
(145314029)
Label untuk
Identitas dari
pembuat sistem
atau perangkat
lunak.
jLabel4 Label Teknik
Informatika
Label untuk
program studi
dari pembuat
sistem atau
perangkat lunak.
jLabel5 Label Fakultas Sains
dan Teknologi
Label untuk
fakultas dari
pembuat sistem
atau perangkat
lunak.
jLabel6 Label
Universitas
Sanata Dharma
Yogyakarta
Label untuk
universitas dari
pembuat sistem
atau perangkat
lunak.
jLabel7 Label 2018
Label untuk tahun
pembuatan sistem
atau perangkat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
lunak.
Implementasi antarmuka dari kelas HalamanBantuan.java dapat
dilihat pada gambar 5.6 berikut ini.
Gambar 5.6 Implementasi Antarmuka kelas HalamanBantuan.java
Spesifikasi dari kelas halaman tentang dapat dilihat pada tabel
dibawah ini :
Tabel 5.6 Spesifikasi Detail kelas HalamanTentang.java
Id_Objek Jenis Teks Keterangan
jButton1 Button HALAMAN
UTAMA
Button yang jika
di klik, maka
akan kembali ke
halaman awal
atau halaman
home.
jLabel1 Label
SISTEM
IDENTIFIKASI
CASE–BASED
REASONING
Label untuk
tulisan “SISTEM
IDENTIFIKASI
CASE–BASED
REASONING”
pada perangkat
lunak.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
jLabel2 Label
Prediksi Nasabah
Yang Berpotensi
Membuka
Simpanan
Deposito
Label untuk
tulisan “Prediksi
Nasabah Yang
Berpotensi
Membuka
Simpanan
Deposito” pada
perangkat lunak.
jLabel8 Label TENTANG
PENULIS
Label untuk
tulisan
“TENTANG
PENULIS” pada
perangkat lunak.
jLabel9 Label Nama
Label untuk
tulisan Nama
penulis pada
perangkat lunak.
jLabel10 Label NIM
Label untuk
tulisan NIM
penulis pada
perangkat lunak.
jLabel11 Label Tempat, Tanggal
Lahir
Label untuk
tulisan Tempat,
Tanggal Lahir
penulis pada
perangkat lunak.
jLabel12 Label Program Studi
Label untuk
tulisan Program
Studi penulis
pada perangkat
lunak
jLabel13 Label Fakultas
Label untuk
tulisan Fakultas
penulis pada
perangkat lunak
jLabel14 Label Universitas
Label untuk
tulisan
Universitas
penulis pada
perangkat lunak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
jLabel21 Label Sinta Septiawanti
Label untuk
tulisan Nama
penulis pada
perangkat lunak.
jLabel22 Label 145314029
Label untuk
tulisan NIM
penulis pada
perangkat lunak.
jLabel23 Label Surabaya, 28
September 1996
Label untuk
tulisan Tempat,
Tanggal Lahir
penulis pada
perangkat lunak.
jLabel24 Label Teknik
Informatika
Label untuk
tulisan Program
Studi penulis
pada perangkat
lunak
jLabel25 Label Sains dan
Teknologi
Label untuk
tulisan Fakultas
penulis pada
perangkat lunak
jLabel26 Label Sanata Dharma
Yogyakarta
Label untuk
tulisan
Universitas
penulis pada
perangkat lunak
jLabel3 Label Sinta Septiawanti
(145314029)
Label untuk
Identitas dari
pembuat sistem
atau perangkat
lunak.
jLabel4 Label Teknik
Informatika
Label untuk
program studi
dari pembuat
sistem atau
perangkat lunak.
jLabel5 Label Fakultas Sains
dan Teknologi
Label untuk
fakultas dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
pembuat sistem
atau perangkat
lunak.
jLabel6 Label
Universitas
Sanata Dharma
Yogyakarta
Label untuk
universitas dari
pembuat sistem
atau perangkat
lunak.
jLabel7 Label 2018
Label untuk tahun
pembuatan sistem
atau perangkat
lunak.
Implementasi antarmuka dari kelas HalamanTentang.java dapat
dilihat pada gambar 5.7 berikut ini.
Gambar 5.7 Implementasi Antarmuka kelas HalamanTentang.java
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
5.1.3. Implementasi Kelas Control
Implementasi kelas controller dapat dilihat pada tabel 5.7 berikut ini :
Tabel 5.7 Implementasi Kelas Control
No. Usecase Nama file Fisik Nama file
Executable
1. Pilih File
1. Preprocessing
Control.java
2. DataSet.java
1. Preprocessing
Control.class
2. DataSet.class
2.
Identifikasi
case–based
reasoning
1. Preprocessing
Control.java
2. HasilDetail.java
1. Preprocessing
Control.class
2. HasilDetail
.class
3.
Simpan hasil
identifikasi
case–based
reasoning
1. Preprocessing
Control.java
1. Preprocessing
Control.class
5.2. Pengujian Perangkat Lunak
5.2.1. Pengujian Perangkat Lunak (Black Box)
5.2.1.1. Rencana Pengujian Black Box
Pada tabel 5.8 berikut akan dijelaskan perencanaan pengujian
dengan menggunakan metode black box.
Tabel 5.8 Rencana Pengujian Black Box.
No. Usecase Butir Uji Kasus Uji
1. Pilih File
Pengujian dengan memasukan
data dari file berekstensi .xls
UCBR1–01
Pengujian dengan memasukan
data dari file berekstensi .txt
UCBR1–02
Pengujian dengan memasukan
data dari file berekstensi .doc
UCBR1–03
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
2.
Identifikasi
case–based
reasoning
Pengujian dengan melakukan
proses identifikasi case–based
reasoning
UCBR2–01
3.
Simpan hasil
identifikasi
case–based
reasoning
Pengujian dengan melakukan
proses identifikasi case–based
reasoning
UCBR3–01
5.2.1.2. Prosedur Pengujian dan Kasus Uji
Setelah menyusun rencana pengujian pada tabel 5.8, selanjutnya
akan dilakukan pengujian serta kasus uji yang terlampir pada
lampiran 5.
5.2.1.3. Evaluasi Pengujian
Berdasarkan dari hasil pengujian yang terlampir pada lampiran 7
dengan menggunakan black box, menunjukan bahwa sistem atau
perangkat lunak yang dibangun sudah berjalan dengan baik dan
berjalan sesuai dengan perancangan yang telah dibuat. Hal tersebut
terlihat pada setiap fungsi case dalam sistem atau perangkat lunak
dapat berjalan sesuai dengan yang diharapkan. Sistem atau
perangkat lunak dapat memberikan pesan peringatan
pemberitahuan, jika user melakukan kesalahan pada saat
menggunakan sistem. Hal tersebut dapat mempermudah user dalam
menggunakan sistem ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
5.2.2. Pengujian Perbandingan Hasil Identifikasi Case–Based Reasoning
Secara Manual dengan Hasil Identifikasi Case–Based Reasoning
Menggunakan Perangkat Lunak
5.2.2.1. Identifikasi Case–Based Reasoning Secara Manual
Pada bagian pengujian case–based reasoning secara manual
menggunakan data nasabah dari bagian marketing sebuah bank di
negara Portugal, yang didonasi pada tanggal 14 Februari 2012 oleh
S.Moro, P.Cortez dan P.Rita.
Proses mengidentifikasi case–based reasoning secara manual
dilakukan dengan menggunakan Microsoft Excel. Dalam proses
identifikasi case–based reasoning, diambil sample yaitu 5 data
sebagai kasus lama dan 3 data sebagai kasus baru sebagai sample.
Proses dan hasil identifikasi case–based reasoning secara manual
dapat dilihat pada lampiran 6.
5.2.2.2. Identifikasi Case–Based Reasoning Menggunakan Perangkat
Lunak
Pada bagian pengujian case–based reasoning menggunakan
perangkat lunak dengan data yang sama dengan perhitungan
manual, yaitu data nasabah dari bagian marketing sebuah bank di
negara Portugal, yang didonasi pada tanggal 14 Februari 2012 oleh
S.Moro, P.Cortez dan P.Rita.
Proses mengidentifikasi case–based reasoning menggunakan
perangkat lunak dengan memasukkan file .xls yang berisi 5 kasus
sebagai contoh data kasus lama, dan memasukkan file .xls yang
berisi 3 kasus sebagai contoh data kasus baru. Didapatkan hasil dari
identifikasi case–based reasoning menggunakan perangkat dapat
dilihat pada gambar 5.8 dan 5.9 berikut ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
Gambar 5.8 Hasil Identifikasi Case–Based Reasoning
Gambar 5.9 Detail Hasil Identifikasi Case–Based Reasoning
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
5.2.2.3. Evaluasi Pengujian Perbandingan Hasil Identifikasi Case–
Based Reasoning Secara Manual dengan Perangkat Lunak
Hasil identifikasi case–based reasoning yang diperoleh dari
identifikasi secara manual sama dengan hasil yang diperoleh
dengan menggunakan perangkat lunak atau sistem. Oleh karena itu
dapat disimpulkan bahwa sistem atau perangkat lunak tersebut
dapat berjalan dengan baik dan sesuai dengan yang diharapkan
penulis.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
BAB VI
ANALISIS HASIL DAN PEMBAHASAN
6.1. Dataset
Pada penelitian ini dataset yang digunakan untuk mengidentifikasi case–
based reasoning adalah data dari bagian marketing sebuah bank di negara Portugal,
data tersebut didonasi pada tanggal 14 Februari 2012 oleh S.Moro, P.Cortez dan
P.Rita dengan jumlah 4521 record, 16 atribut dan 1 label kelas. Data tersebut
adalah data public yang diperoleh dari UCI Repository Mechine Learning.
Proses identifikasi case–based reasoning dengan cara mencari similarity
dari kasus lama data nasabah lama yang sudah ada dengan kasus baru data nasabah
baru.
6.2. Hasil Uji Akurasi Case–Based Reasoning
Pada penelitian ini, hasil identifikasi case–based reasoning setelah
dilakukan pengujian menggunakan k–fold cross validation dapat dilihat pada tiga
tabel berikut ini.
Tabel 6.1 Hasil Uji Akurasi Metode Case–Based Reasoning
(3–fold cross validation)
Fold Data Training Data Testing Akurasi
Percobaan 1 3014
(kelompok 2 & 3)
1507
(kelompok 1) 85,33 %
Percobaan 2 3014
(kelompok 1 & 3)
1507
(kelompok 2) 87,12 %
Percobaan 3 3014
(kelompok 1 & 2)
1507
(kelompok 3) 87,06 %
Rata–rata akurasi 86,33 %
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
Tabel 6.2 Hasil Uji Akurasi Metode Case–Based Reasoning
(5–fold cross validation)
Fold Data Training Data Testing Akurasi
Percobaan 1 3616
(kelompok 2, 3, 4 & 5)
905
(kelompok 1) 87,18 %
Percobaan 2 3617
(kelompok 1, 3, 4 & 5)
904
(kelompok 2) 84,07 %
Percobaan 3 3617
(kelompok 1, 2, 4 & 5)
904
(kelompok 3) 88,83 %
Percobaan 4 3617
(kelompok 1, 2, 3 & 5)
904
(kelompok 4) 88,27 %
Percobaan 5 3617
(kelompok 1, 2, 3 & 4)
904
(kelompok 5) 86,39 %
Rata–rata akurasi 86,948 %
Tabel 6.3 Hasil Uji Akurasi Metode Case–Based Reasoning
(7–fold cross validation)
Fold Data Training Data Testing Akurasi
Percobaan 1 3875
(kelompok 2, 3, 4, 5, 6, 7)
646
(kelompok 1) 86,84 %
Percobaan 2 3875
(kelompok 1, 3, 4, 5, 6, 7)
646
(kelompok 2) 82,50 %
Percobaan 3 3875
(kelompok 1, 2, 4, 5, 6, 7)
646
(kelompok 3) 84,82 %
Percobaan 4 3875
(kelompok 1, 2, 3, 5, 6, 7)
646
(kelompok 4) 87,30 %
Percobaan 5
3875
(kelompok 1, 2, 3, 4, 6, 7)
646
(kelompok 5)
86,99 %
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
Percobaan 6 3875
(kelompok 1, 2, 3, 4, 5, 7)
646
(kelompok 6) 87,92 %
Percobaan 7 3876
(kelompok 1, 2, 3, 4, 5, 6)
645
(kelompok 7) 86,20 %
Rata–rata akurasi 86,08 %
Dari hasil uji akurasi diatas, menunjukkan bahwa pengujian akurasi
dengan menerapkan cross validation menghasilkan hasil akurasi yang dapat
dikatakan cukup stabil. Dari tabel hasil diatas terlihat bahwa pada saat nilai dari
k = 3 rata–rata akurasi sebesar 86,33%. Kemudian penulis mencoba melakukan
percobaan kembali dengan memvariasi k = 5, rata–rata akurasi mengalami sedikit
kenaikan menjadi 86,948%. Percobaan selanjutnya yaitu memvariasi nilai k = 7,
rata–rata akurasi terjadi penurunan namun tidak signifikan yaitu menjadi 86,08%.
Untuk lebih memahami hasil dari uji akurasi dengan menggunakan cross validation
berikut ini adalah grafik yang dihasilkan dari percobaan menggunakan 3, 5, dan 7
fold cross validation.
Gambar 6.1 Grafik Percobaan Uji Akurasi 3, 5, 7 - fold cross validation
79,00%
80,00%
81,00%
82,00%
83,00%
84,00%
85,00%
86,00%
87,00%
88,00%
89,00%
90,00%
3-fold 5-fold 7-fold
Percobaan 1
Percobaan 2
Percobaan 3
Percobaan 4
Percobaan 5
Percobaan 6
Percobaan 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
Sehingga dari grafik percobaan uji akurasi tersebut menghasilkan grafik
rata–rata dari hasil uji akurasi, yaitu seperti berikut ini.
Gambar 6.2 Grafik Rata-rata Akurasi Cross Validation
Dari grafik rata–rata hasil akurasi diatas, dapat diketahui bahwa dengan
memasukkan k = 5 memberikan pengaruh akurasi yang cukup tinggi yaitu sebesar
86,948%, dibandingkan pada saat k = 3 atau k = 7. Sehingga dapat ditarik
kesimpulan, hasil dari rata–rata percobaan uji akurasi untuk sistem cukup stabil,
dengan rata–rata akurasi sekitar 86%.
6.3. Analisis Hasil Uji Akurasi Case–Based Reasoning
Adapun tingkat keberhasilan dari uji akurasi tersebut didukung dari
beberapa tahapan, dimulai dari melakukan seleksi atribut, mengidentifikasi case–
based reasoning, dan kemudian menghitung tingkat akurasi dari hasil identifikasi.
85,60%
85,80%
86,00%
86,20%
86,40%
86,60%
86,80%
87,00%
87,20%
3-fold 5-fold 7-fold
Rata-Rata Akurasi
Rata-Rata Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
6.3.1. Identifikasi Case–Based Reasoning
Setelah melakukan seleksi atribut dan mendapatkan atribut yang
diprediksi memiliki pengaruh yang baik dan mendukung dalam proses
identifikasi data nasabah yang berpotensi membuka simpanan deposito,
selanjutnya menerapkan metode case–based reasoning pada dataset.
Langkah untuk proses identifikasi case–based reasoning dapat dilihat pada
lampiran 8, yaitu proses perhitungan manual. Dari hasil uji perhitungan
manual dan sistem yang sudah dilakukan oleh penulis, menghasilkan
kesimpulan bahwa hasil identifikasi sesuai dengan yang diharapkan oleh
penulis, yaitu hasil dari perhitungan manual sama dengan hasil identifikasi
case–based reasoning pada sistem.
6.3.2. Pengujian Confusion Matrix
Uji akurasi yang dilakukan pada penelitian ini yaitu dengan
menerapkan cross validation, dimana ilustrasinya dapat dilihat pada tabel
2.1. Pengujian akurasi ini dilakukan untuk mengetahui tingkat akurasi dari
prediksi yang dilakukan secara manual dengan prediksi yang dihasilkan
oleh sistem menggunakan case–based reasoning. Pengujian dilakukan
dengan menggunakan confusion matrix. Confusion matrix merupakan
sebuah matrik dari prediksi yang akan dibandingkan dengan kelas asli dari
data inputan. Pengujian dilakukan menggunakan 20 data nasabah yang
sudah teridentifikasi case–based reasoning yang diambil secara acak. Data
tersebut dibandingkan dengan hasil identifikasi yang dilakukan oleh
sistem. Hasil pengujian akurasi dapat dilihat pada tabel berikut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
Tabel 6.4 Pengujian Akurasi Identifikasi Data Nasabah
Data Sentimen
Age Job Balance Housing Loan Contact Month Duration Pdays Previous Poutcome Identifikasi
Manual
Identifikasi
Sistem
30 unemployed 1787 no no cellular oct 79 -1 0 unknown yes yes
20 student 502 no no cellular apr 261 -1 0 unknown yes yes
35 management 1350 yes no cellular apr 185 330 1 failure yes yes
37 admin. 2317 yes no cellular apr 114 152 2 failure no no
33 services 4789 yes yes cellular may 220 339 4 failure no no
32 management 2536 yes no cellular aug 958 -1 0 unknown yes yes
49 technician 1235 no no cellular aug 354 -1 0 unknown yes no
42 admin. 1811 yes no unknown may 150 -1 0 unknown no no
78 retired 229 no no telephone oct 97 -1 0 unknown yes no
45 blue-collar 844 no no unknown jun 1018 -1 0 unknown yes yes
37 technician 228 yes no cellular aug 1740 -1 0 unknown no no
38 management 493 yes no cellular may 553 367 7 failure no no
56 unemployed 3391 no no cellular apr 243 -1 0 unknown yes yes
21 student 2488 no no cellular jun 258 169 3 success yes yes
36 blue-collar -231 no yes cellular jul 779 -1 0 unknown no no
34 self-employed 462 no no cellular aug 1877 -1 0 unknown yes yes
30 services 1808 yes no cellular may 83 -1 0 unknown no no
22 admin. 4111 no yes cellular aug 65 -1 0 unknown no no
39 blue-collar 52 no no cellular aug 69 -1 0 unknown no no
24 unemployed 119 no no unknown sep 51 -1 0 unknown no no
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
Berikut ini adalah tabel untuk pengujian confusion matrix.
Tabel 6.5 Confusion Matrix
Prediksi
Positif Negatif A
ktu
al Positif 8 2
Negatif 2 8
Setelah sistem melakukan identifikasi, hitung nilai akurasi
dengan menggunakan rumus confusion matrix (2.2), yaitu sebagai
berikut.
Data pengujian akurasi yang digunakan pada tabel diatas
sebanyak 20 data nasabah, yang terdiri dari 8 data positif dan 12 data
negatif dari hasil identifikasi case–based reasoning. Hasil
identifikasi yang dilakukan oleh sistem, sebanyak 10 data nasabah
yang termasuk prediksi positif dan 10 data nasabah yang termasuk
prediksi negatif, maka jumlah identifikasi yang benar adalah 16 data.
Berdasarkan pengujian akurasi, didapatkan hasil akurasi dari
identifikasi data nasabah dari sistem sebesar 80%. Kesimpulan yang
diperoleh dari pengujian akurasi ini adalah case–based reasoning
dapat digunakan sebagai metode untuk melakukan prediksi dengan
tingkat akurasi yang cukup optimal dan akurat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
6.4. Kelebihan dan Kekurangan Perangkat Lunak
Berikut adalah kelebihan dan kekurangan dari perangkat lunak atau
sistem dalam mengidentifikasi case–based reasoning.
6.5.1. Kelebihan Perangkat Lunak
Kelebihan yang dimiliki oleh perangkat lunak atau sistem
dalam mengidentifikasi case–based reasoning adalah :
1. Pengguna (user), khususnya pada bagian telemarketing sebuah
bank dapat dengan mudah dan terbantu dalam memprediksi
nasabah yang berpotensi membuka simpanan deposito.
2. Sistem atau perangkat lunak dapat mengidentifikasi case–based
reasoning dan memprediksi nasabah yang berpotensi membuka
simpanan deposito dengan hasil perhitungan yang akurat.
3. Pengguna (user) dapat melihat hasil nilai kemiripan dari kasus
lama dengan kasus baru.
6.5.2. Kekurangan Perangkat Lunak
Kekurangan yang dimiliki oleh perangkat lunak atau sistem
dalam mengidentifikasi case–based reasoning adalah :
1. Data nasabah yang digunakan sebagai masukan oleh perangkat
lunak terbatas, yaitu hanya data file yang berekstensi .xls.
2. Perangkat lunak belum mampu mengidentifikasi sembarang
data.
3. Kriteria pada data nasabah yang digunakan tidak dapat ditambah
atau dikurangi.
4. Sistem belum dapat menjamin prediksi terbaik atau optimum,
karena identifikasi ini berdasarkan kasus lampau, apabila kasus
lampau salah maka tahapan revise sangat diperlukan untuk
mengurangi tingkat kesalahan.
5. Sistem belum mampu mengidentifikasi data nasabah berjumlah
banyak dalam waktu yang singkat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
BAB VII
PENUTUP
7.1. Kesimpulan
Berdasarkan hasil penelitian yang menerapkan metode case–based
reasoning untuk melakukan prediksi pada data nasabah dari sebuah bank di negara
Portugal yang berpotensi membuka simpanan deposito, menghasilkan kesimpulan
sebagai berikut :
1. Metode case–based reasoning dapat diterapkan untuk memprediksi data
nasabah yang berpotensi membuka simpanan deposito di sebuah bank di
negara Portugal.
2. Berdasarkan percobaan dengan menerapkan cross validation dan confusion
matrix untuk menguji akurasi sistem, dengan melakukan 3 kali percobaan
yaitu memasukan nilai k–fold dengan 3,5 dan 7, didapatkan tingkat akurasi
tertinggi yang dihasilkan dari menerapkan metode case–based reasoning
pada data nasabah ini yaitu sebesar 86% pada saat k = 5. Dari hasil ini dapat
disimpulkan bahwa sistem cukup mampu dalam menerapkan metode tersebut,
sistem mampu melakukan prediksi dengan tingkat akurasi yang cukup
optimal dan akurat.
7.2. Saran
Hasil penelitian yang menerapkan metode case–based reasoning untuk
melakukan prediksi pada data nasabah dari sebuah bank di negara Portugal yang
berpotensi membuka simpanan deposito memiliki saran untuk pengembangan
penelitian berikutnya di masa mendatang adalah sebagai berikut :
1. Perangkat lunak tidak hanya dapat menerima masukan data dari file yang
berekstensi .xls saja, namun juga dapat menerima masukan data dari file
berekstensi lain.
2. Perangkat lunak tidak hanya dapat menyimpan hasil identifikasi case–based
reasoning dengan file yang berekstensi .xls saja, namun juga dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
menyimpan hasil identifikasi case–based reasoning dengan file berekstensi
lain.
3. Perangkat lunak mampu membuat atribut data nasabah bersifat dinamis, yaitu
dapat melakukan tambah atribut data nasabah, sehingga dapat melakukan
identifikasi case–based reasoning di masa mendatang.
4. Perangkat lunak dapat melakukan proses identifikasi case–based reasoning
dengan data nasabah berjumlah banyak dalam waktu yang singkat.
5. Penelitian selanjutnya dapat menerapkan metode case–based reasoning
dengan data nasabah dari bank lain.
6. Penelitian selanjutnya dapat menerapkan data nasabah tersebut dengan
menerapkan metode berbeda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
DAFTAR PUSTAKA
Aamold A. dan Plaza E., 1994, Case-based Reasoning : foundation issues,
methodological variation and System approach, AI Communication 7(1), pp.
39-59
Althoff, K–D.dan Richter, M . 2011. Topics in Case–Based Reasoning. Berlin:
Springer, pp. 274–288
Ayyad, Usama. 1996. Advances in Knowledge Discovery and Data Mining. MIT
Press.
Chandra, Rudy., et.al, 2014, Implementasi Case–Based Reasoning pada Fitur
Rekomendasi Nakamnakam.com Berbasis Android di Kota Malang.
D. T. Larose, Discovering Knowledge In Data. United States of America: John
Wiley & Sons, Inc., 2005.
Han, J and M. Kamber. (2012). Data Mining : Concepts and Techniques 3rd
Edition. San Fransisco : Morgan Kaufmann Publishers.
Hoggson, N. F. (1926) Banking Through the Ages, New York, Dodd, Mead &
Company.
http://www.erabaru.net/2017/03/15/who-mengeluarkan-kriteria-baru-kelompok-
usia/http://www.erabaru.net/2017/03/15/who-mengeluarkan-kriteria-baru-
kelompok-usia/ diakses pada tanggal 03 April 2018 pada pukul 21.32 WIB.
https://data.world/uci/bank-marketing diakses pada tanggal 3 Oktober 2017 pada
pukul 17.00 WIB.
https://www.bportugal.pt/en diakses pada tanggal 13 Juni 2018 pada pukul 11.00
WIB.
Imama, C dan Indriyanti, A.D., 2013, Penerapan Case–Based Reasoning Dengan
Algoritma Nearest Neighbor Untuk Analisis Pemberian Kredit Di Lembaga
Pembiayaan.
Larose, Daniel T. 2005. Discovering Knowledge in Data : An Introduction to
Data Mining. John Willey & Sons, Inc.
Mantaras R.L., Mcsherry D., Bridge D., Leake D., Smyth B., Craw S., Falting B.,
Maher M.L., Cox M.T., Forbus K., Keane M., Aamodt A., Watson I., 2006,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
Retrieval, reuse, revision and retention in case-based reasoning, The
Knowledge Engineering Review, Vol. 20:3. 215-240, Cambridge University
Press, United Kingdom.
Melly, A.M., 2017, Penerapan Metode Enhanced Class Outlier Distance Based
Untuk Identifikasi Outlier Pada Data Hasil Ujian Nasional, Indeks Integritas
Dan Akreditasi Sekolah Menengah Atas.
Mulyana, S. dan Hartati, S. (2009), Tinjauan Singkat Perkembangan Case–Based
Reasoning. Jurnal Seminas IF. ISSN: 1979-2328.
Prabowo, D.R.A., 2012, Prediksi Nasabah Yang Berpotensi Membuka Simpanan
Deposito Menggunakan Naive Bayes Berbasis Particle Swarm Optimization.
Rahmansyah,A, “Getting Started: Weka. Application, Information Technology”,
2014.
Rizki, Muhammad., 2014, Implementasi Data Mining Untuk Memprediksi Data
Nasabah Bank Dalam Penawaran Deposito Berjangka Dengan
Menggunakan Algoritma Klasifikasi Naive Bayes.
R. Kohavi, "A study of Cross-Validation and Bootstrap for Accuracy Estimation
and Model Selection", 1995.
[Online].Available:http://frostiebek.free.fr/docs/Machine%20Learning/validat
ion-1.pdf. [Accessed 21 April 2018].
S. K. Pal dan S. C. K. Shiu, Foundations of Soft Case–Based Reasoning, John
Wiley & Sons, Inc., Hoboken, 2004, ISBN 0471086355.
S. Montani dan L. C. Jain, Successful Case–Based Reasoning Application – 1,
Springer–Verlag, Berlin, 2010, ISBN 9783642140778
S. Moro and R. M. S. Laureano, “Using Data Mining for Bank Direct Marketing:
An Aplication of The CRISP–DM Methodology.” Instituto Universitario de
Lisboa, 2011.
S. Mujab, “PENCARIAN MODEL TERBAIK ANTARA ALGORITMA C4.5
DAN C4.5 BERBASIS PARTICLE SWARM OPTIMIZATION UNTUK
PREDIKI PROMOSI DEPOSITO.” Universitas Dian Nuswantoro Skripsi
Teknik Informatika, 2013.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
Turban, E, 2005, Decision Support Systems and Intelligent Systems Edisi Bahasa
Indonesia Jilid 1. Andi: Yogyakarta.
Utami dan Asnawati. (2015). Rekayasa Perangkat Lunak. Yogyakarta :
Deepublish.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
LAMPIRAN 1 : Narasi Use Case
1. Narasi Use Case Pilih File
Use-Case Name : Pilih File
Use-Case ID : YGS–01
Priority : High
Primary Business Actor : User
Description :
Use case ini mendeskripsikan tentang bagaimana user dalam
melakukan proses memilih file berekstensi .xls yang akan
digunakan dalam melakukan proses mengidentifikasi case–
based reasoning.
Precondition : User telah masuk pada sistem dan berada pada halaman
preprocessing.
Typical Course of Events
:
Actor Action System Response
Step 1 : User menekan
tombol “Pilih File” untuk
memasukkan file
berekstensi .xls untuk
digunakan dalam proses
mengidentifikasi case–
based reasoning.
Step 2 : Sistem akan
menampilkan pesan dialog yang
digunakan untuk memilih file
yang berada pada direktori
komputer.
Step 3 : User memilih file
yang akan digunakan
dalam proses identifikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
case–based reasoning
yang ada pada direktori
komputer.
Step 4 : Sistem akan
menampikan data pada tabel di
halaman preprocessing.
Alternate courses :
Step 1 :
- Jika user memasukkan file selain file berekstensi .xls atau
bukan merupakan file Ms.Excel maka sistem akan
menampilkan pesan dialog berupa peringatan bahwa file
yang dimasukkan tidak sesuai atau bukan bertipe
Ms.Excel.
Postcondition : Menampilkan data dalam tabel pada halaman preprocessing.
2. Narasi Use Case Identifikasi Case–Based Reasoning.
Use-Case Name : Identifikasi case–based reasoning.
Use-Case ID : YGS–02
Priority : High
Primary Business Actor : User
Description :
Use case ini mendeskripsikan tentang bagaimana user dalam
melakukan proses mengidentifikasi case–based reasoning
menggunakan algoritma nearest neighbor.
Precondition :
User telah memasukkan data atau file berekstensi .xls dan
menampilkan data tersebut dalam tabel pada halaman
preprocessing.
Typical Course of Events
:
Actor Action System Response
Step 1 : User menekan
tombol “Identifikasi CBR”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
pada halaman
preprocessing.
Step 2 : Sistem akan
menjalankan algoritma nearest
neighbor.
Step 3 : Sistem akan
menampilkan hasil dari
identifikasi case–based
reasoning pada halaman hasil
identifikasi.
Alternate courses : -
Postcondition : Menampilkan hasil identifikasi case–based reasoning dalam
tabel pada halaman hasil.
3. Narasi Use Case Simpan Hasil Identifikasi Case–Based Reasoning
Use-Case Name : Menyimpan Hasil Identifikasi case–based reasoning
Use-Case ID : YGS–03
Priority : Medium
Primary Business Actor : User
Description :
Use case ini mendeskripsikan tentang bagaimana user dalam
melakukan proses menyimpan hasil identifikasi case–based
reasoning dalam bentuk file berekstensi .xls.
Precondition :
Sistem telah menampilkan hasil identifikasi case–based
reasoning pada tabel pada halaman hasil.
Typical Course of Events
:
Actor Action System Response
Step 1 : User menekan
tombol “Simpan Hasil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
Identifikasi CBR” pada
halaman hasil
Step 2 : Sistem menampilkan
kotak dialog untuk melakukan
penyimpanan.
Step 3 : User memilih
lokasi penyimpanan di
direktori komputer.
Step 4 : Sistem akan
menyimpan hasil identifikasi
case–based reasoning berupa
file dengan ekstensi .xls pada
direktori komputer yang telah
dipilih.
Alternate courses : -
Postcondition :
Menyimpan hasil identifikasi case–based reasoning berupa
file dengan ekstensi .xls pada direktori komputer yang telah
dipilih.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
LAMPIRAN 2 : Diagram Aktivitas
1. Diagram Aktivitas Pilih File
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
2. Diagram Aktivitas Identifikasi Case–Based Reasoning
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
3. Simpan Hasil Identifikasi Case–Based Reasoning
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
LAMPIRAN 3 : Diagram Sekuen
1. Diagram Sekuen Pilih File
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
2. Diagram Sekuen Identifikasi Case–Based Reasoning
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
3. Diagram Sekuen Simpan Hasil Identifikasi Case–Based Reasoning
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
LAMPIRAN 4 : Algoritma Per–Method
Tabel 4.3 Rincian Algoritma per–Method Kelas HomeControl.java
NAMA METHOD FUNGSI METHOD
ALGORITMA
METHOD
showBeranda()
Method ini digunakan
untuk menampilkan
halaman awal atau
halaman utama
1. Memanggil method
showMain() dari
method getFrame().
showBantuan()
Method ini digunakan
untuk menampilkan
halaman bantuan.
1. Memanggil method
clearDesktop() dari
method getFrame().
2. Dengan memanggil
objek JPanel dengan
nama bantuanPanel.
showTentang()
Method ini digunakan
untuk menampilkan
halaman tentang.
1. Memanggil method
clearDesktop() dari
method getFrame().
2. Dengan memanggil
objek JPanel dengan
nama tentangPanel.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
Tabel 4.4 Rincian Algoritma per–Method Kelas PreprocessControl.java
NAMA METHOD FUNGSI METHOD ALGORITMA METHOD
proses(final
List<DataSet>
dataSetLama, final
List<DataSet>
dataSetBaru)
Method ini digunakan
untuk memanggil
method proses pada
objek cbr dengan data
yang ditampung dari
ArrayList<DataSet>.
1. Mengembalikan nilai
proses yang berisi
dataSetLama dan
dataSetBaru pada
objek cbr.
showItSelf()
Method ini digunakan
untuk menampilkan
mainPanel.
1. Memanggil method
clearDesktop() dari
method getFrame().
2. Dengan memanggil
objek JPanel dengan
nama tentangPanel.
saveConclusion(Hasil
result, String fileLocation)
Method ini digunakan
untuk menyimpan hasil
detail dari identifikasi
case – based reasoning
ke direktori komputer
dalam bentuk file
berekstensi .xls.
1. Mendeklarasikan
fungsi try catch.
2. Didalam fungsi try
dideklarasikan fungsi
untuk membuat cell
ataupun tabel yang
akan muncul pada saat
file disimpan.
3. Dan terdapat
perulangan for, yang
berisi nilai untuk
mengembalikan nilai
atribut–atribut yang
ada pada data.
saveResult(Hasil result, Method ini digunakan 1. Mendeklarasikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
105
String fileLocation) untuk menyimpan hasil
detail dari identifikasi
case – based reasoning
ke direktori komputer
dalam bentuk file
berekstensi .xls.
fungsi try catch.
2. Didalam fungsi try
dideklarasikan fungsi
untuk membuat cell
ataupun tabel yang
akan muncul pada saat
file disimpan.
3. Dan terdapat
perulangan for, yang
berisi nilai untuk
mengembalikan nilai
atribut–atribut yang
ada pada data.
createRow(Sheet sheet, int
rowNum)
Method ini digunakan
untuk membuat baris
baru didalam sheet.
1. Mendeklarasikan
objek Row dengan
nama rows.
2. Jika row sama dengan
null, maka baris akan
ditambahkan pada
sheet.
3. Kemudian
mengembalikan nilai
dari row.
createTable(DataSet
dataSet, HasilDetail
resultDetail, Sheet sheet,
int rowNum, int colNum,
CellStyle headerCellStyle,
CellStyle borderStyle,
CellStyle titleStyle)
Method ini digunakan
untuk membuat tabel
pada file hasil yang
akan disimpan.
1. Membuat objek header
yang akan digunakan
sebagai row pada
Ms.Excel.
2. Membuat objek cell
yang akan digunakan
sebagai cell pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
Ms.Excel.
3. Mendeklarasikan
fungsi if, yaitu jika
nilai tidak sama
dengan null, maka
akan memanggil
method setCellStyle
untuk membuat tabel
pada Ms.Excel.
4. Kemudian
mendeklarasikan
fungsi perulangan for,
untuk menampung
nilai untuk setiap nilai.
5. Selanjutnya adalah
memanggil method
setCellValue, untuk
membuat “JUMLAH”
yang akan digunakan
untuk nilai jumlah
similarity pada
Ms.Excel.
6. Selanjutnya adalah
memanggil method
setCellValue, untuk
membuat
“KEDEKATAN” yang
akan digunakan untuk
nilai kedekatan atribut
pada Ms.Excel.
cellDeveloper(DataSet Method ini digunakan 1. Mendeklarasikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
107
dataSet, HasilDetail
resultDetail, int row, int
col)
untuk menampung nilai
untuk setiap cell.
percabangan switch
case, dengan switch
menggunakan col.
2. Ketika kondisi col
sama dengan 0, maka
akan memangil nilai
array row.
3. Ketika kondisi col
sama dengan 1, maka
akan melakukan
return getAtribut yang
berisi nilai dataSet dan
row.
4. Ketika kondisi col
sama dengan 2, maka
akan melakukan
return getAtribut yang
memanggil method
getDataLama() pada
resultDetail.
5. Ketika kondisi col
sama dengan 3, maka
akan melakukan
return yang berisi nilai
resultDetail.
6. Ketika kondisi col
sama dengan 4, maka
akan melakukan
return getBobot yang
berisi nilai row.
7. Ketika kondisi col
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
108
sama dengan 5, maka
akan melakukan
return getSimilarity
yang berisi nilai
resultDetail.
getSimilarity(HasilDetail
rd, int index)
Method ini digunakan
untuk memanggil nilai
dari similarity untuk
setiap atribut.
1. Membuat atribut rd
bertipe kelas
HasilDetail dan index
bertipe Integer.
2. Kemudian masuk ke
dalam percabangan
switch case, dengan
switch menggunakan
index.
3. Ketika kondisi index
sama dengan 0, maka
akan memanggil
method getSimilarity()
dari objek rd untuk
mendapatkan nilai
age.
4. Ketika kondisi index
sama dengan 1, maka
akan memanggil
method getSimilarity()
dari objek rd untuk
mendapatkan nilai job.
5. Ketika kondisi index
sama dengan 2, maka
akan memanggil
method getSimilarity()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
109
dari objek rd untuk
mendapatkan nilai
balance.
6. Ketika kondisi index
sama dengan 3, maka
akan memanggil
method getSimilarity()
dari objek rd untuk
mendapatkan nilai
housing.
7. Ketika kondisi index
sama dengan 4, maka
akan memanggil
method getSimilarity()
dari objek rd untuk
mendapatkan nilai
loan.
8. Ketika kondisi index
sama dengan 5, maka
akan memanggil
method getSimilarity()
dari objek rd untuk
mendapatkan nilai
contact.
9. Ketika kondisi index
sama dengan 6, maka
akan memanggil
method getSimilarity()
dari objek rd untuk
mendapatkan nilai
month.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
110
10. Ketika kondisi index
sama dengan 7, maka
akan memanggil
method getSimilarity()
dari objek rd untuk
mendapatkan nilai
duration.
11. Ketika kondisi index
sama dengan 8, maka
akan memanggil
method getSimilarity()
dari objek rd untuk
mendapatkan nilai
pDays.
12. Ketika kondisi index
sama dengan 9, maka
akan memanggil
method getSimilarity()
dari objek rd untuk
mendapatkan nilai
previous.
13. Ketika kondisi index
sama dengan 10, maka
akan memanggil
method getSimilarity()
dari objek rd untuk
mendapatkan nilai
poutcome.
getKedekatan(HasilDetail
rd, int index)
Method ini digunakan
untuk memanggil nilai
dari kedekatan untuk
1. Membuat atribut rd
bertipe kelas
HasilDetail dan index
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
111
setiap atribut. bertipe Integer.
2. Kemudian masuk ke
dalam percabangan
switch case, dengan
switch menggunakan
index.
3. Ketika kondisi index
sama dengan 0, maka
akan memanggil
method
getKedekatan_attribut(
) dari objek rd untuk
mendapatkan nilai
age.
4. Ketika kondisi index
sama dengan 1, maka
akan memanggil
method
getKedekatan_attribut(
) dari objek rd untuk
mendapatkan nilai job.
5. Ketika kondisi index
sama dengan 2, maka
akan memanggil
method
getKedekatan_attribut(
) dari objek rd untuk
mendapatkan nilai
balance.
6. Ketika kondisi index
sama dengan 3, maka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
112
akan memanggil
method
getKedekatan_attribut(
) dari objek rd untuk
mendapatkan nilai
housing.
7. Ketika kondisi index
sama dengan 4, maka
akan memanggil
method
getKedekatan_attribut(
) dari objek rd untuk
mendapatkan nilai
loan.
8. Ketika kondisi index
sama dengan 5, maka
akan memanggil
method
getKedekatan_attribut(
) dari objek rd untuk
mendapatkan nilai
contact.
9. Ketika kondisi index
sama dengan 6, maka
akan memanggil
method
getKedekatan_attribut(
) dari objek rd untuk
mendapatkan nilai
month.
10. Ketika kondisi index
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
113
sama dengan 7, maka
akan memanggil
method
getKedekatan_attribut(
) dari objek rd untuk
mendapatkan nilai
duration.
11. Ketika kondisi index
sama dengan 8, maka
akan memanggil
method
getKedekatan_attribut(
) dari objek rd untuk
mendapatkan nilai
pDays.
12. Ketika kondisi index
sama dengan 9, maka
akan memanggil
method
getKedekatan_attribut(
) dari objek rd untuk
mendapatkan nilai
previous.
13. Ketika kondisi index
sama dengan 10, maka
akan memanggil
method
getKedekatan_attribut(
) dari objek rd untuk
mendapatkan nilai
poutcome.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
114
getBobot(int index)
Method ini digunakan
untuk memanggil nilai
bobot untuk setiap
atribut.
1. Membuat atribut index
bertipe Integer.
2. Kemudian masuk ke
dalam percabangan
switch case, dengan
switch menggunakan
index.
3. Ketika kondisi index
sama dengan 0, maka
akan memanggil nilai
BOBOT_ATTRIBUT
ES() dari kelas
Interval untuk
mendapatkan nilai
age.
4. Ketika kondisi index
sama dengan 1, maka
akan memanggil nilai
BOBOT_ATTRIBUT
ES() dari kelas
Interval untuk
mendapatkan nilai job.
5. Ketika kondisi index
sama dengan 2, maka
akan memanggil nilai
BOBOT_ATTRIBUT
ES() dari kelas
Interval untuk
mendapatkan nilai
balance.
6. Ketika kondisi index
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
115
sama dengan 3, maka
akan memanggil nilai
BOBOT_ATTRIBUT
ES() dari kelas
Interval untuk
mendapatkan nilai
housing.
7. Ketika kondisi index
sama dengan 4, maka
akan memanggil nilai
BOBOT_ATTRIBUT
ES() dari kelas
Interval untuk
mendapatkan nilai
loan.
8. Ketika kondisi index
sama dengan 5, maka
akan memanggil nilai
BOBOT_ATTRIBUT
ES() dari kelas
Interval untuk
mendapatkan nilai
contact.
9. Ketika kondisi index
sama dengan 6, maka
akan memanggil nilai
BOBOT_ATTRIBUT
ES() dari kelas
Interval untuk
mendapatkan nilai
month.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
116
10. Ketika kondisi index
sama dengan 7, maka
akan memanggil nilai
BOBOT_ATTRIBUT
ES() dari kelas
Interval untuk
mendapatkan nilai
duration.
11. Ketika kondisi index
sama dengan 8, maka
akan memanggil nilai
BOBOT_ATTRIBUT
ES() dari kelas
Interval untuk
mendapatkan nilai
pDays.
12. Ketika kondisi index
sama dengan 9, maka
akan memanggil nilai
BOBOT_ATTRIBUT
ES() dari kelas
Interval untuk
mendapatkan nilai
previous.
13. Ketika kondisi index
sama dengan 10, maka
akan memanggil nilai
BOBOT_ATTRIBUT
ES() dari kelas
Interval untuk
mendapatkan nilai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
117
poutcome.
getAttribute(DataSet
dataSet, int index)
1. Membuat atribut
dataSet bertipe kelas
DataSet dan index
bertipe Integer.
2. Kemudian masuk ke
dalam percabangan
switch case, dengan
switch menggunakan
index.
3. Ketika kondisi index
sama dengan 0, maka
akan memanggil
method getAge() dari
objek dataSet.
4. Ketika kondisi index
sama dengan 1, maka
akan memanggil
method getJob() dari
objek dataSet.
5. Ketika kondisi index
sama dengan 2, maka
akan memanggil
method getBalance()
dari objek dataSet.
6. Ketika kondisi index
sama dengan 3, maka
akan memanggil
method getHousing()
dari objek dataSet.
7. Ketika kondisi index
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
118
sama dengan 4, maka
akan memanggil
method getLoan() dari
objek dataSet.
8. Ketika kondisi index
sama dengan 5, maka
akan memanggil
method getContact()
dari objek dataSet.
9. Ketika kondisi index
sama dengan 6, maka
akan memanggil
method getMonth()
dari objek dataSet.
10. Ketika kondisi index
sama dengan 7, maka
akan memanggil
method getDuration()
dari objek dataSet.
11. Ketika kondisi index
sama dengan 8, maka
akan memanggil
method getpDays()
dari objek dataSet.
12. Ketika kondisi index
sama dengan 9, maka
akan memanggil
method getPrevious()
dari objek dataSet.
13. Ketika kondisi index
sama dengan 10, maka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
119
akan memanggil
method
getPoutCome() dari
objek dataSet.
openXLS(File file,
DataSet.KIND kind)
Method ini digunakan
untuk membaca file
excel yang dimasukkan
ke dalam sistem,
kemudian menyimpan
isi dari file .xls ke
dalam ArrayList bertipe
DataSet.
1. Membuat ArrayList
bertipe DataSet
dengan nama dataSets.
2. Membuat objek wb
bertipe Workbook
kemudian memanggil
method getSheetAt
dan isi parameter
dengan file .xls yang
akan diolah yaitu
menggunakan atribut
file.
3. Membuat objek sheet
bertipe Sheet yaitu
untuk menentukan
sheet yang akan diolah
pada file .xls.
4. Kemudian untuk
setiap baris objek
sheet simpan isi pada
setiap barisnya ke
dalam ArrayList.
5. Kemudian
mengembalikan
ArrayList data.
6. Jika data file yang
dimasukan tidak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
120
sesuai atau bukan .xls
maka akan muncul
pesan “Format Data
Salah! Proses
dibatalkan!”
verifyData(List<String>
data, DataSet.KIND kind)
Method ini digunakan
untuk melakukan
verifikasi file untuk
kasus yang akan
dimasukkan pada saat
preprocessing.
1. Membuat columns
bertipe array.
2. Mendeklarasikan
perulangan for yang
mendeklarasikan
atribut w bertipe
integer.
3. Didalamnya berisi
pendeklarasian if,
yaitu jika w lebih
besar sama dengan
panjang column, maka
akan melakukan
return false.
4. Dan jika data file yang
dimasukan bernilai
array w + 1, maka
akan melakukan
return false.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
121
Tabel 4.5 Rincian Algoritma per–Method Kelas Hasil.java
NAMA METHOD FUNGSI
METHOD ALGORITMA METHOD
getResultSets()
Method ini
digunakan untuk
menampung nilai
dari kelas HasilSet.
1. Mengembalikan nilai
dari resultSets .
Tabel 4.6 Rincian Algoritma per–Method Kelas HasilDetail.java
NAMA METHOD FUNGSI
METHOD
ALGORITMA
METHOD
getSimilarity()
Method ini
digunakan untuk
memanggil nilai dari
similarity dari kelas
NilaiAtribut.
1. Mengembalikan
nilai dari similarity
.
getKedekatan_attribut()
Method ini
digunakan untuk
memanggil nilai dari
kedekatan_attribut
dari kelas
NilaiAtribut.
1. Mengembalikan
nilai dari
kedekatan_attribut
.
jumlahSimilarity()
Method ini
digunakan untuk
menghitung
similarity.
1. Mendeklarasikan
atribut sum dengan
nilai sama dengan
0.
2. Dengan
perhitungan sum
sama dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
122
memanggil nilai
similarity yang
didapat dari
masing–masing
atribut yang sudah
didapat.
3. Kemudian
mengembalian nilai
sum
kedekatan()
Method ini
digunakan untuk
menghitung nilai
kedekatan.
1. Mengembalikan
sekaligus
menghitung nilai
dari kedekatan
dengan memanggil
method
jumlahSimilarity()
dibagi dengan
JUMLAH_BOBOT
yang dipanggil dari
kelas Interval.
Tabel 4.7 Rincian Algoritma per–Method Kelas HasilSet.java
NAMA METHOD FUNGSI
METHOD
ALGORITMA
METHOD
getBest()
Method ini
digunakan untuk
mendapatkan nilai
similarity yang
paling tinggi untuk
1. Mendeklarasikan
fungsi if, yang
didalamnya
melakukan
perulangan for dimana
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
123
kasus lama dan
kasus baru.
jika nilai objek w
sama dengan 0 maka
akan memanggil
method kedekatan() di
method get(w) yang
mana akan
menampilkan nilai
tertinggi yang
didapatkan dengan
memanggil
resultDetail.
2. Dan mengembalikan
nilai dari resultDetail.
getResultDetails() {
Method ini
digunakan untuk
menampung nilai
dari kelas ArrayList
HasilDetail.
1. Mengembalikan nilai
dari resultDetail.
Tabel 4.8 Rincian Algoritma per–Method Kelas Interval.java
NAMA METHOD FUNGSI
METHOD
ALGORITMA
METHOD
BOBOT_AGE(double param)
Method ini
digunakan untuk
merepresentasikan
nilai bobot dari
atribut age.
1. Mendeklarasikan
atribut param
yang bertipe
double.
2. Jika param lebih
besar sama
dengan 0 dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
124
param kurang
dari sama dengan
17, maka akan
mengembalikan
nilai bobot yaitu
0.
3. Jika param lebih
besar sama
dengan 18 dan
param kurang
dari sama dengan
65, maka akan
mengembalikan
nilai bobot yaitu
0,25.
4. Jika param lebih
besar sama
dengan 66 dan
param kurang
dari sama dengan
79, maka akan
mengembalikan
nilai bobot yaitu
0,5.
5. Jika param lebih
besar sama
dengan 80 dan
param kurang
dari sama dengan
99, maka akan
mengembalikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
125
nilai bobot yaitu
0,75
BOBOT_BALANCE(double
param)
Method ini
digunakan untuk
merepresentasikan
nilai bobot atribut
balance.
1. Mendeklarasikan
atribut param
yang bertipe
double.
2. Jika param lebih
besar sama
dengan
-3333 dan param
kurang dari sama
dengan 2390,525,
maka akan
mengembalikan
nilai bobot yaitu
0.
3. Jika param lebih
besar sama
dengan 2391,525
dan param
kurang dari sama
dengan 8095,049,
maka akan
mengembalikan
nilai bobot yaitu
0,8.
4. Jika param lebih
besar sama
dengan 8096,049
dan param
kurang dari sama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
126
dengan 13799,57,
maka akan
mengembalikan
nilai bobot yaitu
0,15.
5. Jika param lebih
besar sama
dengan 13800,57
dan param
kurang dari sama
dengan 19504,1,
maka akan
mengembalikan
nilai bobot yaitu
0,23.
6. Jika param lebih
besar sama
dengan 19505,1
dan param
kurang dari sama
dengan 25208,62,
maka akan
mengembalikan
nilai bobot yaitu
0,31.
7. Jika param lebih
besar sama
dengan 25209,62
dan param
kurang dari sama
dengan 30913,15,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
127
maka akan
mengembalikan
nilai bobot yaitu
0,38.
8. Jika param lebih
besar sama
dengan 30914,15
dan param
kurang dari sama
dengan 36617,67,
maka akan
mengembalikan
nilai bobot yaitu
0,46.
9. Jika param lebih
besar sama
dengan 36618,67
dan param
kurang dari sama
dengan 42322,2,
maka akan
mengembalikan
nilai bobot yaitu
0,54.
10. Jika param lebih
besar sama
dengan 42323,2
dan param
kurang dari sama
dengan 48026,72,
maka akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
128
mengembalikan
nilai bobot yaitu
0,62.
11. Jika param lebih
besar sama
dengan 48027,72
dan param
kurang dari sama
dengan 53731,25,
maka akan
mengembalikan
nilai bobot yaitu
0,69.
12. Jika param lebih
besar sama
dengan 53732,25
dan param
kurang dari sama
dengan 59435,77,
maka akan
mengembalikan
nilai bobot yaitu
0,77.
13. Jika param lebih
besar sama
dengan 59436,77
dan param
kurang dari sama
dengan 65140,29,
maka akan
mengembalikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
129
nilai bobot yaitu
0,85.
14. Jika param lebih
besar sama
dengan 65141,29
dan param
kurang dari sama
dengan 70844,82,
maka akan
mengembalikan
nilai bobot yaitu
0,92.
15. Jika param lebih
besar sama
dengan 70845,82
dan param
kurang dari sama
dengan 76549,34,
maka akan
mengembalikan
nilai bobot yaitu
1.
BOBOT_DURATION(double
param)
Method ini
digunakan untuk
merepresentasikan
nilai bobot atribut
duration.
1. Mendeklarasikan
atribut param
yang bertipe
double.
2. Jika param lebih
besar sama
dengan
4 dan param
kurang dari sama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
130
dengan 467,5535,
maka akan
mengembalikan
nilai bobot yaitu
0,08.
3. Jika param lebih
besar sama
dengan 468,5535
dan param
kurang dari sama
dengan 699,8302,
maka akan
mengembalikan
nilai bobot yaitu
0,17.
4. Jika param lebih
besar sama
dengan 700,8302
dan param
kurang dari sama
dengan 932,1069,
maka akan
mengembalikan
nilai bobot yaitu
0,25.
5. Jika param lebih
besar sama
dengan 933,1069
dan param
kurang dari sama
dengan 1164,384,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
131
maka akan
mengembalikan
nilai bobot yaitu
0,33.
6. Jika param lebih
besar sama
dengan 1165,384
dan param
kurang dari sama
dengan 1396,66,
maka akan
mengembalikan
nilai bobot yaitu
0,42.
7. Jika param lebih
besar sama
dengan 1397,66
dan param
kurang dari sama
dengan 1628,937,
maka akan
mengembalikan
nilai bobot yaitu
0,5.
8. Jika param lebih
besar sama
dengan 1629,937
dan param
kurang dari sama
dengan 1861,214,
maka akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
132
mengembalikan
nilai bobot yaitu
0,58.
9. Jika param lebih
besar sama
dengan 1862,214
dan param
kurang dari sama
dengan 2093,491,
maka akan
mengembalikan
nilai bobot yaitu
0,67.
10. Jika param lebih
besar sama
dengan 2094,491
dan param
kurang dari sama
dengan 2325,767,
maka akan
mengembalikan
nilai bobot yaitu
0,75.
11. Jika param lebih
besar sama
dengan 2326,767
dan param
kurang dari sama
dengan 2558,044,
maka akan
mengembalikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
133
nilai bobot yaitu
0,83.
12. Jika param lebih
besar sama
dengan 2559,044
dan param
kurang dari sama
dengan 2790,321,
maka akan
mengembalikan
nilai bobot yaitu
0,92.
13. Jika param lebih
besar sama
dengan 2791,321
dan param
kurang dari sama
dengan 3022,598,
maka akan
mengembalikan
nilai bobot yaitu
1.
BOBOT_PDAYS(double
param)
Method ini
digunakan untuk
merepresentasikan
nilai bobot atribut
duration.
1. Mendeklarasikan
atribut param
yang bertipe
double.
2. Jika param lebih
besar sama
dengan
-1 dan param
kurang dari sama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
134
dengan 65,75714,
maka akan
mengembalikan
nilai bobot yaitu
0.
3. Jika param lebih
besar sama
dengan 66,75714
dan param
kurang dari sama
dengan 133,5143,
maka akan
mengembalikan
nilai bobot yaitu
0,08.
4. Jika param lebih
besar sama
dengan 134,5143
dan param
kurang dari sama
dengan 201,2714,
maka akan
mengembalikan
nilai bobot yaitu
0,17.
5. Jika param lebih
besar sama
dengan 202,2714
dan param
kurang dari sama
dengan 269,0285,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
135
maka akan
mengembalikan
nilai bobot yaitu
0,25.
6. Jika param lebih
besar sama
dengan 270,0285
dan param
kurang dari sama
dengan 336,7857,
maka akan
mengembalikan
nilai bobot yaitu
0,33.
7. Jika param lebih
besar sama
dengan 337,7857
dan param
kurang dari sama
dengan 404,5428,
maka akan
mengembalikan
nilai bobot yaitu
0,42.
8. Jika param lebih
besar sama
dengan 405,5428
dan param
kurang dari sama
dengan 472,3,
maka akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
136
mengembalikan
nilai bobot yaitu
0,5.
9. Jika param lebih
besar sama
dengan 473,3 dan
param kurang
dari sama dengan
540,0571, maka
akan
mengembalikan
nilai bobot yaitu
0,58.
10. Jika param lebih
besar sama
dengan 541,0571
dan param
kurang dari sama
dengan 607,8142,
maka akan
mengembalikan
nilai bobot yaitu
0,67.
11. Jika param lebih
besar sama
dengan 608,8142
dan param
kurang dari sama
dengan 675,5714,
maka akan
mengembalikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
137
nilai bobot yaitu
0,75.
12. Jika param lebih
besar sama
dengan 676,5714
dan param
kurang dari sama
dengan 743,3285,
maka akan
mengembalikan
nilai bobot yaitu
0,83.
13. Jika param lebih
besar sama
dengan 744,3285
dan param
kurang dari sama
dengan 811,0856,
maka akan
mengembalikan
nilai bobot yaitu
0,92.
14. Jika param lebih
besar sama
dengan 812,0856
dan param
kurang dari sama
dengan 878,8428,
maka akan
mengembalikan
nilai bobot yaitu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
138
1.
BOBOT_PREVIOUS(double
param)
Method ini
digunakan untuk
merepresentasikan
nilai bobot atribut
previous.
1. Mendeklarasikan
atribut param
yang bertipe
double.
2. Jika param lebih
besar sama
dengan
0 dan param
kurang dari sama
dengan 1,913909,
maka akan
mengembalikan
nilai bobot yaitu
0.
3. Jika param lebih
besar sama
dengan
2,913909 dan
param kurang
dari sama dengan
4,827817, maka
akan
mengembalikan
nilai bobot yaitu
0,13.
4. Jika param lebih
besar sama
dengan
5,827817 dan
param kurang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
139
dari sama dengan
7,741726, maka
akan
mengembalikan
nilai bobot yaitu
0,25.
5. Jika param lebih
besar sama
dengan
8,741726 dan
param kurang
dari sama dengan
10,65563, maka
akan
mengembalikan
nilai bobot yaitu
0,38.
6. Jika param lebih
besar sama
dengan
11,65563 dan
param kurang
dari sama dengan
13,56954, maka
akan
mengembalikan
nilai bobot yaitu
0,5.
7. Jika param lebih
besar sama
dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
140
14.56954 dan
param kurang
dari sama dengan
16.48345, maka
akan
mengembalikan
nilai bobot yaitu
0,63.
8. Jika param lebih
besar sama
dengan
17,48345 dan
param kurang
dari sama dengan
19,39736, maka
akan
mengembalikan
nilai bobot yaitu
0,75.
9. Jika param lebih
besar sama
dengan
20,39736 dan
param kurang
dari sama dengan
22,31127, maka
akan
mengembalikan
nilai bobot yaitu
0,88.
10. Jika param lebih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
141
besar sama
dengan
23,31127 dan
param kurang
dari sama dengan
25,22518, maka
akan
mengembalikan
nilai bobot yaitu
1.
Tabel 4.9 Rincian Algoritma per–Method Kelas XLSFilter.java
NAMA METHOD FUNGSI
METHOD ALGORITMA METHOD
accept(File f)
Method ini
digunakan untuk
membuat agar
supaya file yang
dimasukan hanya
dapat file bertipe
.xls.
1. Mendeklarasikan
atribut f yang bertipe
kelas File.
2. Jika nama file yang
dimasukan berekstensi
.xls maka akan
mengembalikan nilai
true.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
142
Tabel 4.10 Rincian Algoritma per–Method Kelas CBR.java
NAMA METHOD FUNGSI
METHOD
ALGORITMA
METHOD
proses(final
List<DataSet>
dataSetLama, final
List<DataSet>
dataSetBaru)
Method ini
digunakan pada
saat melakukan
proses
preprocessing
data.
1. Mendeklarasikan
DataSet yang berupa
arrayList.
2. Membuat objek result
dengan parameter
dataSetLama dan
dataSetBaru yang
diambil dari kelas
Hasil.
3. Mendeklarasikan
perulangan for, yang
membuat objek w
bertipe integer.
4. Didalamnya
melakukan
mendeklarasikan
fungsi try catch.
5. Didalamnya terdapat
fungsi perulangan for,
yang mana jika
variabel e bernilai
sama dengan 0 dan
bernilai kurang dari
dataSetLama.size()
maka akan
meamanggil
menghitung
kedekatan dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
143
memanggil method
hitungKedekatan()
dengan mendapatkan
nilai interval dulu
untuk setiap atribut.
6. Lalu menghitung
similarity dengan
memanggil method
hitungSimilarity()
untuk masing masing
atribut.
7. Dan akan memanggil
method add yang
berisi resultDetail dari
getResultDetail() pada
kelas resultSet().
hitungKedekatan(double
x, double y)
Method ini
digunakan untuk
menghitung nilai
kedekatan.
1. Mengembalikan
sekaligus menghitung
nilai dari kedekatan
dengan memanggil
method to pada kelas
Round dengan
perhitungan
kedekatan
didalamnya.
hitungSimiliarity(double
s, double w)
Method ini
digunakan untuk
menghitung
similarity.
1. Mengembalikan
sekaligus menghitung
nilai dari similarity
dengan memanggil
method to pada kelas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
144
Round dengan
perhitungan similarity
didalamnya.
hitungSimiliarity(double[]
s, double[] w)
Method ini
digunakan untuk
menghitung
similarity
1. Mendeklarasikan
variabel s dan w yang
bertipe array double.
2. Jika panjang s tidak
sama dengan w maka
akan mengembalikan
nilai 0.
3. Lalu mendeklarasikan
fungsi perulangan for,
yang berisi rumus
untuk menghitung
similarity yaitu
mengalikan s dengan
w yang berisi array[i].
Tabel 4.11 Rincian Algoritma per–Method Kelas HalamanHome.java
NAMA METHOD FUNGSI
METHOD ALGORITMA METHOD
view() Method ini
digunakan untuk
memanggil method
openTarget() untuk
menampilkan
halaman home atau
halaman awal
beserta gambar.
1. Mendeklarasikan
fungsi if, yaitu jika file
yang dimasukkan ada
dan merupakan target
maka akan memanggil
method openTarget
yang berisi gambar
logo pada halaman
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
145
home atau halaman
awal.
openTarget(File
reference, int width,
int heigh)
Method ini
digunakan untuk
memanggil gambar
atau icon logo yang
ada pada halaman
awal.
1. Mendeklarasikan
fungsi try catch
2. Gambar akan
dipanggil dengan
objek targetImg pada
Bufferedmage.
Tabel 4.12 Rincian Algoritma per–Method Kelas HalamanPreprocess.java
NAMA METHOD FUNGSI
METHOD
ALGORITMA
METHOD
prosesData()
Method ini
digunakan pada
saat tombol
Identifikasi CBR.
1. Mendeklarasikan
fungsi if, jika gambar
atau icon tidak sama
dengan null, maka
akan menampilkan
pesan dialog
“Silahkan tunggu..
Sistem sedang
memproses data.”
Dan akan memanggil
method
initTableResult() dan
method
initTableConclusion(
) dan membuat
method setVisible
bernilai true.
saveResult(File dir) Method ini 1. Mendeklarasikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
146
digunakan pada
saat tombol
Simpan Hasil
Identifikasi CBR
pada halaman
hasil dijalankan.
path untuk
memanggil method
getAbsolutePath()
yang digunakan
untuk meletakkan
file yang akan
disimpan pada
direktori komputer.
2. Kemudian
menjalankan
JoptinePane untuk
menampilkan pesan
dialog “Silahkan
tunggu.. Sistem
sedang memproses
data.”
3. Lalu menjalankan
method setVisible()
yang bernilai true.
saveConclusion(File dir)
Method ini
digunakan pada
saat tombol
Simpan Hasil
Identifikasi CBR
pada halaman
hasil detail
dijalankan.
1. Mendeklarasikan
path untuk
memanggil method
getAbsolutePath()
yang digunakan
untuk meletakkan
file yang akan
disimpan pada
direktori komputer.
2. Kemudian
menjalankan
JoptinePane untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
147
menampilkan pesan
dialog “Silahkan
tunggu.. Sistem
sedang memproses
data.”
3. Lalu menjalankan
method setVisible()
yang bernilai true.
initTableResult()
Method ini
digunakan untuk
membuat tab
Hasil pada saat
preprocessing
selesai.
1. Mendeklarasikan
method method yang
sudah ada pada Java
untuk memanggil
panelResult yang
sudah dibuat.
2. Ketika tab Hasil
muncul, maka
tombol “Simpan
Hasil Identifikasi
CBR” akan muncul.
3. Didalamnya terdapat
fungsi if, yang akan
dijalankan pada saat
user melakukan klik
tombol Simpan Hasil
Identifikasi CBR,
yaitu jika hasil tidak
sama dengan null,
maka akan
menjalankan
saveResult untuk
meletakkan file ke
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
148
direktori komputer.
initTableConclusion()
Method ini
digunakan untuk
membuat tab
Hasil Detail pada
saat
preprocessing
selesai.
1. Mendeklarasikan
method method yang
sudah ada pada Java
untuk memanggil
panelConclusion
yang sudah dibuat.
2. Ketika tab Hasil
Detail muncul, maka
tombol “Simpan
Hasil Identifikasi
CBR” akan muncul.
3. Didalamnya terdapat
fungsi if, yang akan
dijalankan pada saat
user melakukan klik
tombol Simpan Hasil
Identifikasi CBR,
yaitu jika hasil tidak
sama dengan null,
maka akan
menjalankan
saveResult untuk
meletakkan file ke
direktori komputer.
initTableDataSetLama()
Method ini
digunakan untuk
membuat tab Data
Set Lama pada
saat
1. Mendeklarasikan
method method yang
sudah ada pada Java
untuk memanggil
tabPane yang sudah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
149
preprocessing
selesai.
dibuat.
2. Memanggil
setModel pada
TabelDataSet_Adapt
er pada objek
tableDataSetLama
untuk membuat tabel
pada tab Data Set
Lama.
initTableDataSetBaru()
Method ini
digunakan untuk
membuat tab Data
Set Baru pada saat
preprocessing
selesai.
1. Mendeklarasikan
method method yang
sudah ada pada Java
untuk memanggil
tabPane yang sudah
dibuat.
2. Memanggil
setModel pada
TabelDataSet_Adapt
er pada objek
tableDataSetBaru
untuk membuat tabel
pada tab Data Set
Baru.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
150
Tabel 4.13 Rincian Algoritma per–Method Kelas
TabelDataset_Adapter.java
NAMA METHOD FUNGSI METHOD ALGORITMA
METHOD
getColumnClass(int
columnIndex)
Method ini
digunakan untuk
menampilkan value
pada kolom tanpa
mendeklarasikan di
setiap baris kolom.
1. Mengembalikan
nilai class pada
kolom.
getColumnName(int
column)
Method ini
digunakan untuk
mendapatkan label
kolom dari tabel.
1. Mengembalikan
nilai dari atribut
column yang
merupakan
ArrayList
COLUMNS.
getRowCount()
Method ini
digunakan untuk
mendapatkan jumlah
baris dari sebuah
tabel.
1. Mengembalikan
jumlah baris yaitu
dari jumlah
ArrayList dataSet.
getColumnCount()
Method ini
digunakan untuk
mendapatkan jumlah
kolom dari tabel.
1. Mengembalikan
jumlah kolom.
getValueAt(final int
rowIndex, final int
columnIndex)
Method ini
digunakan untuk
mendapatkan value
pada baris dan kolom
1. Membuat objek
bertipe DataSet
dengan nama
dataSets.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
151
tertentu. 2. Objek dataSets
sama dengan
ArrayList data index
ke rowIndex.
3. Kemudian masuk ke
dalam percabangan
switch case, dengan
switch
menggunakan
columnIndex.
4. Ketika kondisi
columnIndex sama
dengan 0, maka
akan
mengembalikan
method getName()
dari objek dataSets.
5. Ketika kondisi
columnIndex sama
dengan 1, maka
akan
mengembalikan
method getAge()
dari objek dataSets.
6. Ketika kondisi
columnIndex sama
dengan 2, maka
akan
mengembalikan
method getJob()
dari objek dataSets.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
152
7. Ketika kondisi
columnIndex sama
dengan 3, maka
akan
mengembalikan
method
getBalance() dari
objek dataSets.
8. Ketika kondisi
columnIndex sama
dengan 4, maka
akan
mengembalikan
method
getHousing() dari
objek dataSets.
9. Ketika kondisi
columnIndex sama
dengan 5, maka
akan
mengembalikan
method getLoan()
dari objek dataSets.
10. Ketika kondisi
columnIndex sama
dengan 6, maka
akan
mengembalikan
method getContact()
dari objek dataSets.
11. Ketika kondisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
153
columnIndex sama
dengan 7, maka
akan
mengembalikan
method getMonth()
dari objek dataSets.
12. Ketika kondisi
columnIndex sama
dengan 8, maka
akan
mengembalikan
method
getDuration() dari
objek dataSets.
13. Ketika kondisi
columnIndex sama
dengan 9, maka
akan
mengembalikan
method getpDays()
dari objek dataSets.
14. Ketika kondisi
columnIndex sama
dengan 10, maka
akan
mengembalikan
method
getPrevious() dari
objek dataSets.
15. Ketika kondisi
columnIndex sama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
154
dengan 11, maka
akan
mengembalikan
method
getPoutCome() dari
objek dataSets.
16. Ketika kondisi
columnIndex sama
dengan 12, maka
akan
mengembalikan
method getYN()
dari objek dataSets.
isCellEditable(int
rowIndex, int
columnIndex)
Method ini
digunakan untuk
melakukan
pengecekan apakah
sel pada baris dan
kolom tersebut dapat
diubah langung
melalui jTabel.
1. Mengembalikan
nilai return false,
dimana berisi nilai
boolean.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
155
Tabel 4.14 Rincian Algoritma per–Method Kelas
TabelHasilDetail_Adapter.java
NAMA METHOD FUNGSI METHOD ALGORITMA
METHOD
getColumnClass(int
columnIndex)
Method ini
digunakan untuk
menampilkan value
pada kolom tanpa
mendeklarasikan di
setiap baris kolom.
1. Mengembalikan
nilai class pada
kolom.
getColumnName(int
column)
Method ini
digunakan untuk
mendapatkan label
kolom dari tabel.
1. Mengembalikan
nilai dari atribut
column yang
merupakan
ArrayList
COLUMNS.
getRowCount()
Method ini
digunakan untuk
mendapatkan jumlah
baris dari sebuah
tabel.
1. Mengembalikan
jumlah baris yaitu
dari jumlah
ArrayList dataSet.
getColumnCount()
Method ini
digunakan untuk
mendapatkan jumlah
kolom dari tabel.
1. Mengembalikan
jumlah kolom.
getValueAt(final int
rowIndex, final int
columnIndex)
Method ini
digunakan untuk
mendapatkan value
1. Membuat objek
bertipe Hasil dengan
nama result.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
156
pada baris dan kolom
tertentu.
2. Membuat objek
bertipe JTable
dengan nama table
yang ditetapkan
nilai baris yaitu
(rowIndex, 170)
3. Membuat objek
bertipe double
dengan nama bobot
dan
mendeklarasikan
dengan nilai 0.
4. Jika nilai dari
columnIndex lebih
besar dari 0 dan
nilai columnIndex
kurang dari nilai
pada Interval maka
akan memanggil
nilai dari bobot
atribut tersebut.
5. Kemudian masuk ke
dalam percabangan
switch case, dengan
switch
menggunakan
columnIndex.
6. Ketika kondisi
columnIndex sama
dengan 0, maka
akan memanggil
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
157
method getName()
dari objek result.
7. Ketika kondisi
columnIndex sama
dengan 0, maka
akan
mengembalikan
method getName()
dari objek dataSets.
8. Ketika kondisi
columnIndex sama
dengan 1, maka
akan memanggil
method getAge()
dari objek result
untuk mendapatkan
nilai untuk NB, NL,
dan memanggil
method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
9. Ketika kondisi
columnIndex sama
dengan 2, maka
akan memanggil
method getJob()
dari objek result
untuk mendapatkan
nilai untuk NB, NL,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
158
dan memanggil
method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
10. Ketika kondisi
columnIndex sama
dengan 3, maka
akan memanggil
method
getBalance() dari
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
memanggil method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
11. Ketika kondisi
columnIndex sama
dengan 4, maka
akan memanggil
method
getHousing() dari
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
memanggil method
getSimilarity() dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
159
objek result untuk
mendapatkan
similarity.
12. Ketika kondisi
columnIndex sama
dengan 5, maka
akan memanggil
method getLoan()
dari objek result
untuk mendapatkan
nilai untuk NB, NL,
dan memanggil
method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
13. Ketika kondisi
columnIndex sama
dengan 6, maka
akan memanggil
method getContact()
dari objek result
untuk mendapatkan
nilai untuk NB, NL,
dan memanggil
method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
160
14. Ketika kondisi
columnIndex sama
dengan 7, maka
akan memanggil
method getMonth()
dari objek result
untuk mendapatkan
nilai untuk NB, NL,
dan memanggil
method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
15. Ketika kondisi
columnIndex sama
dengan 8, maka
akan memanggil
method
getDuration() dari
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
memanggil method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
16. Ketika kondisi
columnIndex sama
dengan 9, maka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
161
akan memanggil
method
getHousing() dari
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
memanggil method
getpDays() dari
objek result untuk
mendapatkan
similarity.
17. Ketika kondisi
columnIndex sama
dengan 10, maka
akan memanggil
method
getPrevious() dari
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
memanggil method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
18. Ketika kondisi
columnIndex sama
dengan 11, maka
akan memanggil
method
getPoutcome() dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
162
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
memanggil method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
19. Ketika kondisi
columnIndex sama
dengan 12, maka
akan memanggil
method
jumlahSimilarity()
dari objek result
untuk mendapatkan
nilai untuk
Similarity dan
memanggil method
getYN() dari objek
result untuk
mendapatkan hasil.
isCellEditable(int
rowIndex, int
columnIndex)
Method ini
digunakan untuk
melakukan
pengecekan apakah
sel pada baris dan
kolom tersebut dapat
diubah langung
melalui jTabel.
1. Mengembalikan
nilai return false,
dimana berisi nilai
boolean.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
163
Tabel 4.15 Rincian Algoritma per–Method Kelas
TabelHasilKesimpulan.java
NAMA METHOD FUNGSI METHOD ALGORITMA
METHOD
getColumnClass(int
columnIndex)
Method ini
digunakan untuk
menampilkan value
pada kolom tanpa
mendeklarasikan di
setiap baris kolom.
1. Mengembalikan
nilai class pada
kolom.
getColumnName(int
column)
Method ini
digunakan untuk
mendapatkan label
kolom dari tabel.
1. Mengembalikan
nilai dari atribut
column yang
merupakan
ArrayList
COLUMNS.
getRowCount()
Method ini
digunakan untuk
mendapatkan jumlah
baris dari sebuah
tabel.
1. Mengembalikan
jumlah baris yaitu
dari jumlah
ArrayList dataSet.
getColumnCount()
Method ini
digunakan untuk
mendapatkan jumlah
kolom dari tabel.
1. Mengembalikan
jumlah kolom.
getValueAt(final int
rowIndex, final int
columnIndex)
Method ini
digunakan untuk
mendapatkan value
pada baris dan kolom
tertentu.
1. Membuat objek
bertipe Hasil dengan
nama result.
2. Membuat objek
bertipe JTable
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
164
dengan nama table
yang ditetapkan
nilai baris yaitu
(rowIndex, 40)
3. Membuat objek
bertipe double
dengan nama bobot
dan
mendeklarasikan
dengan nilai 0.
4. Jika nilai dari
columnIndex lebih
besar dari 0 dan
nilai columnIndex
kurang dari nilai
pada Interval maka
akan memanggil
nilai dari bobot
atribut tersebut.
5. Ketika kondisi
columnIndex sama
dengan 0, maka
akan
mengembalikan
method getName()
dari objek result.
6. Ketika kondisi
columnIndex sama
dengan 1, maka
akan
mengembalikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
165
method getAge()
dari objek result.
7. Ketika kondisi
columnIndex sama
dengan 2, maka
akan
mengembalikan
method getJob()
dari objek result.
8. Ketika kondisi
columnIndex sama
dengan 3, maka
akan
mengembalikan
method
getBalance() dari
objek result.
9. Ketika kondisi
columnIndex sama
dengan 4, maka
akan
mengembalikan
method
getHousing() dari
objek result.
10. Ketika kondisi
columnIndex sama
dengan 5, maka
akan
mengembalikan
method getLoan()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
166
dari objek result.
11. Ketika kondisi
columnIndex sama
dengan 6, maka
akan
mengembalikan
method getContact()
dari objek result.
12. Ketika kondisi
columnIndex sama
dengan 7, maka
akan
mengembalikan
method getMonth()
dari objek result.
13. Ketika kondisi
columnIndex sama
dengan 8, maka
akan
mengembalikan
method
getDuration() dari
objek result.
14. Ketika kondisi
columnIndex sama
dengan 9, maka
akan
mengembalikan
method getpDays()
dari objek result.
15. Ketika kondisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
167
columnIndex sama
dengan 10, maka
akan
mengembalikan
method
getPrevious() dari
objek result.
16. Ketika kondisi
columnIndex sama
dengan 11, maka
akan
mengembalikan
method
getPoutCome() dari
objek result.
17. Ketika kondisi
columnIndex sama
dengan 12, maka
akan
mengembalikan
method getYN()
dari objek result.
isCellEditable(int
rowIndex, int
columnIndex)
Method ini
digunakan untuk
melakukan
pengecekan apakah
sel pada baris dan
kolom tersebut dapat
diubah langung
melalui jTabel.
1. Mengembalikan
nilai return false,
dimana berisi nilai
boolean.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
168
Tabel 4.16 Rincian Algoritma per–Method Kelas
TabelHasilKesimpulan_Adapter.java
NAMA METHOD FUNGSI METHOD ALGORITMA
METHOD
getColumnClass(int
columnIndex)
Method ini
digunakan untuk
menampilkan value
pada kolom tanpa
mendeklarasikan di
setiap baris kolom.
1. Mengembalikan
nilai class pada
kolom.
getColumnName(int
column)
Method ini
digunakan untuk
mendapatkan label
kolom dari tabel.
1. Mengembalikan
nilai dari atribut
column yang
merupakan
ArrayList
COLUMNS.
getRowCount()
Method ini
digunakan untuk
mendapatkan jumlah
baris dari sebuah
tabel.
1. Mengembalikan
jumlah baris yaitu
dari jumlah
ArrayList dataSet.
getColumnCount()
Method ini
digunakan untuk
mendapatkan jumlah
kolom dari tabel.
1. Mengembalikan
jumlah kolom.
getValueAt(final int
rowIndex, final int
columnIndex)
Method ini
digunakan untuk
mendapatkan value
pada baris dan kolom
tertentu.
1. Membuat objek
bertipe Hasil dengan
nama result.
2. Membuat objek
bertipe JTable
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
169
dengan nama table
yang ditetapkan
nilai baris yaitu
(rowIndex, 40)
3. Membuat objek
bertipe double
dengan nama bobot
dan
mendeklarasikan
dengan nilai 0.
4. Jika nilai dari
columnIndex lebih
besar dari 0 dan
nilai columnIndex
kurang dari nilai
pada Interval maka
akan memanggil
nilai dari bobot
atribut tersebut.
5. Ketika kondisi
columnIndex sama
dengan 0, maka
akan
mengembalikan
method getName()
dari objek result.
6. Ketika kondisi
columnIndex sama
dengan 1, maka
akan
mengembalikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
170
method getAge()
dari objek result.
7. Ketika kondisi
columnIndex sama
dengan 2, maka
akan
mengembalikan
method getJob()
dari objek result.
8. Ketika kondisi
columnIndex sama
dengan 3, maka
akan
mengembalikan
method
getBalance() dari
objek result.
9. Ketika kondisi
columnIndex sama
dengan 4, maka
akan
mengembalikan
method
getHousing() dari
objek result.
10. Ketika kondisi
columnIndex sama
dengan 5, maka
akan
mengembalikan
method getLoan()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
171
dari objek result.
11. Ketika kondisi
columnIndex sama
dengan 6, maka
akan
mengembalikan
method getContact()
dari objek result.
12. Ketika kondisi
columnIndex sama
dengan 7, maka
akan
mengembalikan
method getMonth()
dari objek result.
13. Ketika kondisi
columnIndex sama
dengan 8, maka
akan
mengembalikan
method
getDuration() dari
objek result.
14. Ketika kondisi
columnIndex sama
dengan 9, maka
akan
mengembalikan
method getpDays()
dari objek result.
15. Ketika kondisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
172
columnIndex sama
dengan 10, maka
akan
mengembalikan
method
getPrevious() dari
objek result.
16. Ketika kondisi
columnIndex sama
dengan 11, maka
akan
mengembalikan
method
getPoutCome() dari
objek result.
17. Ketika kondisi
columnIndex sama
dengan 12, maka
akan
mengembalikan
method getYN()
dari objek result.
isCellEditable(int
rowIndex, int
columnIndex)
Method ini
digunakan untuk
melakukan
pengecekan apakah
sel pada baris dan
kolom tersebut dapat
diubah langung
melalui jTabel.
1. Mengembalikan
nilai return false,
dimana berisi nilai
boolean.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
173
Tabel 4.17 Rincian Algoritma per–Method Kelas TabelHasil_Adapter.java
NAMA METHOD FUNGSI METHOD ALGORITMA
METHOD
getColumnClass(int
columnIndex)
Method ini
digunakan untuk
menampilkan value
pada kolom tanpa
mendeklarasikan di
setiap baris kolom.
1. Mengembalikan
nilai class pada
kolom.
getColumnName(int
column)
Method ini
digunakan untuk
mendapatkan label
kolom dari tabel.
1. Mengembalikan
nilai dari atribut
column yang
merupakan
ArrayList
COLUMNS.
getRowCount()
Method ini
digunakan untuk
mendapatkan jumlah
baris dari sebuah
tabel.
1. Mengembalikan
jumlah baris yaitu
dari jumlah
ArrayList dataSet.
getColumnCount()
Method ini
digunakan untuk
mendapatkan jumlah
kolom dari tabel.
1. Mengembalikan
jumlah kolom.
getValueAt(final int
rowIndex, final int
columnIndex)
Method ini
digunakan untuk
mendapatkan value
pada baris dan kolom
tertentu.
1. Membuat objek
bertipe Hasil dengan
nama result.
2. Membuat objek
bertipe JTable
dengan nama table
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
174
yang ditetapkan
nilai baris yaitu
(rowIndex, 170)
3. Membuat objek
bertipe double
dengan nama bobot
dan
mendeklarasikan
dengan nilai 0.
4. Jika nilai dari
columnIndex lebih
besar dari 0 dan
nilai columnIndex
kurang dari nilai
pada Interval maka
akan memanggil
nilai dari bobot
atribut tersebut.
5. Kemudian masuk ke
dalam percabangan
switch case, dengan
switch
menggunakan
columnIndex.
6. Ketika kondisi
columnIndex sama
dengan 0, maka
akan memanggil
method getName()
dari objek result.
7. Ketika kondisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
175
columnIndex sama
dengan 0, maka
akan
mengembalikan
method getName()
dari objek dataSets.
8. Ketika kondisi
columnIndex sama
dengan 1, maka
akan memanggil
method getAge()
dari objek result
untuk mendapatkan
nilai untuk NB, NL,
dan memanggil
method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
9. Ketika kondisi
columnIndex sama
dengan 2, maka
akan memanggil
method getJob()
dari objek result
untuk mendapatkan
nilai untuk NB, NL,
dan memanggil
method
getSimilarity() dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
176
objek result untuk
mendapatkan
similarity.
10. Ketika kondisi
columnIndex sama
dengan 3, maka
akan memanggil
method
getBalance() dari
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
memanggil method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
11. Ketika kondisi
columnIndex sama
dengan 4, maka
akan memanggil
method
getHousing() dari
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
memanggil method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
177
12. Ketika kondisi
columnIndex sama
dengan 5, maka
akan memanggil
method getLoan()
dari objek result
untuk mendapatkan
nilai untuk NB, NL,
dan memanggil
method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
13. Ketika kondisi
columnIndex sama
dengan 6, maka
akan memanggil
method getContact()
dari objek result
untuk mendapatkan
nilai untuk NB, NL,
dan memanggil
method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
14. Ketika kondisi
columnIndex sama
dengan 7, maka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
178
akan memanggil
method getMonth()
dari objek result
untuk mendapatkan
nilai untuk NB, NL,
dan memanggil
method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
15. Ketika kondisi
columnIndex sama
dengan 8, maka
akan memanggil
method
getDuration() dari
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
memanggil method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
16. Ketika kondisi
columnIndex sama
dengan 9, maka
akan memanggil
method
getHousing() dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
179
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
memanggil method
getpDays() dari
objek result untuk
mendapatkan
similarity.
17. Ketika kondisi
columnIndex sama
dengan 10, maka
akan memanggil
method
getPrevious() dari
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
memanggil method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
18. Ketika kondisi
columnIndex sama
dengan 11, maka
akan memanggil
method
getPoutcome() dari
objek result untuk
mendapatkan nilai
untuk NB, NL, dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
180
memanggil method
getSimilarity() dari
objek result untuk
mendapatkan
similarity.
19. Ketika kondisi
columnIndex sama
dengan 12, maka
akan memanggil
method
jumlahSimilarity()
dari objek result
untuk mendapatkan
nilai untuk
Similarity dan
memanggil method
getYN() dari objek
result untuk
mendapatkan hasil.
isCellEditable(int
rowIndex, int
columnIndex)
Method ini
digunakan untuk
melakukan
pengecekan apakah
sel pada baris dan
kolom tersebut dapat
diubah langung
melalui jTabel.
1. Mengembalikan
nilai return false,
dimana berisi nilai
boolean.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
181
LAMPIRAN 5 : Source Code Program
1. Source Code Program untuk kelas HasilDetail.java
public class HasilDetail { private final DataSet dataLama; private final NilaiAtribut kedekatan_attribut = new NilaiAtribut(); private final NilaiAtribut similarity = new NilaiAtribut(); public HasilDetail(DataSet dataLama) { this.dataLama = dataLama; } public NilaiAtribut getSimilarity() { return similarity; } public NilaiAtribut getKedekatan_attribut() { return kedekatan_attribut; } public DataSet getDataLama() { return dataLama; } public double jumlahSimilarity() { double sum = 0; sum += similarity.age; sum += similarity.job; sum += similarity.balance; sum += similarity.housing; sum += similarity.loan; sum += similarity.contact; sum += similarity.month; sum += similarity.duration; sum += similarity.pDays; sum += similarity.previous; sum += similarity.poutCome; return sum; } public double kedekatan() { return Round.to(jumlahSimilarity() / Interval.JUMLAH_BOBOT, 2); } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
182
2. Source Code Program untuk kelas CBR.java
public class CBR { public final static boolean DEBUG = false; public Hasil proses(final List<DataSet> dataSetLama, final List<DataSet> dataSetBaru) { Hasil result = new Hasil(dataSetLama, dataSetBaru); System.out.println("CBR dataset sebanyak :" + dataSetLama.size()); for (int w = 0; w < dataSetBaru.size(); w++) { try { HasilSet resultSet = new HasilSet(dataSetBaru.get(w)); for (int e = 0; e < dataSetLama.size(); e++) { HasilDetail resultDetail = new HasilDetail(dataSetLama.get(e)); resultDetail.getKedekatan_attribut().age = hitungKedekatan(Interval.BOBOT_AGE(resultSet.getDataSet().getAge()), Interval.BOBOT_AGE(resultDetail.getDataLama().getAge())); resultDetail.getSimilarity().age = hitungSimiliarity(resultDetail.getKedekatan_attribut().age, Interval.BOBOT_ATTRIBUTES.get("Age")); resultDetail.getKedekatan_attribut().job = hitungKedekatan(Interval.BOBOT_JOB.get(resultSet.getDataSet().getJob()), Interval.BOBOT_JOB.get(resultDetail.getDataLama().getJob())); resultDetail.getSimilarity().job = hitungSimiliarity(resultDetail.getKedekatan_attribut().job, Interval.BOBOT_ATTRIBUTES.get("Job")); resultDetail.getKedekatan_attribut().balance = hitungKedekatan(Interval.BOBOT_BALANCE(resultSet.getDataSet().getBalance()), Interval.BOBOT_BALANCE(resultDetail.getDataLama().getBalance())); resultDetail.getSimilarity().balance = hitungSimiliarity(resultDetail.getKedekatan_attribut().balance, Interval.BOBOT_ATTRIBUTES.get("Balance")); resultDetail.getKedekatan_attribut().housing = hitungKedekatan(Interval.BOBOT_HOUSING.get(resultSet.getDataSet().getHousing()),
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
183
Interval.BOBOT_HOUSING.get(resultDetail.getDataLama().getHousing())); resultDetail.getSimilarity().housing = hitungSimiliarity(resultDetail.getKedekatan_attribut().housing, Interval.BOBOT_ATTRIBUTES.get("Housing")); resultDetail.getKedekatan_attribut().loan = hitungKedekatan(Interval.BOBOT_LOAN.get(resultSet.getDataSet().getLoan()), Interval.BOBOT_LOAN.get(resultDetail.getDataLama().getLoan())); resultDetail.getSimilarity().loan = hitungSimiliarity(resultDetail.getKedekatan_attribut().loan, Interval.BOBOT_ATTRIBUTES.get("Loan")); resultDetail.getKedekatan_attribut().contact = hitungKedekatan(Interval.BOBOT_CONTACT.get(resultSet.getDataSet().getContact()), Interval.BOBOT_CONTACT.get(resultDetail.getDataLama().getContact())); resultDetail.getSimilarity().contact = hitungSimiliarity(resultDetail.getKedekatan_attribut().contact, Interval.BOBOT_ATTRIBUTES.get("Contact")); resultDetail.getKedekatan_attribut().month = hitungKedekatan(Interval.BOBOT_MONTH.get(resultSet.getDataSet().getMonth()), Interval.BOBOT_MONTH.get(resultDetail.getDataLama().getMonth())); resultDetail.getSimilarity().month = hitungSimiliarity(resultDetail.getKedekatan_attribut().month, Interval.BOBOT_ATTRIBUTES.get("Month")); resultDetail.getKedekatan_attribut().duration = hitungKedekatan(Interval.BOBOT_DURATION(resultSet.getDataSet().getDuration()), Interval.BOBOT_DURATION(resultDetail.getDataLama().getDuration())); resultDetail.getSimilarity().duration = hitungSimiliarity(resultDetail.getKedekatan_attribut().duration, Interval.BOBOT_ATTRIBUTES.get("Duration"));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
184
resultDetail.getKedekatan_attribut().pDays = hitungKedekatan(Interval.BOBOT_PDAYS(resultSet.getDataSet().getpDays()), Interval.BOBOT_PDAYS(resultDetail.getDataLama().getpDays())); resultDetail.getSimilarity().pDays = hitungSimiliarity(resultDetail.getKedekatan_attribut().pDays, Interval.BOBOT_ATTRIBUTES.get("Pdays")); resultDetail.getKedekatan_attribut().previous = hitungKedekatan(Interval.BOBOT_PREVIOUS(resultSet.getDataSet().getPrevious()), Interval.BOBOT_PREVIOUS(resultDetail.getDataLama().getPrevious())); resultDetail.getSimilarity().previous = hitungSimiliarity(resultDetail.getKedekatan_attribut().previous, Interval.BOBOT_ATTRIBUTES.get("Previous")); resultDetail.getKedekatan_attribut().poutCome = hitungKedekatan(Interval.BOBOT_POUTCOME.get(resultSet.getDataSet().getPoutCome()), Interval.BOBOT_POUTCOME.get(resultDetail.getDataLama().getPoutCome())); resultDetail.getSimilarity().poutCome = hitungSimiliarity(resultDetail.getKedekatan_attribut().poutCome, Interval.BOBOT_ATTRIBUTES.get("Poutcome")); if (DEBUG) { System.err.println("-------------------------------------------"); System.err.println("Data Lama " + resultSet.getDataSet().getName() + " | Data Baru " + resultDetail.getDataLama().getName()); System.err.println("Age " + resultSet.getDataSet().getAge() + " => " + Interval.BOBOT_AGE(resultSet.getDataSet().getAge()) + " | Data Baru " + resultDetail.getDataLama().getAge() + " => " + Interval.BOBOT_AGE(resultDetail.getDataLama().getAge()) + " | K. Attrbt " + resultDetail.getKedekatan_attribut().age + " | Bobot Attrb " + Interval.BOBOT_ATTRIBUTES.get("Age") + " | Similiarity " + resultDetail.getSimilarity().age);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
185
System.err.println("Job " + resultSet.getDataSet().getJob() + " => " + Interval.BOBOT_JOB.get(resultSet.getDataSet().getJob()) + " | Data Baru " + resultDetail.getDataLama().getJob() + " => " + Interval.BOBOT_JOB.get(resultDetail.getDataLama().getJob()) + " | K. Attrbt " + resultDetail.getKedekatan_attribut().job + " | Bobot Attrb " + Interval.BOBOT_ATTRIBUTES.get("Job") + " | Similiarity " + resultDetail.getSimilarity().job); System.err.println("Balance " + resultSet.getDataSet().getBalance() + " => " + Interval.BOBOT_BALANCE(resultSet.getDataSet().getBalance()) + " | Data Baru " + resultDetail.getDataLama().getBalance() + " => " + Interval.BOBOT_BALANCE(resultDetail.getDataLama().getBalance()) + " | K. Attrbt " + resultDetail.getKedekatan_attribut().balance + " | Bobot Attrb " + Interval.BOBOT_ATTRIBUTES.get("Balance") + " | Similiarity " + resultDetail.getSimilarity().balance); System.err.println("Housing " + resultSet.getDataSet().getHousing() + " => " + Interval.BOBOT_HOUSING.get(resultSet.getDataSet().getHousing()) + " | Data Baru " + resultDetail.getDataLama().getHousing() + " => " + Interval.BOBOT_HOUSING.get(resultDetail.getDataLama().getHousing()) + " | K. Attrbt " + resultDetail.getKedekatan_attribut().housing + " | Bobot Attrb " + Interval.BOBOT_ATTRIBUTES.get("Housing") + " | Similiarity " + resultDetail.getSimilarity().housing); System.err.println("Loan " + resultSet.getDataSet().getLoan() + " => " + Interval.BOBOT_LOAN.get(resultSet.getDataSet().getLoan()) + " | Data Baru " + resultDetail.getDataLama().getLoan() + " => " + Interval.BOBOT_LOAN.get(resultDetail.getDataLama().getLoan()) + " | K. Attrbt " + resultDetail.getKedekatan_attribut().loan + " | Bobot Attrb " + Interval.BOBOT_ATTRIBUTES.get("Loan") + " | Similiarity " + resultDetail.getSimilarity().loan);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
186
System.err.println("Contact " + resultSet.getDataSet().getContact() + " => " + Interval.BOBOT_CONTACT.get(resultSet.getDataSet().getContact()) + " | Data Baru " + resultDetail.getDataLama().getContact() + " => " + Interval.BOBOT_CONTACT.get(resultDetail.getDataLama().getContact()) + " | K. Attrbt " + resultDetail.getKedekatan_attribut().contact + " | Bobot Attrb " + Interval.BOBOT_ATTRIBUTES.get("Contact") + " | Similiarity " + resultDetail.getSimilarity().contact); System.err.println("Month " + resultSet.getDataSet().getMonth() + " => " + Interval.BOBOT_MONTH.get(resultSet.getDataSet().getMonth()) + " | Data Baru " + resultDetail.getDataLama().getMonth() + " => " + Interval.BOBOT_MONTH.get(resultDetail.getDataLama().getMonth()) + " | K. Attrbt " + resultDetail.getKedekatan_attribut().month + " | Bobot Attrb " + Interval.BOBOT_ATTRIBUTES.get("Month") + " | Similiarity " + resultDetail.getSimilarity().month); System.err.println("Duration " + resultSet.getDataSet().getDuration() + " => " + Interval.BOBOT_DURATION(resultSet.getDataSet().getDuration()) + " | Data Baru " + resultDetail.getDataLama().getDuration() + " => " + Interval.BOBOT_DURATION(resultDetail.getDataLama().getDuration()) + " | K. Attrbt " + resultDetail.getKedekatan_attribut().duration + " | Bobot Attrb " + Interval.BOBOT_ATTRIBUTES.get("Duration") + " | Similiarity " + resultDetail.getSimilarity().duration); System.err.println("Pdays " + resultSet.getDataSet().getpDays() + " => " + Interval.BOBOT_PDAYS(resultSet.getDataSet().getpDays()) + " | Data Baru " + resultDetail.getDataLama().getpDays() + " => " + Interval.BOBOT_PDAYS(resultDetail.getDataLama().getpDays())
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
187
+ " | K. Attrbt " + resultDetail.getKedekatan_attribut().pDays + " | Bobot Attrb " + Interval.BOBOT_ATTRIBUTES.get("Pdays") + " | Similiarity " + resultDetail.getSimilarity().pDays); System.err.println("Previous " + resultSet.getDataSet().getPrevious() + " => " + Interval.BOBOT_PREVIOUS(resultSet.getDataSet().getPrevious()) + " | Data Baru " + resultDetail.getDataLama().getPrevious() + " => " + Interval.BOBOT_PREVIOUS(resultDetail.getDataLama().getPrevious()) + " | K. Attrbt " + resultDetail.getKedekatan_attribut().previous + " | Bobot Attrb " + Interval.BOBOT_ATTRIBUTES.get("Previous") + " | Similiarity " + resultDetail.getSimilarity().previous); System.err.println("Poutcome " + resultSet.getDataSet().getPoutCome() + " => " + Interval.BOBOT_POUTCOME.get(resultSet.getDataSet().getPoutCome()) + " | Data Baru " + resultDetail.getDataLama().getPoutCome() + " => " + Interval.BOBOT_POUTCOME.get(resultDetail.getDataLama().getPoutCome()) + " | K. Attrbt " + resultDetail.getKedekatan_attribut().poutCome + " | Bobot Attrb " + Interval.BOBOT_ATTRIBUTES.get("Poutcome") + " | Similiarity " + resultDetail.getSimilarity().poutCome); } resultSet.getResultDetails().add(resultDetail); } result.getResultSets().add(resultSet); } catch (Exception e) { e.printStackTrace(); System.err.println("at loop " + w); } } System.err.println("Hasil " + result.getResultSets().size()); return result; } private double hitungKedekatan(double x, double y) { return Round.to(1d - Math.sqrt(Math.pow(Math.abs(x - y), 2)),3);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
188
private double hitungSimiliarity(double s, double w) { return Round.to(s * w, 3); } private double hitungSimiliarity(double[] s, double[] w) { if (s.length != w.length) { return 0; } double up = 0; double down = 0; for (int i = 0; i < s.length; i++) { up += (s[i] * w[i]); down += w[i]; } return Round.to(up/down, 3); } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
189
LAMPIRAN 6 : Prosedur Pengujian dan Studi Kasus
Tabel 5.9 Tabel Prosedur Pengujian dan Studi Kasus
Identifikasi
Use case Deskripsi
Prosedur
Pengujian Masukkan
Keluaran yang
Diharapkan
Hasil yang
Didapat
Catatan Proses
Pengembangan
Perangkat
Lunak
UCBR1–01
Pengujian
memasukkan
data dari file
yang berekstensi
.xls
1. Jalankan
sistem atau
perangkat
lunak
2. Pada halaman
awal (home),
klik tombol
“Masuk
Sistem”
3. Pada halaman
preprocessing
Tes.xls
Data file
bernama Tes.xls
ditampilkan
pada tabel di
halaman
preprocessing
Data file
bernama Tes.xls
ditampilkan
pada tabel di
halaman
preprocessing
Tidak ada
perbaikan
UCBR1–02
Pengujian
memasukkan
data dari file
yang berekstensi
.txt
Tes.txt
Menampilkan
pesan dialog
peringatan
bahwa file yang
dipilih bukan
Menampilkan
pesan dialog
peringatan
bahwa file yang
dipilih bukan file
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
190
, klik tombol
“Browse”
untuk
memilih data
file.
4. Selanjutnya
pilih file data
kasus yang
akan
digunakan
5. Klik tombol
“Open”
file berekstensi
.xls
berekstensi .xls
UCBR1–03
Pengujian
memasukkan
data dari file
yang berekstensi
.doc
Tes.doc
Menampilkan
pesan dialog
peringatan
bahwa file yang
dipilih bukan
file berekstensi
.xls
Menampilkan
pesan dialog
peringatan
bahwa file yang
dipilih bukan file
berekstensi .xls
Tidak ada
perbaikan
UCBR2–01
Pengujian
dengan
melakukan
proses
identifikasi
case–based
reasoning
1. Klik tombol
“Identifikasi”
pada halaman
preprocessing
2. Ketika proses
identifikasi
case–based
Menampilkan
hasil dari
identifikasi
case–based
reasoning pada
tabel tab hasil.
Menampilkan
hasil dari
identifikasi
case–based
reasoning pada
tabel tab hasil.
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
191
UCBR3–01
Pengujian
dengan
melakukan
proses
identifikasi
case–based
reasoning
reasoning
telah berhasil
dilakukan,
maka hasil
akan muncul
ditabel
3. Klik “Simpan
Hasil
Identifikasi
CBR”
4. Memilih
direktori
penyimpanan
untuk data
file hasil
identifikasi.
5. Mengisi nama
file, dan klik
“Simpan”
Nama file :
hasil.xls
Menyimpan file
pada direktori
komputer yang
dipilih.
Menyimpan file
pada direktori
komputer yang
dipilih dan
menampilkan
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
192
LAMPIRAN 7 : Proses Perhitungan Manual
Proses perhitungan manual menggunakan Microsoft Excel. Terdapat 8
data yang diambil secara random pada dataset sebagai sample untuk perhitungan
manual, kemudian data tersebut dibagi menjadi 2, yaitu 5 data untuk kasus lama
(lampau) dan 3 data untuk kasus baru. Berikut adalah langkah dari proses
perhitungan manual.
1) Langkah pertama, dilakukan transformasi data pada dataset untuk
mempermudah dalam proses perhitungan, seperti yang sudah dicontohkan
pada tabel 3.6.
2) Setelah melakukan transformasi data, penulis melakukan perankingan pada
atribut, untuk mengetahui atribut mana yang paling berpengaruh dan
bernilai mendekati atau sama dengan 1. Disini penulis mengambil hasil dari
pengujian dengan aplikasi Tools Weka yang telah melakukan perankingan
pada atribut, yang dapat dilihat pada sub–sub bab 6.3.1.
3) Langkah ketiga, tentukan bobot pada masing–masing atribut yang sudah
terpilih pada tahap selection. Disini penulis menentukan bobot untuk setiap
atribut menggunakan normalisasi proximity measures, dengan rumus :
(3.7)
Keterangan :
Rif : merepresentasikan nilai urutan atribut
Mf : merepresentasikan nilai urutan atribut terbesar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
193
Bobot dari masing – masing atribut adalah seperti dibawah ini :
Loan 0
Balance 0,10
Housing 0,20
Age 0,30
Job 0,40
Previous 0,50
Contact 0,60
Month 0,70
Pdays 0,80
Poutcome 0,90
Duration 1
4) Selanjutnya adalah menentukan nilai kedekatan pada tiap nilai atribut, yang
nantinya nilai kedekatan tersebut akan digunakan untuk menghitung nilai
similarity untuk kasus lama dan kasus baru. Untuk menentukan nilai
kedekatan untuk atribut dengan menerapkan rumus jarak kedekatan, yaitu :
( ) (3.8)
Dan nilai kedekatan untuk tiap atribut dapat terlihat pada tabel–tabel
dibawah ini :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
194
Tabel 5.10 Tabel Kedekatan Nilai Atribut Age
Age 0 - 17 18 – 65 66 - 79 80 - 99 100 - keatas
0 - 17 1 0,75 0,5 0,25 0
18 - 65 0,75 1 0,75 0,5 0,25
66 - 79 0,5 0,75 1 0,75 0,5
80 - 99 0,25 0,5 0,75 1 0,75
100 - keatas 0 0,25 0,5 0,75 1
Tabel 5.11 Tabel Kedekatan Nilai Atribut Job
Job
Ad
min
.
Blu
e-
Coll
ar
En
trep
ren
eur
Hou
sem
ai
d
Man
agem
ent
Ret
ired
Sel
f-
emp
loyed
Ser
vic
es
Stu
den
t
Tec
hn
icia
n
Un
emp
loy
ed
Un
kn
ow
n
Admin. 1 0,91 0,82 0,73 0,64 0,55 0,45 0,36 0,27 0,18 0,09 0
Blue-Collar 0,91 1 0,91 0,82 0,73 0,64 0,55 0,45 0,36 0,27 0,18 0,09
Entrepreneur 0,82 0,91 1 0,91 0,82 0,73 0,64 0,55 0,45 0,36 0,27 0,18
Housemaid 0,73 0,82 0,91 1 0,91 0,82 0,73 0,64 0,55 0,45 0,36 0,27
Management 0,64 0,73 0,82 0,91 1 0,91 0,82 0,73 0,64 0,55 0,45 0,36
Retired 0,55 0,64 0,73 0,82 0,91 1 0,91 0,82 0,73 0,64 0,55 0,45
Self-employed 0,45 0,55 0,64 0,73 0,82 0,91 1 0,91 0,82 0,73 0,64 0,55
Services 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1 0,91 0,82 0,73 0,64
Student 0,27 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1 0,91 0,82 0,73
Technician 0,18 0,27 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1 0,91 0,82
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
195
Unemployed 0,09 0,18 0,27 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1 0,91
Unknown 0 0,09 0,18 0,27 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1
Tabel 5.12 Tabel Kedekatan Nilai Atribut Balance
Balance
(-3313)
-
2390
2391 -
8095
8096 -
13799
13800 -
19504
19505 -
25208
25209 -
30913
30914 -
36617
36618 -
42322
42323 -
48026
48027 -
53731
53732 -
59435
59436 -
65140
65141 -
70844
70845 -
76549
(-3313) - 2390 1 0,92 0,85 0,77 0,69 0,62 0,54 0,46 0,38 0,31 0,23 0,15 0,08 0
2391 - 8095 0,92 1 0,92 0,85 0,77 0,69 0,62 0,54 0,46 0,38 0,31 0,23 0,15 0,08
8096 - 13799 0,85 0,92 1 0,92 0,85 0,77 0,69 0,62 0,54 0,46 0,38 0,31 0,23 0,15
13800 - 19504 0,77 0,85 0,92 1 0,92 0,85 0,77 0,69 0,62 0,54 0,46 0,38 0,31 0,23
19505 - 25208 0,69 0,77 0,85 0,92 1 0,92 0,85 0,77 0,69 0,62 0,54 0,46 0,38 0,31
25209 - 30913 0,62 0,69 0,77 0,85 0,92 1 0,92 0,85 0,77 0,69 0,62 0,54 0,46 0,38
30914 - 36617 0,54 0,62 0,69 0,77 0,85 0,92 1 0,92 0,85 0,77 0,69 0,62 0,54 0,46
36618 - 42322 0,46 0,54 0,62 0,69 0,77 0,85 0,92 1 0,92 0,85 0,77 0,69 0,62 0,54
42323 - 48026 0,38 0,46 0,54 0,62 0,69 0,77 0,85 0,92 1 0,92 0,85 0,77 0,69 0,62
48027 -53731 0,31 0,38 0,46 0,54 0,62 0,69 0,77 0,85 0,92 1 0,92 0,85 0,77 0,69
53732 - 59435 0,23 0,31 0,38 0,46 0,54 0,62 0,69 0,77 0,85 0,92 1 0,92 0,85 0,77
59436 - 65140 0,15 0,23 0,31 0,38 0,46 0,54 0,62 0,69 0,77 0,85 0,92 1 0,92 0,85
65141 - 70844 0,08 0,15 0,23 0,31 0,38 0,46 0,54 0,62 0,69 0,77 0,85 0,92 1 0,92
70845 - 76549 0 0,08 0,15 0,23 0,31 0,38 0,46 0,54 0,62 0,69 0,77 0,85 0,92 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
196
Tabel 5.13 Tabel Kedekatan Nilai Atribut Housing
Housing Yes No
Yes 1 0
No 0 1
Tabel 5.14 Tabel Kedekatan Nilai Atribut Loan
Loan Yes No
Yes 1 0
No 0 1
Tabel 5.15 Tabel Kedekatan Nilai Atribut Contact
Contact Cellular Telephone Unknown
Cellular 1 0,5 0
Telephone 0,5 1 0,5
Unknown 0 0,5 1
Tabel 5.16 Tabel Kedekatan Nilai Atribut Poutcome
Poutcome Success Failure Unknown Other
Success 1 0,67 0,33 0
Failure 0,67 1 0,67 0,33
Unknown 0,33 0,67 1 0,67
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
197
Other 0 0,33 0,67 1
Tabel 5.17 Tabel Kedekatan Nilai Atribut Month
Month January February March April Mey June July August September October November December
January 1 0,91 0,82 0,73 0,64 0,55 0,45 0,36 0,27 0,18 0,09 0
February 0,91 1 0,91 0,82 0,73 0,64 0,55 0,45 0,36 0,27 0,18 0,09
March 0,82 0,91 1 0,91 0,82 0,73 0,64 0,55 0,45 0,36 0,27 0,18
April 0,73 0,82 0,91 1 0,91 0,82 0,73 0,64 0,55 0,45 0,36 0,27
Mey 0,64 0,73 0,82 0,91 1 0,91 0,82 0,73 0,64 0,55 0,45 0,36
June 0,55 0,64 0,73 0,82 0,91 1 0,91 0,82 0,73 0,64 0,55 0,45
July 0,45 0,55 0,64 0,73 0,82 0,91 1 0,91 0,82 0,73 0,64 0,55
August 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1 0,91 0,82 0,73 0,64
September 0,27 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1 0,91 0,82 0,73
October 0,18 0,27 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1 0,91 0,82
November 0,09 0,18 0,27 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1 0,91
December 0 0,09 0,18 0,27 0,36 0,45 0,55 0,64 0,73 0,82 0,91 1
Tabel 5.18 Tabel Kedekatan Nilai Atribut Previous
Previous 0 - 1 2 - 4 5 - 7 8 - 10 11 - 13. 14 - 16 17 - 19 20 - 22 23 - 25
0 - 1 1 0,88 0,75 0,63 0,5 0,38 0,25 0,13 0
2 - 4 0,88 1 0,88 0,75 0,63 0,5 0,38 0,25 0,13
5 - 7 0,75 0,88 1 0,88 0,75 0,63 0,5 0,38 0,25
8 - 10 0,63 0,75 0,88 1 0,88 0,75 0,63 0,5 0,38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
198
11 - 13. 0,5 0,63 0,75 0,88 1 0,88 0,75 0,63 0,5
14 - 16 0,38 0,5 0,63 0,75 0,88 1 0,88 0,75 0,63
17 - 19 0,25 0,38 0,5 0,63 0,75 0,88 1 0,88 0,75
20 - 22 0,13 0,25 0,38 0,5 0,63 0,75 0,88 1 0,88
23 - 25 0 0,13 0,25 0,38 0,5 0,63 0,75 0,88 1
Tabel 5.19 Tabel Kedekatan Nilai Atribut Duration
Duration 4 -
235
236 -
467
468 -
699
700 –
932
933 -
1164
1165 -
1396
1397 -
1628
1629 -
1861
1862 -
2093
2094 -
2325
2326 -
2558
2559 -
2790
2791 -
3022
4 - 235 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42 0,33 0,25 0,17 0,08 0
236 - 467 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42 0,33 0,25 0,17 0,08
468 - 699 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42 0,33 0,25 0,17
700 - 932 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42 0,33 0,25
933 - 1164 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42 0,33
1165 - 1396 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42
1397 - 1628 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5
1629 - 1861 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58
1862 - 2093 0,33 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67
2094 - 2325 0,25 0,33 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75
2326 - 2558 0,17 0,25 0,33 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83
2559 - 2790 0,08 0,17 0,25 0,33 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92
2791 - 3022 0 0,08 0,17 0,25 0,33 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
199
Tabel 5.20 Tabel Kedekatan Nilai Atribut Pdays
Pdays
(-1)
- 65
66 -
133
134 -
201
202 -
269
270 -
336
337 -
404
405 -
472
473 -
540
541 -
607
608 -
675
676 -
743
744 -
811
812 -
878
(-1) - 65 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42 0,33 0,25 0,17 0,08 0
66 - 133 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42 0,33 0,25 0,17 0,08
134 - 201 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42 0,33 0,25 0,17
202 - 269 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42 0,33 0,25
270 - 336 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42 0,33
337 - 404 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5 0,42
405 - 472 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58 0,5
473 - 540 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67 0,58
541 - 607 0,33 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75 0,67
608 - 675 0,25 0,33 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83 0,75
676 - 743 0,17 0,25 0,33 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92 0,83
744 - 811 0,08 0,17 0,25 0,33 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1 0,92
812 - 878 0 0,08 0,17 0,25 0,33 0,42 0,5 0,58 0,67 0,75 0,83 0,92 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
200
5) Dan kemudian mencocokkan kasus baru dengan kasus lama yang sudah ada,
dengan menghitung nilai similarity kemiripannya, menggunakan rumus
similarity (2.1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
201
Contoh Perhitungan
Diambil 5 kasus sebagai kasus lama sebagai berikut :
Tabel 5.21 Tabel Kasus Lama
Atribut Nasabah 1 Nasabah 2 Nasabah 3 Nasabah 4 Nasabah 5
Age 30 20 33 68 35
Job Unemployed Student Services Retired Management
Balance 1787 502 4789 4189 1350
Housing No No Yes No Yes
Loan No No Yes No No
Contact Cellular Cellular Cellular Telephone Cellular
Month Oct Apr May Jul Apr
Duration 79 261 220 897 185
Pdays -1 -1 339 -1 330
Previous 0 0 4 0 1
Poutcome Unknown Unknown Failure Unknown Failure
Y/N No Yes No Yes No
Terdapat kasus baru seperti dibawah ini :
Tabel 5.22 Tabel Kasus Baru
Atribut Nasabah Baru 1 Nasabah Baru 2 Nasabah Baru 3
Age 30 59 35
Job Management blue-collar management
Balance 1476 0 747
Housing yes yes no
Loan yes no no
Contact unknown unknown cellular
Month jun may feb
Duration 199 226 141
Pdays -1 -1 176
Previous 0 0 3
Poutcome unknown unknown failure
Y/N no no no
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
202
Penerapan rumus similarity untuk mencocokkan dan mencari kemiripan antara kasus lama dan kasus baru (nasabah 1).
1. Menghitung kedekatan kasus lama (nasabah 1) dengan kasus baru (nasabah 1).
Atribut Nasabah 1 Nasabah Baru 1 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 30 30 1 0,30 0,3
Job Unemployed Management 0,45 0,40 0,18
Balance 1787 1476 1 0,10 0,10
Housing No Yes 0 0,20 0
Loan No Yes 0 0 0
Contact Cellular Unknown 0 0,60 0
Month Oct Jun 0,64 0,70 0,45
Duration 79 199 1 1 1,00
Pdays -1 -1 1 0,80 0,80
Previous 0 0 1 0,50 0,50
Poutcome Unknown Unknown 1 0,90 0,9
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,23
KEDEKATAN KASUS BARU DAN LAMA 0,769
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
203
2. Menghitung kedekatan kasus lama (nasabah 2) dengan kasus baru (nasabah 1).
Atribut Nasabah 2 Nasabah Baru 1 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 20 30 1 0,30 0,3
Job student management 0,64 0,40 0,26
Balance 502 1476 1 0,10 0,10
Housing no yes 0 0,20 0
Loan no yes 0 0 0
Contact cellular unknown 0 0,60 0
Month apr jun 0,82 0,70 0,57
Duration 261 199 0,92 1 0,92
Pdays -1 -1 1 0,80 0,80
Previous 0 0 1 0,50 0,50
Poutcome unknown unknown 1 0,90 0,9
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,35
KEDEKATAN KASUS BARU DAN LAMA 0,791
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
204
3. Menghitung kedekatan kasus lama (nasabah 3) dengan kasus baru (nasabah 1).
Atribut Nasabah 3 Nasabah Baru 1 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 33 30 1 0,30 0,3
Job Services Management 0,73 0,40 0,29
Balance 4789 1476 0,92 0,10 0,09
Housing Yes Yes 1 0,20 0,2
Loan Yes Yes 1 0 0,00
Contact Cellular Unknown 0 0,60 0
Month May Jun 0,91 0,70 0,64
Duration 220 199 1 1 1,00
Pdays 339 -1 0,58 0,80 0,46
Previous 4 0 0,88 0,50 0,44
Poutcome Failure Unknown 0,67 0,90 0,603
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,03
KEDEKATAN KASUS BARU DAN LAMA 0,732
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
205
4. Menghitung kedekatan kasus lama (nasabah 4) dengan kasus baru (nasabah 1).
Atribut Nasabah 4 Nasabah Baru 1 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 68 30 0,75 0,30 0,225
Job retired management 0,91 0,40 0,36
Balance 4189 1476 0,92 0,10 0,09
Housing no yes 0 0,20 0
Loan no yes 0 0 0
Contact telephone unknown 0,5 0,60 0,30
Month jul jun 0,91 0,70 0,64
Duration 897 199 0,75 1 0,75
Pdays -1 -1 1 0,80 0,80
Previous 0 0 1 0,50 0,50
Poutcome unknown unknown 1 0,90 0,9
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,57
KEDEKATAN KASUS BARU DAN LAMA 0,831
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
206
5. Menghitung kedekatan kasus lama (nasabah 5) dengan kasus baru (nasabah 1).
Atribut Nasabah 5 Nasabah Baru 1 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 35 30 1 0,30 0,3
Job Management Management 1 0,40 0,40
Balance 1350 1476 1 0,10 0,10
Housing Yes Yes 1 0,20 0,2
Loan No Yes 0 0 0
Contact Cellular Unknown 0 0,60 0
Month Apr Jun 0,82 0,70 0,57
Duration 185 199 1 1 1,00
Pdays 330 -1 0,67 0,80 0,54
Previous 1 0 1 0,50 0,50
Poutcome Failure Unknown 0,67 0,90 0,603
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,21
KEDEKATAN KASUS BARU DAN LAMA 0,766
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
207
Kesimpulan dari contoh perhitungan kedekatan antara kasus lama dan
kasus baru (nasabah 1) diatas adalah sebagai berikut :
KASUS LAMA KASUS BARU (Nasabah 1)
NASABAH 1 0,769
NASABAH 2 0,791
NASABAH 3 0,732
NASABAH 4 0,831
NASABAH 5 0,766
1) Memilih kasus dengan kedekatan terdekat.
Dari langkah perhitungan dengan nasabah 1, 2, 3, 4, 5 dengan
mencocokkan setiap atribut yang ada, dapat disimpulkan bahwa
kasus baru (nasabah 1) lebih dekat dengan kasus lama pada
nasabah 4, dengan nilai kedekatan sebesar 0,831.
2) Menggunakan klasifikasi dari kasus dengan kedekatan terdekat.
Berdasarkan hasil perhitungan yang diperoleh, dengan nilai
kedekatan pada kasus baru (nasabah 1) lebih mendekati dengan
kasus lama pada nasabah 4, maka dapat diasumsikan bahwa
nasabah pada kasus baru (nasabah 1) tersebut diprediksi AKAN
MEMBUKA SIMPANAN DEPOSITO.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
208
Penerapan rumus similarity untuk mencocokkan dan mencari kemiripan antara kasus lama dan kasus baru (nasabah 2).
1. Menghitung kedekatan kasus lama (nasabah 1) dengan kasus baru (nasabah 2).
Atribut Nasabah 1 Nasabah Baru 2 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 30 59 1 0,30 0,3
Job unemployed blue-collar 0,18 0,40 0,072
Balance 1787 0 1 0,10 0,10
Housing no yes 0 0,20 0
Loan no no 1 0 0
Contact cellular unknown 0 0,60 0
Month oct may 0,55 0,70 0,39
Duration 79 226 1 1 1,00
Pdays -1 -1 1 0,80 0,80
Previous 0 0 1 0,50 0,50
Poutcome unknown unknown 1 0,90 0,9
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,06
KEDEKATAN KASUS BARU DAN LAMA 0,738
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
209
2. Menghitung kedekatan kasus lama (nasabah 2) dengan kasus baru (nasabah 2).
Atribut Nasabah 2 Nasabah Baru 2 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 20 59 1 0,30 0,3
Job student blue-collar 0,36 0,40 0,14
Balance 502 0 1 0,10 0,10
Housing no yes 0 0,20 0
Loan no no 1 0 0
Contact cellular unknown 0 0,60 0
Month apr may 0,91 0,70 0,64
Duration 261 226 0,92 1 0,92
Pdays -1 -1 1 0,80 0,80
Previous 0 0 1 0,50 0,50
Poutcome unknown unknown 1 0,90 0,9
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,30
KEDEKATAN KASUS BARU DAN LAMA 0,782
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
210
3. Menghitung kedekatan kasus lama (nasabah 3) dengan kasus baru (nasabah 2).
Atribut Nasabah 3 Nasabah Baru 2 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 33 59 1 0,30 0,3
Job services blue-collar 0,45 0,40 0,18
Balance 4789 0 0,92 0,10 0,09
Housing yes yes 1 0,20 0,2
Loan yes no 0 0 0,00
Contact cellular unknown 0 0,60 0
Month may may 1 0,70 0,70
Duration 220 226 1 1 1,00
Pdays 339 -1 0,58 0,80 0,46
Previous 4 0 0,88 0,50 0,44
Poutcome failure unknown 0,67 0,90 0,603
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
3,98
KEDEKATAN KASUS BARU DAN LAMA 0,723
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
211
4. Menghitung kedekatan kasus lama (nasabah 4) dengan kasus baru (nasabah 2).
Atribut Nasabah 4 Nasabah Baru 2 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 68 59 0,75 0,30 0,225
Job retired blue-collar 0,91 0,40 0,36
Balance 4189 0 0,92 0,10 0,09
Housing no yes 0 0,20 0
Loan no no 0 0 0
Contact telephone unknown 0,5 0,60 0,30
Month jul may 0,91 0,70 0,64
Duration 897 226 0,75 1 0,75
Pdays -1 -1 1 0,80 0,80
Previous 0 0 1 0,50 0,50
Poutcome unknown unknown 1 0,90 0,9
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,57
KEDEKATAN KASUS BARU DAN LAMA 0,831
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
212
5. Menghitung kedekatan kasus lama (nasabah 5) dengan kasus baru (nasabah 2).
Atribut Nasabah 5 Nasabah Baru 2 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 35 59 1 0,30 0,3
Job management blue-collar 1 0,40 0,29
Balance 1350 0 1 0,10 0,10
Housing yes yes 1 0,20 0,2
Loan no no 1 0 0
Contact cellular unknown 0 0,60 0
Month apr may 0,91 0,70 0,64
Duration 185 226 1 1 1,00
Pdays 330 -1 0,67 0,80 0,54
Previous 1 0 1 0,50 0,50
Poutcome failure unknown 0,67 0,90 0,603
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,17
KEDEKATAN KASUS BARU DAN LAMA 0,758
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
213
Kesimpulan dari contoh perhitungan kedekatan antara kasus lama dan
kasus baru (nasabah 2) diatas adalah sebagai berikut :
KASUS LAMA KASUS BARU (Nasabah 2)
NASABAH 1 0,738
NASABAH 2 0,782
NASABAH 3 0,723
NASABAH 4 0,831
NASABAH 5 0,758
1) Memilih kasus dengan kedekatan terdekat.
Dari langkah perhitungan dengan nasabah 1, 2, 3, 4, 5
dengan mencocokkan setiap atribut yang ada, dapat
disimpulkan bahwa kasus baru (nasabah 2) lebih dekat
dengan kasus lama pada nasabah 4, dengan nilai kedekatan
sebesar 0,831.
2) Menggunakan klasifikasi dari kasus dengan kedekatan
terdekat.
Berdasarkan hasil perhitungan yang diperoleh, dengan nilai
kedekatan pada kasus baru (nasabah 2) lebih mendekati
dengan kasus lama pada nasabah 4, maka dapat
diasumsikan bahwa nasabah pada kasus baru (nasabah 2)
tersebut diprediksi AKAN MEMBUKA SIMPANAN
DEPOSITO.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
214
Penerapan rumus similarity untuk mencocokkan dan mencari kemiripan antara kasus lama dan kasus baru (nasabah 3).
1. Menghitung kedekatan kasus lama (nasabah 1) dengan kasus baru (nasabah 3).
Atribut Nasabah 1 Nasabah Baru 3 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 30 35 1 0,30 0,3
Job unemployed management 0,45 0,40 0,18
Balance 1787 747 1 0,10 0,10
Housing no no 1 0,20 0,2
Loan no no 1 0 0
Contact cellular cellular 1 0,60 0,6
Month oct feb 0,27 0,70 0,19
Duration 79 141 1 1 1,00
Pdays -1 176 0,83 0,80 0,66
Previous 0 3 0,88 0,50 0,44
Poutcome unknown failure 0,67 0,90 0,603
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,28
KEDEKATAN KASUS BARU DAN LAMA 0,777
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
215
2. Menghitung kedekatan kasus lama (nasabah 2) dengan kasus baru (nasabah 3).
Atribut Nasabah 2 Nasabah Baru 3 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 20 35 1 0,30 0,3
Job student management 0,64 0,40 0,26
Balance 502 747 1 0,10 0,10
Housing no no 1 0,20 0,2
Loan no no 1 0 0
Contact cellular cellular 1 0,60 0,6
Month apr feb 0,82 0,70 0,57
Duration 261 141 0,92 1 0,92
Pdays -1 176 0,83 0,80 0,66
Previous 0 3 0,88 0,50 0,44
Poutcome unknown failure 0,67 0,90 0,603
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,66
KEDEKATAN KASUS BARU DAN LAMA 0,847
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
216
3. Menghitung kedekatan kasus lama (nasabah 3) dengan kasus baru (nasabah 3).
Atribut Nasabah 3 Nasabah Baru 3 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 33 35 1 0,30 0,3
Job services management 0,73 0,40 0,29
Balance 4789 747 0,92 0,10 0,09
Housing yes no 0 0,20 0
Loan yes no 0 0 0,00
Contact cellular cellular 1 0,60 0,6
Month may feb 0,73 0,70 0,51
Duration 220 141 1 1 1,00
Pdays 339 176 0,75 0,80 0,60
Previous 4 3 1 0,50 0,50
Poutcome failure failure 1 0,90 0,9
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,80
KEDEKATAN KASUS BARU DAN LAMA 0,872
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
217
4. Menghitung kedekatan kasus lama (nasabah 4) dengan kasus baru (nasabah 3).
Atribut Nasabah 4 Nasabah Baru 3 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 68 35 0,75 0,30 0,225
Job retired management 0,91 0,40 0,36
Balance 4189 747 0,92 0,10 0,09
Housing no no 1 0,20 0,2
Loan no no 1 0 0
Contact telephone cellular 0,5 0,60 0,30
Month jul feb 0,55 0,70 0,39
Duration 897 141 0,75 1 0,75
Pdays -1 176 0,83 0,80 0,66
Previous 0 3 0,88 0,50 0,44
Poutcome unknown failure 0,67 0,90 0,603
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,02
KEDEKATAN KASUS BARU DAN LAMA 0,731
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
218
5. Menghitung kedekatan kasus lama (nasabah 5) dengan kasus baru (nasabah 3).
Atribut Nasabah 5 Nasabah Baru 3 Nilai Kedekatan Atribut Bobot Atribut Similarity
Age 35 35 1 0,30 0,3
Job management management 1 0,40 0,40
Balance 1350 747 1 0,10 0,10
Housing yes no 0 0,20 0
Loan no no 1 0 0
Contact cellular cellular 1 0,60 1
Month apr feb 0,82 0,70 0,57
Duration 185 141 1 1 1,00
Pdays 330 176 0,75 0,80 0,60
Previous 1 3 0,88 0,50 0,44
Poutcome failure failure 1 0,90 0,9
JUMLAH BOBOT 5,5
JUMLAH SIMILARITY
4,91
KEDEKATAN KASUS BARU DAN LAMA 0,893
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
219
Kesimpulan dari contoh perhitungan kedekatan antara kasus lama dan
kasus baru (nasabah 3) diatas adalah sebagai berikut :
KASUS LAMA KASUS BARU (Nasabah 2)
NASABAH 1 0,777
NASABAH 2 0,847
NASABAH 3 0,872
NASABAH 4 0,731
NASABAH 5 0,893
1) Memilih kasus dengan kedekatan terdekat.
Dari langkah perhitungan dengan nasabah 1, 2, 3, 4, 5
dengan mencocokkan setiap atribut yang ada, dapat
disimpulkan bahwa kasus baru (nasabah 3) lebih dekat
dengan kasus lama pada nasabah 5, dengan nilai kedekatan
sebesar 0,893.
2) Menggunakan klasifikasi dari kasus dengan kedekatan
terdekat.
Berdasarkan hasil perhitungan yang diperoleh, dengan nilai
kedekatan pada kasus baru (nasabah 3) lebih mendekati
dengan kasus lama pada nasabah 5, maka dapat
diasumsikan bahwa nasabah pada kasus baru (nasabah 3)
tersebut diprediksi TIDAK AKAN MEMBUKA
SIMPANAN DEPOSITO.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI