1. ALGORITMA NEAREST NEIGHBOR
A. Algoritma
Nearest Neighbor adalah pendekatan untuk mencari kasus
dengan menghitung kedekatan antara kasus baru dengan
kasus lama, yaitu berdasarkan pada pencocokan bobot
dari sejumlah fitur yang ada. Misalkan diinginkan untuk
mencari solusi terhadap seorang pasien baru dengan
menggunakan solusi dari pasien terdahulu. Untuk mencari
kasus pasien mana yang akan digunakan maka dihitung
kedekatan kasus pasien baru dengan semua kasus pasien
lama. Kasus pasien lama dengan kedekatan terbesar-lah
yang akan diambil solusinya untuk digunakan pada kasus
pasien baru.
d2
Baru
B
A
d1
Gambar 4.1 Ilustrasi Kedekatan Kasus
Seperti tampak pada Gambar 4.1. Ada 2 pasien lama A
dan B. Ketika ada pasien Baru, maka solusi yang akan
diambil adalah solusi dari pasien terdekat dari pasien Baru.
Seandainya d1 adalah kedekatan antara pasien Baru dan
pasien A, sedangkan d2 adalah kedekatan antara pasien
Baru dengan pasien B. Karena d2 lebih dekat dari d1 maka
2. solusi dari pasien B lah yang akan digunakan untuk
memberikan solusi pasien Baru.
Adapun rumus untuk melakukan penghitungan kedekatan
antara 2 kasus adalah sebagai berikut:
f T S x w
i
n
i
i i i
w
similarity T S
Σ=
= 1
( , )
( , )
dengan
T : kasus baru
S : kasus yang ada dalam penyimpanan
n : jumlah atribut dalam masing-masing kasus
i : atribut individu antara 1 s/d n
f : fungsi similarity atribut i antara kasus T dan kasus S
w : bobot yang diberikan pada atribut ke i
Kedekatan biasanya berada pada nilai antara 0 s/d 1. Nilai
0 artinya kedua kasus mutlak tidak mirip, sebaliknya untuk
nilai 1 kasus mirip dengan mutlak.
Kasus :
Kemungkinan seorang nasabah bank akan bermasalah
dalam pembayarannya atau tidak
Tabel 1 Tabel Kasus
No Jenis
Kelamin
Pendidikan Status Bermasalah
1 L S1 Bekerja Ya
2 P SMA Tidak
Bekerja
Tidak
3 L SMA Bekerja Tidak
4 P S2 Bekerja Ya
Atribut Bermasalah merupakan atribut tujuan.
3. Bobot antara satu atribut dengan atribut yang lain pada
atribut bukan tujuan dapat didefinisikan dengan nilai
berbeda.
Tabel 2 Definisi Bobot Atribut
Atribut Bobot
Jenis Kelamin 0.5
Pendidikan 1
Status 0.75
Kedekatan antara nilai-nilai dalam atribut juga perlu
didefinisikan.
Tabel 3 Kedekatan Nilai Atribut Jenis Kelamin
Jenis Kelamin L P
L 1 0
P 0 1
Nilai1 Nilai2 Kedekatan
L L 1
P P 1
L P 0
P L 0
Tabel 4 Kedekatan Nilai Atribut Pendidikan
Pendidikan SMA S1 S2
SMA 1 0.5 0
S1 0.5 1 0.5
S2 0 0.5 1
Nilai1 Nilai2 Kedekatan
S2 S2 1
S2 S1 0.5
S2 SMA 0
S1 S1 1
S1 S2 0.5
S1 SMA 0.5
4. SMA SMA 1
SMA S1 0.5
SMA S2 0
Tabel 5 Kedekatan Nilai Atribut Status
Status Bekerja Tidak Bekerja
Bekerja 1 0
Tidak Bekerja 0 1
Nilai1 Nilai2 Kedekatan
Bekerja Bekerja 1
Tidak
Tidak
Bekerja
Bekerja 1
Bekerja Tidak
Bekerja 0
Tidak
Bekerja Bekerja 0
Misalkan ada kasus nasabah baru dengan nilai atribut:
Jenis Kelamin : L
Pendidikan : SMA
Status : Tidak Bekerja
Untuk memprediksi apakah nasabah tersebut akan
bermasalah atau tidak dapat dilakukan langkah-langkah
sebagai berikut:
1. Menghitung kedekatan kasus baru dengan kasus
no 1.
Diketahui:
a : Kedekatan nilai atribut Jenis Kelamin (Laki-laki
dengan Laki-laki)
: 1
5. b : Bobot Atribut Jenis Kelamin
: 0.5
c : Kedekatan nilai atribut Pendidikan (SMA
dengan S1)
: 0.5
d : Bobot Atribut Pendidikan
: 1
e : Kedekatan nilai atribut Status (Tidak Bekerja
dengan Bekerja)
: 0
f : Bobot Atribut Status
: 0.75
Dihitung:
= ( a * b ) + ( c * d ) + ( e * f
)
b d f
Jarak
+ +
= + + Jarak
(1*0.5) (0.5*1) (0*0.75)
+ +
0.5 1 0.75
1 Jarak =
Jarak = 0.44
2.25
2. Menghitung kedekatan kasus baru dengan kasus
no 2.
Diketahui:
a : Kedekatan nilai atribut Jenis Kelamin (Laki-laki
dengan Perempuan)
: 0
b : Bobot Atribut Jenis Kelamin
: 0.5
c : Kedekatan nilai atribut Pendidikan (SMA
dengan SMA)
: 1
d : Bobot Atribut Pendidikan
: 1
6. e : Kedekatan nilai atribut Status (Tidak Bekerja
dengan Tidak Bekerja)
: 1
f : Bobot Atribut Status
: 0.75
Dihitung:
= ( a * b ) + ( c * d ) + ( e * f
)
b d f
Jarak
+ +
= + + Jarak
(0*0.5) (1*1) (1*0.75)
+ +
0.5 1 0.75
1.75 Jarak =
2.25
Jarak = 0.778
3. Menghitung kedekatan kasus baru dengan kasus
no 3.
Diketahui:
a : Kedekatan nilai atribut Jenis Kelamin (Laki-laki
dengan Laki-Laki)
: 1
b : Bobot Atribut Jenis Kelamin
: 0.5
c : Kedekatan nilai atribut Pendidikan (SMA
dengan SMA)
: 1
d : Bobot Atribut Pendidikan
: 1
e : Kedekatan nilai atribut Status (Tidak Bekerja
dengan Bekerja)
: 0
f : Bobot Atribut Status
: 0.75
7. Dihitung:
= ( a * b ) + ( c * d ) + ( e * f
)
b d f
Jarak
+ +
= + + Jarak
(1*0.5) (1*1) (0*0.75)
+ +
0.5 1 0.75
1.5 Jarak =
2.25
Jarak = 0.667
4. Menghitung kedekatan kasus baru dengan kasus
no 3.
Diketahui:
a : Kedekatan nilai atribut Jenis Kelamin
(Perempuan dengan Laki-Laki)
: 0
b : Bobot Atribut Jenis Kelamin
: 0.5
c : Kedekatan nilai atribut Pendidikan (SMA
dengan S2)
: 0
d : Bobot Atribut Pendidikan
: 1
e : Kedekatan nilai atribut Status (Tidak Bekerja
dengan Bekerja)
: 0
f : Bobot Atribut Status
: 0.75
Dihitung:
= ( a * b ) + ( c * d ) + ( e * f
)
b d f
Jarak
+ +
= + + Jarak
(0*0.5) (0*1) (0*0.75)
+ +
0.5 1 0.75
8. 0 Jarak =
Jarak = 0
2.25
5. Memilih kasus dengan kedekatan terdekat.
Dari langkah 1, 2 dan 3 dapat diketahui bahwa nilai
tertinggi adalah kasus 2. Berarti kasus yang
terdekat dengan kasus baru adalah kasus 2.
6. Menggunakan klasifikasi dari kasus dengan
kedekatan terdekat.
Berdasarkan hasil pada langkah 4, maka klasifikasi
dari kasus 2 yang akan digunakan untuk
memprediksi kasus baru. Yaitu kemungkinan
nasabah baru akan Tidak Bermasalah