Anda di halaman 1dari 62

1

BAB I
PENDAHULUAN

1. 1 Latar Belakang
Manusia tidak bisa terlepas dari microba atau biasa disebut
dengan nama bakteri. Bakteri sendiri dianggap sebagai organisme
paling melimpah di bumi, bakteri tersebar dan menghuni hampir di
semua tempat seperti tanah, air, udara, atau dalam simbiosis dengan
organisme lain. Salah satu contoh bakteri adalah Eschereria coli
(E.Coli). Bakteri E.Coli adalah salah satu jenis spesies utama bakteri
gram negatif atau jenis bakteri patogen. Bakteria Escherichia Coli,
merupakan bakteri yang pada umumnya hidup di dalam usus besar
manusia, kebanyakan dari bakteri E.Coli tidak berbahaya bahkan
keberadaannya bisa dibilang menguntungkan. Bakteri yang
ditemukan oleh Theodor Escherich ini, berfungsi membantu
membusukkan sisa pencernaan juga menghasilkan vitamin B
12
, dan
vitamin K yang penting dalam proses pembekuan darah. Akan tetapi
jika dalam jumlah yang berlebihan, maka bakteri E.Coli dapat
mengakibatkan diare, dan bila bakteri ini menjalar ke sistem/organ
tubuh yang lain dapat menginfeksi. Seperti pada saluran kencing,
jika bakteri E.Coli sampai masuk ke saluran kencing dapat
mengakibatkan infeksi saluran kemih/kencing [ISK]. Hal ini dapat
dikatan bahwa bakteri E-Coli merupakan bakteri yang sangat
potensial. Fungsi potensial dari bakteri tersebut sangat dipengaruhi
oleh penyebaran protein pada selnya. Sehingga diperlukan penelitian
pada E.Coli guna mempermudah para ahli microbiology dalam
mengklasifikasikan kelas-kelasnya berdasarkan letak proteinnya.
Untuk mempermudah tahapan pengklasifikasian bakteri E-Coli
berdasarkan letak proteinnya maka digunakan metode data mining.
Data mining sendiri didefinisikan sebagai satu set teknik yang
digunakan secara otomatis untuk mengeksplorasi secara menyeluruh
dan membawa ke permukaan relasi-relasi yang kompleks pada set
data yang sangat besar (Moertini, 2002). Tujuan dari data mining
adalah menemukan hubungan-hubungan atau pola-pola yang
mungkin memberikan indikasi yang bermanfaat.
Data mining mempunyai beberapa metode yang berbeda, salah
satunya adalah klasifikasi. Klasifikasi digunakan untuk menyatakan
suatu objek ke dalam salah satu kategori yang telah didefinisikan
sebelumnya. Teknik klasifikasi digunakan dengan cara membuat
2
model klasifikasi dengan menguji data yang telah diklasifikasi dan
secara induktif menemukan pola yang dapat diprediksi. Untuk
membentuk sebuah model klasifikasi, suatu sampel basis data
diperlakukan sebagai training set yang memuat atribut yang
beragam. Tujuan dari klasifikasi ini adalah pertama-tama untuk
menganalisa training data dan membentuk sebuah deskripsi yang
akurat atau sebuah model untuk setiap kelas berdasarkan atribut-
atribut yang tersedia di dalam data itu. Deskripsi dari masing-
masing kelas itu nantinya akan digunakan untuk
mengklasifikasikan data yang hendak di test dalam basis data
besar atau untuk membangun suatu deskripsi yang lebih baik untuk
setiap kelas dalam basis data besar tersebut.
Algoritma K-NEAREST NEIGHBOR (KNN) sering digunakan
pada penelitian-penelitian klasifikasi yang sudah ada karena
mempunyai beberapa kelebihan yaitu sederhana dalam
penggunaanya, dapat menangani data training yang memiliki banyak
noise dan sangat efektif apabila data training yang digunakan dalam
jumlah besar. Akan tetapi, metode K-Nearest Neighbor (KNN) ini
juga memiliki kelemahan dalam hal akurasi dan perhitungan dengan
berbasis jarak yang belum jelas jenis jarak yang digunakan.
Dengan metode K-Nearest Neighbor (KNN) maka
dikembangkan metode Modified K-Nearest Neighbor (MKNN).
Gagasan utama dari metode ini adalah mengklasifikasikan sampel uji
sesuai dengan tag tetangga. Metode ini adalah semacam KNN
tertimbang sehingga bobot yang ditentukan dengan menggunakan
prosedur yang berbeda. Prosedur menghitung fraksi dari tetangga
berlabel sama dengan total sejumlah tetangga. Karena tingkat akurasi
metode Modified K-Nearest Neighbor (MKNN) lebih baik bila
dibandingkan dengan metode K-Nearest Neighbor (KNN). Seperti
percobaan sebelumnya pada dataset Wine metode KNN meempunyai
tingkat akurasi 83,79% sedangkan metode MKNN 85,76% dan juga
pada dataset Isodata metode mempunyai tingkat akurasi KNN
82,90% sedangkan metode MKNN 83,32%.(Hamid Parvin, 2008).
Berdasarkan latar belakang yang telah diuraikan, maka akan
dilakukan penelitian dengan judul PENERAPAN ALGORITMA
MODIFIED K-NEAREST NEIGHBOR (MKNN) UNTUK
MENGKLASIFIKASIKAN LETAK PROTEIN PADA BAKTERI
E.COLI untuk mengklasifikasikan bakteri E.Coli berdasarkan letak
3
protein di tubuhnya agar dapat digolongkan bakteri E. Coli yang
merugikan dan tidak.

1. 2 Rumusan Masalah
Rumusan masalah dalam skripsi ini, adalah :
1. Bagaimana penerapan algoritma Modified K-Nearest Neighbor
(MKNN) untuk mengklasifikasikan letak protein pada bakteri
E.Coli.
2. Bagaimana pengujian akurasi algoritma Modified K-Nearest
Neighbor (MKNN) terhadap banyak data tes dan nilai tetangga.

1. 3 Batasan Masalah
Batasan masalah dalam skripsi ini adalah sebagai berikut :
1. Data yang digunakan untuk analisis adalah data protein pada
bakteri E.Coli yang diambil dari situs
http://archive.ics.uci.edu/ml/datasets/E.Coli.
2. Tidak bisa menangani data dengan missing value.

1. 4 Tujuan Penelitian
Tujuan penelitian yang ingin dicapai dalam penulisan skripsi ini
adalah sebagai berikut :
1. Penerapan algoritma Modified K-Nearest Neighbor (MKNN)
untuk mengklasifikasikan letak protein pada bakteri E.Coli
2. Pengujian akurasi algoritma Modified K-Nearest Neighbor
(MKNN) terhadap banyak data tes dan nilai tetangga.

1. 5 Manfaat Penelitian
Manfaat yang diperoleh dari penulisan skripsi ini, yaitu :
1. Dengan mengetahui letak protein pada bakteri E.Coli,
diharapkan dapat mengurangi penyebab bakteri patogen.
2. Dapat mengetahui tingkat akurasi pada algoritma pengujian
akurasi algoritma Modified K-Nearest Neighbor (MKNN)
terhadap banyak data tes dan nilai tetangga untuk
pengklasifikasian letak protein pada bakteri E.Coli.

1. 6 Metode Penyelesaian Masalah
Metode penyelesaian masalah yang dilakukan pada penelitian
ini, yaitu :

4
1. Studi literatur.
Mempelajari dan mengkaji beberapa literatur (jurnal, buku, dan
artikel dari website) mengenai data mining, algoritma pengujian
akurasi algoritma Modified K-Nearest Neighbor (MKNN).
2. Perumusan masalah dan analisa kebutuhan
Mengkaji permasalahan sebagai hasil dari studi pustaka dan
menganalisis yang dibutuhkan.
3. Perancangan dan implementasi sistem.
Mengimplementasikan algoritma MKNN dengan merancang dan
membangun sebuah perangkat lunak untuk mengklasifikasikan
data protein pada E.Coli.
4. Uji coba dan analisis hasil implementasi.
Menganalisa akurasi hasil pengklasifikasian data dengan
menggunakan model klasifikasi.

1. 7 Sistematika Penulisan
Sistematika penulisan tugas akhir ini dibagi menjadi lima bab
dengan masing-masing bab diuraikan sebagai berikut:

1. BAB I PENDAHULUAN
Berisi latar belakang penelitian, rumusan masalah, batasan
masalah, tujuan penelitian, manfaat penelitian, metodologi
penyelesaian masalah, dan sistematika penulisan.
2. BAB II DASAR TEORI
Berisi teori-teori dari berbagai pustaka yang menunjang dalam
penulisian skripsi. Teori yang tercakup dalam bab ini yaitu
mengenai definisi dan konsep data mining, algoritma pengujian
akurasi algoritma K-NEAREST NEIGHBOR (KNN) terhadap
banyak data tes dan nilai tetangga, algoritma pengujian akurasi
algoritma MODIFIED K-NEAREST NEIGHBOR (MKNN)
terhadap banyak data tes dan nilai tetangga dan E.Coli.
3. BAB III METODOLOGI DAN PERANCANGAN SISTEM
Bab ini berisi mengenai perancangan perangkat lunak yang
dibangun, meliputi analisa sistem, perancangan basis data,
perancangan proses, contoh perhitungan manual, perancangan
antarmuka dan perancangan uji coba.



5
4. BAB IV IMPLEMENTASI DAN PEMBAHASAN
Bab ini berisi hasil dari implementasi perangkat lunak yang
digunakan untuk mengukur akurasi hasil klasifikasi, pembahasan
analisa hasil uji coba dan evaluasi hasil uji coba.
5. BAB V KESIMPULAN DAN SARAN
Bab ini memuat kesimpulan dari hasil penelitian dan saran-saran
untuk pengembangan penelitian selanjutnya.
































6




































7
BAB II
TINJAUAN PUSTAKA

Pada bab ini akan membahas tentang teori-teori yang
menunjang penelitian, yaitu mengenai data mining meliputi
definisialgoritma, data, data mining, proses dalam data mining, dan
metode dalam data mining, tentang klasifikasi, algoritma K-Nearest
Neighbor (KNN), serta algoritma Modified K-Nearest Neighbor
(MKNN). Pada penelitian kali ini dataset yang digunakan adalah data
bakteri E. Coli.

2.1 Algoritma
2.1.1 Definisi Algoritma
Definisi Algoritma adalah langkah-langkah logis penyelesaian
masalah yang disusun secara sistematis dan logis. Penemu kata
Algoritma sendiri adalah nama Abu Jafar Mohammed Ibnu Musa al-
Khowarizmi, ilmuan Persia yang menulis kitab al jabr wal-
muqabala (rules of restoration and reduction) sekitar tahun 825 M.
Menurut Donald E. Knuth dalam bukunya yang berjudul The Art
of Computer Programming, sebuah algoritma memiliki 5 ciri-ciri
penting, yakni :
1. Algoritma harus berhenti setelah melakukan sejumlah
langkah terbatas.
2. Setiap langkah algoritma harus didefinisikan dengan tepat
dan tidak bermakna ganda (ambiguous).
3. Algoritma memiliki nol atau lebih masukan (input).
4. Algoritma memiliki satu atau beberapa keluaran (output).
5. Algoritma harus efektif.

2.2 Data
2.2.1 Definisi Data
Data sering disebut sebagai bahan mentah informasi. Tapi
menurut Murdick, dkk (1984) merumuskan bahwa data adalah fakta
yang tidak sedang digunakan pada proses keputusan, biasanya
dicatat dan diarsipkan tanpa maksud untuk segera diambil kembali
untuk pengambilan keputusan. Menurut Zulkifli Amsyah (1987) data
adalah fakta yang sudah ditulis dalam bentuk catatan atau direkam ke
dalam berbagai bentuk media.
8
Knowledge discovery in databases (KDD) adalah keseluruhan
proses non-trivial untuk mencari dan mengidentifikasi pola (pattern)
dalam data, dimana pola yang ditemukan bersifat sah, baru, dapat
bermanfaat dan dapat dimengerti (Usama Fayyad, 1996). Gambar 2.1
menunjukkan proses dari KDD.












Gambar 2.1 Proses Knowledge discovery in databases (KDD)
(Usama Fayyad, 1996)

Berikut ini adalah proses dari KDD (Kantardzic, 2003):
1. Data Selection
Menciptakan himpunan data target, pemilihan himpunan data,
atau memfokuskan pada subset variabel atau sampel data, dimana
penemuan dilakukan. pemilihan (seleksi) data dari sekumpulan
data operasional perlu dilakukan sebelum tahap penggalian
informasi dalam KDD dimulai. Data hasil seleksi yang digunakan
untuk proses data mining, disimpan dalam suatu berkas, terpisah
dari basis data operasional.
2. Pre-processing/Cleaning
Pemrosesan pendahuluan dan pembersihan data merupakan
operasi dasar seperti penghapusan noise dilakukan. Sebelum
proses data mining dapat dilaksanakan, perlu dilakukan proses
cleaning pada data yang menjadi fokus KDD. Proses cleaning
mencakup antara lain membuang duplikasi data, memeriksa data
yang inkonsisten, dan memperbaiki kesalahan pada data, seperti
kesalahan cetak (tipografi). Dilakukan proses enrichment, yaitu
proses memperkaya data yang sudah ada dengan data atau
9
informasi lain yang relevan dan diperlukan KDD, seperti data
atau informasi eksternal.

3. Transformation
Pencarian fitur-fitur yang berguna untuk mempresentasikan data
bergantung kepada goal yang ingin dicapai. Merupakan proses
transformasi pada data yang telah dipilih, sehingga data tersebut
sesuai untuk proses data mining. Proses ini merupakan proses
kreatif dan sangat tergantung pada jenis atau pola informasi yang
akan dicari dalam basis data.
4. Data mining
Pemilihan tugas data mining, pemilihan goal dari proses KDD
seperti klasifikasi, regresi, klustering dan lain-lain. Proses data
mining yaitu proses mencari pola atau informasi menarik dalam
data terpilih dengan menggunakan teknik atau metode tertentu.
Teknik, algoritma dalam data mining sangat bervariasi. Pemilihan
algoritma yang tepat sangat bergantung pada tujuan dan proses
KDD secara keseluruhan.
5. Interpretation / Evaluation
Penerjemahan pola-pola yang dihasilkan dari data mining. Pola
informasi yang dihasilkan dari proses data mining perlu
ditampilkan dalam bentuk yang mudah dimengerti oleh pihak
yang berkepentingan. Tahap ini merupakan bagian dari proses
KDD yang mencakup pemeriksaan apakah pola atau informasi
yang ditemukan bertentangan dengan fakta atau hipotesa yang
ada sebelumnya.

2.3 Data Mining
2.3.1 Definisi Data Mining
Data mining didefinisikan sebagai satu set teknik yang
digunakan secara otomatis untuk mengeksplorasi secara menyeluruh
dan membawa ke permukaan relasi-relasi yang kompleks pada set
data yang sangat besar (Moertini, 2002).
Teknik data mining secara garis besar dapat dibagi dalam dua
kelompok: verifikasi dan discovery. Metode verifikasi umumnya
meliputi teknik-teknik statistik seperti goodness of fit, dan analisis
variansi. Metode discovery lebih lanjut dapat dibagi atas model
prediktif dan model deskriptif. Teknik prediktif melakukan prediksi
terhadap data dengan menggunakan hasil-hasil yang telah diketahui
10
dari data yang berbeda. Model ini dapat dibuat berdasarkan
penggunaan data historis lain. Sementara itu, model deskriptif
bertujuan mengidentifikasi pola-pola atau hubungan antar data dan
memberikan cara untuk mengeksplorasi karakteristik data yang
diselidiki (Dunham, 2003).


Gambar 2.2 Taksonomi Metode Data Mining
Menurut Hand (2001), data mining merupakan sebuah
proses menganalisa sekumpulan data hasil penelitian, dengan tujuan
untuk menemukan hubungan antar data, dan untuk meringkas
data sehingga data menjadi mudah dimengerti dan berguna bagi
pemiliki data.
Sedangkan menurut Turban,dkk (2005), data mining adalah
suatu istilah yang digunakan untuk menguraikan penemuan
pengetahuan di dalam database. Data mining adalah proses yang
menggunakan teknik statistik, matematika, kecerdasan buatan,
dan machine learning untuk mengekstraksi informasi yang
bermanfaat dan pengetahuan yang terakit dari berbagai database
besar.
Ada beberapa definisi dari data mining menurut (Kusnawi, 2007)
antara lain yaitu :
1. Data mining adalah serangkaian proses untuk menggali nilai
tambah dari suatu kumpulan data berupa pengetahuan yang
selama ini tidak diketahui secara manual.
11
2. Data mining adalah analisa otomatis dari data yang berjumlah
besar atau kompleks dengan tujuan untuk menemukan pola atau
kecenderungan yang penting yang biasanya tidak disadari
keberadaannya.
3. Data mining atau Knowledge Discovery in Databases (KDD)
adalah pengambilan informasi yang tersembunyi, dimana
informasi tersebut sebelumnya tidak dikenal dan berpotensi
bermanfaat. Proses ini meliputi sejumlah pendekatan teknis
yang berbeda, seperti clustering, data summarization, learning
classification rules.

2.3.2 Proses Data Mining
Menurut Kantardzic (2003), dalam menemukan model dari
data dalam data mining ada beberapa prosedur yang harus
dilakukan, diantaranya :
a. Merumuskan permasalahan dalam prosedur ini ditetapkan
rumusan masalah dan variabel-variabel yang terlibat.
b. Pengumpulan data prosedur ini berkonsentrasi pada proses
pembuatan data dan pengumpulan data.
c. Preprocessing data prosedur untuk menyeleksi data yang akan
digunakan dalam proses.
d. Mengestimasi model seleksi dan implementasi terhadap metode
data mining yang tepat merupakan proses utama prosedur ini .
e. Menafsirkan model dan menarik kesimpulan.

2.3.3 Metode Data Mining
Secara garis besar data mining dapat dikelompokkan menjadi 2
kategori utama, yaitu (Tan et al, 2005):
1. Descriptive mining, yaitu proses untuk menemukan karakteristik
penting dari data suatu basis data. Tehnik data mining yang
termasuk dalam descriptive mining adalah clustering, association,
dan sequential mining.
2. Predictive, yaitu proses untuk menemukan pola dari data dengan
menggunakan beberapa variable lain di masa depan. Salah satu
tehnik yang terdapat dalam predictive mining adalah klasifikasi

2.4 Klasifikasi
Klasifikasi merupakan salah satu teknik data mining yang
memiliki kemampuan untuk melakukan proses klasifikasi data.
12
Klasifikasi bisa digunakan untuk menemukan model atau fungsi
yang membedakan kelas data. Klasifikasi bertujuan untuk
memprediksi kelas dari suatu objek yang labelnya tidak diketahui
Klasifikasi merupakan suatu teknik dengan melihat pada
kelakuan dan atribut dari kelompok yang telah didefinisikan. Teknik
ini dapat memberikan klasifikasi pada data baru dengan
memanipulasi data yang ada yang telah diklasifikasi dan dengan
menggunakan hasilnya untuk memberikan sejumlah aturan. Aturan-
aturan tersebut digunakan pada data-data baru untuk diklasifikasi.
Teknik ini menggunakan supervised induction, yang memanfaatkan
kumpulan pengujian dari record yang terklasifikasi untuk
menentukan kelas-kelas tambahan (Kusnawi, 2007).
Klasifikasi merupakan proses untuk menyatakan suatu objek ke
dalam salah satu kategori yang sudah didefinisikan sebelumnya.
Tujuan dari klasifikasi ini adalah record-record yang sebelumnya
belum termasuk dalam kategori dapat dinyatakan kelasnya secara
akurat. Tahapan-tahapan klasifikasi terdiri dari :
1. Pembangunan model
Dalam tahapan ini dibuat model untuk menyelesaikan masalah
klasifikasi data, model ini dibangun berdasarkan training set.
2. Penerapan model
Pada tahapan ini model yang sudah dibangun sebelumnya
digunakan untuk menentukan attribut atau class dari sebuah data
baru yang attribut atau classnya belum diketahui.
3. Evaluasi
Dalam tahapan ini hasil dari tahapan sebelumnya dievaluasi
menggunakan parameter terukur untuk menentukan apakah
model tersebut dapat diterima.
Pada proses klasifikasi terdapat beberapa metode, antara lain
decision tree, Bayesian, fuzzy, neural network, support vector
machine (SVM) dan k-nearest neighbor (Pramudiono, 2003).

2.5 K-Nearest Neighbor (KNN)
2.5.1 Definisi K-Nearest Neighbor (KNN)
Algoritma K-Nearest Neighbor (KNN) adalah sebuah metode
untuk melakukan klasifikasi terhadap objek berdasarkan data
pembelajaran yang jaraknya paling dekat dengan objek tersebut.
Data pembelajaran diproyeksikan ke ruang berdimensi banyak,
dimana masing-masing dimensi merepresentasikan fitur dari data.
13
Ruang ini dibagi menjadi bagian-bagian berdasarkan klasifikasi data
pembelajaran. Sebuah titik pada ruang ini ditandai kelas c jika kelas
c merupakan klasifikasi yang paling banyak ditemui pada k buah
tetangga terdekat titik tersebut. Dekat atau jauhnya tetangga biasanya
dihitung berdasarkan jarak Euclidean.
Beberapa keuntungan dari metode K-Nearest Neighbor (KNN)
adalah sebagai berikut:
b. Sederhana dalam penggunaannya.
c. Dapat menangani data training yang mengandung noise.
d. Efektif jika data training besar.
Meskipun memiliki beberapa keuntungan metode K-Nearest
Neighbor (KNN) juga memiliki beberapa kelemahan seperti berikut
ini (Hamid Parvin, 2008) :
a. Computation cost cukup tinggi karena perlu untuk menghitung
jarak setiap data training.
b. Membutuhkan memori yang besar.
c. Rendahnya tingkat akurasi pada dataset multidimensi.
d. Perlu untuk menentukan nilai K parameter,jumlah tetangga
terdekat;
e. Menggunakan perhitungan jarak, yang belum diketahui pasti jenis
jarak yang digunakan.
f. Belum diketahui atribut yang lebih baik untuk menghasilkan hasil
terbaik.
Kelebihan dari algoritma KNN itu sendiri adalah sederhana dan
mudah diimplementasikan. Algoritma ini mencari k training record
(tetangga) yang memiliki jarak terdekat dari record baru, untuk
memprediksi kelas dari record baru tersebut ( Sarkar dan Leong,
2000). Menurut (Moradian dan Baarani, 2009) sendiri K-Nearest
Neighbor juga merupakan algoritma yang sering digunakan untuk
klasifikasi pada tehnik data mining.

2.5.2 Proses K-Nearest Neighbor (KNN)
Menurut Agusta, 2007 bahwa prinsip kerja K-Nearest Neighbor
(KNN) adalah mencari jerak terdekat antara data yang dievaluasi
dengan k tetangga terdekatnya dalam data pelatihan. Persamaan
perhitungan untuk mencari euclidean dengan d adalah jarak dan p
adalah dimensi data dengan:
J

= _

( x
2-X
1i
)
2
p
1=
(2.1)
14

dimana :
x
1
: sample data uji
x
2
: data uji
d : jarak
p : dimensi data

2.6 Modified K-Nearest Neighbor (MKNN)
2.6.1 Definisi Modified K-Nearest Neighbor (MKNN)
Modified K-Nearest Neighbor (MKNN) adalah menempatkan
label kelas data sesuai dengan k divalidasi poin data yang sudah
ditetapkan dengan perhitungan K-Nearest Neighbor (KNN)
tertimbang.(Hamid Parvin, 2008)

2.6.2 Proses Modified K-Nearest Neighbor (MKNN)
A. Validitas Data Training
Dalam algoritma MKNN, setiap data pada data training harus
divalidasi terlebih dahulu pada awalnya. Validitas setiap data
tergantung pada setiap tetangganya. Proses validasi dilakukan
untuk semua data pada data training. Setelah dihitung validitas tiap
data maka nilai validitas tersebut digunakan sebagai informasi lebih
mengenai data tersebut.
Untuk menghitung validitas dari data pada data training,
tetangga terdekatnya perlu dipertimbangkan. Di antara tetangga
terdekat dengan data, validitas digunakan untuk menghitung jumlah
titik dengan label yang sama untuk data tersebut. Persamaan yang
digunakan untuk menghitung validitas dari setiap titik pada data
training adalah seperti pada persamaan 2.2.
IoliJitos
(
x
)
=
1
H

S( lbl
(
x
)
, ( lbl(N

(
x
) ))
H
=1
(2.2)
dimana :
H : jumlah titik terdekat
LBL (x) : kelas x
N i (X) : label kelas titik terdekat x
Fungsi S digunakan untuk menghitung kesamaan antara titik x
dan data ke-i dari tetangga terdekat. Yang dituliskan dalam
persamaan 2.3 mendefinisikan fungsi ini.

15
S(a,b) = ]
1 o = b
0 o b
(2.3)
Keterangan:
a = kelas a pada data training.
b = kelas lain selain a pada data training.


B. Weight Voting KNN
Weight voting KNN adalah salah satu variasi metode KNN yang
menggunakan K tetangga terdekat, terlepas dari kelas data, tapi
menggunakan weight voting dari masing-masing data pada data
training. Masing-masing data diberikan weight voting yang
biasanya sama dengan beberapa penurunan fungsi jarak dari data
yang tidak diketahui. Sebagai contoh, voting diatur sama dengan 1 /
(J
c
+ 1), dimana d e adalah jarak Euclidian. Weight voting ini
kemudian dijumlahkan untuk setiap kelasnya, dan kelas dengan
jumlah terbesar suara yang dipilih.
Dalam metode MKNN, pertama weight masing-masing tetangga
dihitung dengan menggunakan 1 / (J
c
+ 0.5). Kemudian, validitas
dari tiap data pada data training dikalikan dengan weight
berdasarkan pada jarak Euclidian. Dalam metode MKNN, weight
voting tiap tetangga seperti pada persamaan 2.4.

w
(
i
)
= IoliJitos
(
i
)

1
d
c
+0.5
(2.4)
dimana :
W (i) : Perhitungan Weight Voting
Validitas (i) : Nilai Validitas
J
c
: Jarak Euclidean
Teknik weight voting ini mempunyai pengaruh yang lebih
penting terhadap data yang mempunyai nilai validitas lebih tinggi
dan paling dekat dengan data. Selain itu, dengan mengalikan
validitas dengan jarak dapat mengatasi kelemahan dari setiap data
yang mempunyai jarak dengan weight yang memiliki banyak
masalah dalam outlier. Jadi, algoritma MKNN diusulkan secara
signifikan lebih kuat daripada metode KNN tradisional yang
didasarkan hanya pada jarak.(Hamid Parvin, 2008).


16
2.7 Bakteri E. Coli
Bakteri Escherichia coli merupakan mikroflora normal pada usus
kebanyakan hewan berdarah panas. Bakteri ini tergolong bakteri
Gram-negatif, berbentuk batang, tidak membentuk spora,
kebanyakan bersifat motil (dapat bergerak) menggunakan flagela,
ada yang mempunyai kapsul, dapat menghasilkan gas dari glukosa,
dan dapat memfermentasi laktosa. Kebanyakan strain tidak bersifat
membahayakan, tetapi ada pula yang bersifat patogen terhadap
manusia, seperti Enterohaemorragic Escherichia coli (EHEC).
Escherichia coli O157:H7 merupakan tipe EHEC yang terpenting
dan berbahaya terkait dengan kesehatan masyarakat. E. coli dapat
masuk ke dalam tubuh manusia terutama melalui konsumsi pangan
yang tercemar, misalnya daging mentah, daging yang dimasak
setengah matang, susu mentah, dan cemaran fekal pada air dan
pangan.
Escherichia coli, atau biasa disingkat E. coli, adalah salah
satu jenis spesies utama bakteri gram negatif. Pada umumnya,
bakteri yang ditemukan oleh Theodor Escherich ini dapat
ditemukan dalam usus besar manusia.
Berikut bagian struktur sel bakteri Escherichia coli:
- pilus
- ribosom
- kapsul
- dinding sel
-membran plasma
- daerah nukleoid (DNA)
- mesosom
- flagella

17

Gambar 2.3 Struktur Sel Bakteri E.Coli

Escherichia coli adalah satu jenis spesies utama bakteri yang
hidup di tinja dan dapat menyebabkan masalah kesehatan pada
manusia, seperti diare, muntaber dan masalah pencernaan lainnya.
Organisme ini tersebar luas di alam biasanya lazim terdapat
dalam sel pencernaan manusia dan hewan. Dalam Merchant dan
Parker (1961) disebutkan bahwa spesies E. coli tidak dapat
mengurangi asam sitrat dan garam asam sitrat sebagai sumber
karbon tunggal dan tidak menghasilkan pigmen, tetapi kadang-
kadang menghasilkan pigmen berwarna kuning.
E. coli tersebar diseluruh dunia dan ditularkan bersama air atau
makanan yang terkontaminasi oleh feses. Escherichia coli
berbentuk batang, tebal 0,5m; panjang antara 1,0 - 3,0 m;
bervariasi dari bentuk koloid sampai berbentuk seperti filamen
yang panjang; tidak berbentuk spora motil dan filamen perithin
beberapa galur tidak memiliki flagella bersifat gram-negatif. E.
Coli bersifat aerob atau kualitatif anaerob, dapat tumbuh pada
media buatan. Beberapa sifat E. Coli antara lain pertumbuhan
optimum pada suhu 37C, dapat tumbuh pada suhu 15C -
45C, 11 tumbuh baik pada pH 7,0 tapi tumbuh juga pada pH yang
lebih tinggi.
18
Koloni terlihat basah, mengkilat, tidak bening, bulat dan
dengan tepi yang terlihat halus dan rata. Koloni muda terlihat
granuler halus dan makin tua menjadi granuler kasar.
Escherichia coli menghasilkan asam dan gas dari glukosa,
laktosa, fruktosa, maltosa, arabinosa, xylosa, rhamnosa dan
manitol dapat atau tidak memfermentasi sukrosa, rafinosa, salisin,
eskulin, dulsitol dan gliserol; bervariasi dalam memfermentasi
sakrosa dan salisin, pektin dan adonitol jarang difermentasikan;
dekstrin, pati dan glikogen dan inositol tidak pernah
difermentasikan. Escherichia coli menghasilkan katalase, tidak
mencairkan gelatin, membentuk indol, mereduksi nitrat,
mengoksidasi dan mengasamkan air susu tanpa peptonisasi,
mengoksidasi kentang sehingga berwarna coklat gelap, tidak
menghasilkan gas H
2
S.
Bakteri gram-negatif seperti Escherichia coli memiliki tiga lapis
sekitar sitoplasmanya yaitu membran luar, membran plasma dalam,
dan ruang periplasma antara membran luar dan membran dalam. Di
antaranya, membran plasama bertindak sebagai penghalang selektif
yang hanya permeabel untuk zat yang memiliki pengangkut spesifik
dan menyediakan sitoplasma dengan suasana yang relatif konstan-
ronment. Ruang periplasma sebagai lapisan tengah adalah terdiri dari
peptidoglikan frame diisi dengan larutan air yang mengandung
oligosakarida, monosakarida, protein, dan zat terlarut lainnya. Ruang
periplasma yang dilalui protein ini diyakini memenuhi banyak fungsi
fisiologis yang berbeda termasuk perlindungan terhadap faktor
eksternal merugikan (seperti sebagai antibiotik), penyerapan,
penyelamatan, dan chemotaxis dari berbagai nutrisi termasuk
karbohidrat, garam, dan asam amino. Pada membran luar
memungkinkan difusi gratis molekul lebih kecil dari 600Da karena
adanya transporter non-spesifik seperti porins. Seperti bocor sifat
dari membran luar periplasma yang menyajikan sebuah lingkungan
jauh lebih rentan terhadap kondisi lingkungan di mana sel-sel bakteri
hidup. Protein yang berada di atau transit melalui ruang periplasma
akan mengalami tantangan yang dapat menyebabkan protein
terungkap. (Yang Liu, 2004).




19
2.8 Perhitungan akurasi
Perhitungan akurasi dilakukan untuk mengetahui tingkat akurasi
dari hasil klasifikasi, dengan cara menghitung jumlah record uji yang
kelasnya diprediksi secara tepat . Dapat dilihat pada persamaan 2.5
dibawah ini.

Akurasi =
jumIah prcdIksI bcnar
jumIah totaI prcdIksI
x 100% (2.5)
Jumlah predikasi benar adalah jumlah record data uji yang
diprediksi kelasnya menggunakan metode klasifikasi dan hasilnya
sama dengan kelas sebenarnya. Sedangkan jumlah total prediksi
adalah jumlah keseluruhan record yang diprediksi kelasnya (seluruh
data uji). Metode klasifikasi berusaha untuk mencari model yang
memiliki tingkat akurasi yang tinggi ketika model tersebut
diterapkan pada data uji.( Sarkar dan Leong, 2000)














20

































BAB III
21
METODOLOGI DAN PERANCANGAN

Pada bab metodologi dan perancangan ini akan dibahas metode
perancangan yang digunakan dan langkah-langkah dalam penelitian.
Penelitian dilakukan dengan tahapan-tahapan sebagai berikut:
1. Mempelajari literatur-literatur yang berkaitan dengan masalah
klasifikasi data menggunakan algoritma Modified K-Nearest
Neighbor (MKNN) baik melalui buku atau source dari internet.
2. Menentukan dan mempelajari data set yang digunakan sebagai
data traning.
3. Merancang dan membangun perangkat lunak yang
mengimplementasikan algoritma Modified K-Nearest Neighbor
(MKNN).
4. Mengimplementasikan algoritma Modified K-Nearest Neighbor
(MKNN) pada data traning.
5. Mengevaluasi dan menganalisa hasil penelitian.
Langkah-langkah yang dilakukan ditunjukkan pada Gambar 3.1

Gambar 3.1 Alur Penelitian
3.1 Analisis Sistem
22
Pada subbab ini akan menjelaskan mengenai deskripsi sistem
dan batasan pada sistem.
3.1.1 Deskripsi Sistem
Tujuan dari penggunaan dataset E.Coli guna mengetahui letak
protein pada tubuh bakteri E.Coli yang sudah diketahui secara
umum, bahwa bakteri E.Coli memiliki sifat patogen yang merugikan
manusia.Diharapkan dengan mengetahui letak protein pada bakteri
E.Coli bisa mengurangi kerugian yang ditimbulkan oleh bakteri
tersebut.

3.1.2 Deskripsi Data
Pada deskripsi data kali ini data traning yang digunakan adalah
data set letak protein pada bakteri E.Coli yang didapat dari situs
(http://archive.ics.uci.edu/ml/datasets/E.Coli). Data E.Coli adalah
data tentang klasifikasi letak protein pada bakteri E.Coli.Data set ini
bersumber dari Kenta Nakai, Institue of Molecular and Cellular
Biology, Osaka, University 1-3 Yamada-oka, Suita 565 Jepang.Data
yang digunakan terdiri dari 336 data dangan jumlah attribute data 7
(bertipe kontinue).
Dalam penelitian ini untuk mengetahui letak protein pada
bakteri E.Coli. Data informasinya ada 8 macam antara lain yaitu :
1. Nama bakteri E.Coli.
2. Mcg : Metode McGeoch untuk penentuan urutan sinyal.
3. Gvh : Metode von Heijne untuk penentuan urutan sinyal.
4. Lip : Sinyal peptidase von Heijne konsensus II skor berurutan.
5. Chg : Kehadiran biaya di N-terminus lipoprotein diprediksi.
6. Aac : skor analisis diskriminan dari kandungan asam amino
membran luar dan protein periplasmic.
7. alm1 : skor dari Alom membran program mencakup wilayah
prediksi.
8. alm2 : skor program Alom setelah mengecualikan sinyal
cleavable(membelah) putatif daerah dari urutan.
Dari data letak protein pada bakteri E.Coli tersebut sistem akan
menentukan kelas dati tiap bakteri E.Coli.
Pada sistem yang akan dikembangkan data yang digunakan
adalah data protein pada bakteri E.Coli yang diambil dari situs
http://archive.ics.uci.edu/ml/datasets/E.Coli. Data informasinya ada 8
macam antara lain yaitu :
1. Nama bakteri E.Coli dengan tipe data real.
23
2. Mcg dengan tipe data binary.
3. Gvh dengan tipe data binary.
4. Lip dengan tipe data binary.
5. Chg dengan tipe data binary.
6. Aac dengan tipe data binary.
7. Alm1 dengan tipe data binary.
8. Alm2 dengan tipe data binary.
Data-data pada dataset diklasifikasikan ke dalam 2 kelas yaitu
cp (sitoplasma) ada 143 data, im (membran dalam tanpa urutan
sinyal) 77 data, pp (perisplasm) 52 data, IMU (membran, urutan
sinyal dalam uncleavable) 35 data, om (membran luar) 20 data,
OML (lipoprotein membran luar) 5 data, IML (lipoprotein membran
dalam) 2 data, dan IMS (membran, urutan sinyal dalam cleavable) 2
data. Jumlah data pada dataset letak protein pada E.Coli ada 360
data dengan tidak ada missing value pada data di tiap atribut.
Data sistem ini terdiri dari tiga macam data, yaitu data training,
data testing (data uji), dan data klasifikasi. Data training merupakan
data yang data set yang akan diproses menggunakan algortima
MKNN, sedangkan data testing merupakan data yang digunakan
untuk mencari kelas. Data klasifikasi adalah data hasil klasifikasi.

3.2 Perancangan Proses
Pada bab ini akan dijelaskan mengenai proses-proses dalam
membangun sebuah sistem. Dalam memberikan informasi pada
pengguna tentang letak protein pada bakteri E.Coli sistem akan
melakukan klasifikasi sesuai dengan kriteria yang dimasukkan,
klasifikasi sendiri dilakukan dengan menggunakan algoritma
Modified K-Nearest Neighbor (MKNN).

3.2.1 Proses Klasifikasi Algoritma MKNN
Pada proses ini sistem akan melakukan klasifikasi pada data
training dengan menggunakan algoritma Modified K-Nearest
Neighbor (MKNN).Tahapan proses adalah sebagai berikut:
1. Proses global adalah sebuah proses yang mencakup alur dari
proses secara garis besar.
2. Proses request data adalah sebuah proses yang melakukan
pemanggilan data yang disimpan pada sebuah data base.
24
3. Proses klasifikasi adalah sebuah proses yang menunjukkan alur
perhitungan dari perhitungan awal sampai ditemukan kelas
bakteri E.Coli.
4. Menghitung validitas
5. Menghitung euclidean
6. Menghitung weight voting

3.2.1.1Flowchart Sistem
Langkah-langkah dalam proses ini antara lain yaitu :
Melakukan input data bakteri.
Melakukan proses klasifikasi untuk menentukan letak protein
pada bakteri E.Coli.
Output data bakteri setelah dilakukan klasifikasi.

Untuk lebih jelasnya dapat dilihat pada gambar 3.3 flowchart
sistem.
Start
Proses Klasifikasi MKNN
END
Flowchart System
Input dataset bakteri
Output data bakteri
setelah diklasifikasikan

Gambar 3.2 Flowchart Sistem Keseluruhan

Sistem akan memproses input dataset letak protein pada bakteri
E.Coli. Selanjutnya akan dilakukan proses klasifikasi data
menggunakan algoritma MKNN yang didalamnya terdiri dari
berbagai proses untuk menghasilkan klasifikasi bakteri sesuai dengan
letak protein pada tubuh bakteri E.Coli agar dapat dibedakan bakteri
patogen dan yang tidak.
25
3.2.1.2 Proses Klasifikasi MKNN
Langkah-langkah dalam proses ini antara lain yaitu :
Memberikan inputan berupa dataset bakteri.
Melakukan proses perhitungan validitas dari tiap data pada
dataset bakteri.
Melakukan proses perhitungan jarak euclidean pada tiap data
pada dataset bakteri.
Melakukan proses perhitungan weight voting daridataset bakteri
dan mengambil nilai weight voting yang terbesar berdasarkan
jumlah nilai tetangga yang diinputkan.
Memberikan keluaran data berupa kelas yang menunjukkan
letak protein pada tubuh bakteri E.Coli
Untuk lebih jelasnya dapat dilihat pada gambar 3.4 flowchart
proses klasifikasi
Hitung weight voting
Start
Dataset bakteri
Hitung Validitas
Hitung Euclidean
Output
return
Proses Klasifikasi
MKNN


Gambar 3.3 Flowchart Proses Klasifikasi MKNN

26
Pada alur Flowchart Proses Klasifikasi dijelaskan alur tahapan
yang terdiri dari 3 tahapan proses yaitu mengitung validitas,
menghitung euclidean, dan menghitung weight voting.Pada tahapan
ini dilakukan adalah melakukan input dataset bakteri lalu dilakukan
perhitungan validitas sesuai dengan persamaan 2.2 yang
membandingkan kelas pada data training-nya. Setelah dilakukan
proses validitas akan dilakukan perhitungan euclidean sesuai
persamaan 2.1 yang mencari jerak terdekat antara data yang
dievaluasi dengan k tetangga terdekatnya. Pada proses perhitungan
euclidean selesai tahapan selanjutnya adalah perhitungan weight
voting sesuai dengan persamaan 2.4. Tahapan terakhir setelah
didapat nilai weight votingya, maka akan didapatkan output data
kelas E.Coli pada data testing-nya.

3.2.1.3 Menghitung Validitas
Langkah-langkah dalam proses ini antara lain yaitu :
Memberikan inputan data bakteri.
Menentukan nilai k-nya.
Melakukan perhitungan validitas sesuai persamaan 2.2.
Memberikan keluaran berupa hasil validitas.
Untuk lebih jelasnya dapat dilihat pada gambar 3.5 flowchart
menghitung validitas.

Pada alur Flowchart Perhitungan Validitas dijelaskan alur
tahapan yang terdiri dari beberapa tahapan yaitu menginputkan nilai
k-nya yang dilakukan secara manual, lalu mengitung validitas sesuai
dengan persamaan validitas 2.2. Pada tahapan perhitungan validitas
ini yang akan dilakukan adalah melakukan input dataset bakteri dan
input nilai k-nya. Setelah input keduanya dilakukan maka akan
dilakukan perhitungan validitas dengan membandingkan kelas-kelas
pada data training-nya sesuai dengan ketetapan sebelumnya. Dengan
ketentuan jika kelasnya sama maka V[x]=V[x]+1 nilainya 1 dan jika
kelasnya tidak sama maka V[x]=V[x] nilainya 0 dilakukan
perbandingan data sebanyak k. Kemudian V[x] nya akan dijumlah
dan dibagi sebanyak k data yang telah diinputkan. Maka akan
didapatkan output data nilai Validitas tiap data uji pada proses
klasifikasi algoritma MKNN.

27
Start Hitung Validitas
data bakteri dan nilai tetangga
(k)
For x=0 to k-1
For i=x+1 to k
Y[x]==Y[i]
Total=Total+1
V[x]=total / k
I
x
V[x]
return
Ya
Tidak
Inisialisasi
Total=0

Gambar 3.4 Flowchart Menghitung Validitas

3.2.1.4 Menghitung Euclidean
Langkah-langkah dalam proses ini antara lain yaitu :
Memberikan inputan data bakteri.
Melakukan perhitungan euclidean sesuai persamaan 2.1.
Memberikan keluaran berupa nilai euclidean.
28
Untuk lebih jelasnya dapat dilihat pada gambar 3.6 flowchart
Menghitung euclidean.
Pada alur Flowchart Perhitungan Euclidean alur tahapannya
terdiri dari beberapa tahapan antara lain input data bakteri dan
perhitungan euclidean.Pada tahapan perhitungan euclidean ini yang
akan dilakukan adalah melakukan input dataset bakteri . Setelah
input data bakteri dilakukan akan dilakukan perhitungan euclidean
sesuai dengan persamaan euclidean 2.1 sebanyak data maka akan
didapatkan output data nilai euclidean tiap data uji pada proses
klasifikasi algoritma MKNN.

Gambar 3.5 Flowchart Menghitung Euclidean
29
3.2.1.5 Menghitung Weight Voting
Langkah-langkah dalam proses ini antara lain yaitu :
Memasukkan nilai euclidean dan nilai validitas-nya.
Melakukan perhitungan weight voting-nya.
Memberikan keluaran berupa nilai weight voting-nya.
Untuk lebih jelasnya dapat dilihat pada gambar 3.7 flowchart
Menghitung weight voting.

Pada alur Flowchart Perhitungan Weight Voting dijelaskan alur
tahapan yang terdiri dari 2 tahapan yaitu menginput nilai validitas
dan nilai euclidean, lalu menghitung nilai weight voting-nya
berdasarkan persamaan 2.4 sebanyak data uji. Pada tahapan
perhitungan weight voting ini yang akan dilakukan adalah
melakukan input nilai validitas dan weight voting-nya, kemudian
melakukan perhitungan weight voting-nya sebanyak data uji. Maka
akan didapatkan output data nilai weight voting tiap data uji pada
proses klasifikasi algoritma MKNN.

0.5) + (distance
1
V[x] = W(i)



Gambar 3.6 Flowchart Menghitung Weight Voting
30
3.3 Contoh Perhitungan Manual
Dari algoritma Modified K-Nearest Neighbor (MKNN) ini
langkah-langkah dalam perhitungannya antara lain yaitu :
1. Menentukan nilai k atau tetangganya.
2. Menghitung validitas data training.
3. Menghitung jarak euclidean
4. Menghitung pembobotan (weight voting)
5. Menentukan kelas dari data testing

3.3.1 Data Testing dan Data Traning pada data letak protein
pada bakteri E.Coli.
Pada contoh perhitungan kali ini digunakan satu data testing
dan menggunakan lima data traning. Data training dan data testing
yang dipakai seperti yang ditunjukkan pada tabel 3.1.
Tabel 3.1 Tabel Data Testing dan Data Traning
nama mcg gvh lip chg aac alm1 alm2 kelas
KDSA_ECOLI 0.51 0.37 0.48 0.50 0.35 0.36 0.45 ?

NI RD_ECOLI 0.44 0.42 0.48 0.50 0.42 0.25 0.20 CP
PLFB_ECOLI 0.29 0.41 0.48 0.50 0.48 0.18 0.46 CP
UBI C_ECOLI 0.30 0.37 0.48 0.50 0.43 0.18 0.30 CP
CYDA_ECOLI 0.55 0.47 0.48 0.50 0.57 0.78 0.80 IM
PNTA_ECOLI 0.33 0.37 0.48 0.50 0.46 0.65 0.69 IM

Langkah 1 Menentukan nilai k atau tetangganya
Pada perhitungan ini ditentukan nilai dari k yaitu 3.
Langkah 2 Menghitung validitas data training
Setelah ditentukan nilai k-nya maka dihitung nilai validitas
dari data training dengan persamaan 2.2.
Validitas (x = 1) =

k
i
x Ni lbl x lbl S
k
1
))) (( ) ( ), ( (
1

=


3
1
))) 2 (( ) ( ), 1 ( (
3
1
x Ni lbl x lbl S
= ) 0 1 1 (
3
1
x
31
=
3
2

Melakukan perhitungan yang sama untuk semua data training. Hasil
perhitungan validitas ini seperti yang ditunjukkan tabel 3.2.

Tabel 3.2 Tabel Perhitungan Validitas
k=1 k=2 k=3 sum S(a,b) validit as
1 1 0 2 0.666667
1 0 0 1 0.333333
0 0 1 1 0.333333
1 0 0 1 0.333333
1 0 0 1 0.333333

Langkah 3 Menghitung jarak euclidean
Pada perhitungan mencari nilai euclidean dengan
memasukkan data pada persamaan 2.1.
J
1
=
_(x
2-X
1i
)
2
p
1=

= _
(
0,51 0,44
)
2
+
(
0,37 0,42
)
2
+
(
0,48 0,48
)
2
+
(
0,50 0,50
)
2
+
(
0,35 0,42
)
2
+
(
0,36 0,25
)
2
+
(
0,45 0,20
)
2


=0.0869
= 0.294788059
Melakukan perhitungan yang sama untuk semua data training. Hasil
perhitungan euclidean ini seperti yang ditunjukkan tabel 3.3.
Tabel 3.3 Tabel Perhitungan Euclidean
sum euclidean euclidean


0. 0869 0.294788059
1. 207 1.098635517
0. 0371 0.192613603
0. 5549 0.744916103
0. 3748 0.612209115
32
Langkah 4 Menghitung pembobotan (weight voting)
Pada tahapan menghitung nilai weight voting yang didapat
dari memasukkan nilai validitas dan nilai euclidean pada persamaan
2.4.
w
(
1
)
= IoliJitos
(
1
)

1
d1+0.5

=
2
3

1
0 .294 78 8 05 9 +0.5
= 0.838798
Melakukan perhitungan yang sama untuk semua data training. Hasil
perhitungan weight voting ini seperti yang ditunjukkan tabel 3.4.
Tabel 3.4 Tabel Perhitungan Weight Voting
W eight
0. 8387 98
0. 208511
0. 4812 69
0. 267756
0. 2997 04
Langkah 5 Menentukan kelas dari data testing
Setelah didapatkan nilai weight voting dari semua data
training maka dilakukan pencarian nilai weight voting yang terbesar
sebanyak nilai k yang telah ditentukan.
Dari tabel 3.7 maka didapatkan nilai dengan 3 weight voting
terbesar yaitu 0.838798 dengan kelasnya CP, 0.481269 dengan
kelasnya CP, dan 0.299704 dengan kelasnya IM. Dari data testing
yang telah ditentukan maka ke kelas yang didapat pada data testing
adalah CP karena kelas yang sering muncul adalah CP.

33
3.3 Perancangan Antarmuka

TabPage1

Gambar 3.7 TabPage1 pada Program

Pada perancangan antar muka tabpage1 berikut ini ada beberapa
tampilan antara lain:
1. Browse untuk mengambil data asli bakteri E.Coli.
2. Input data testing bakteri E.Coli yang akan diuji (dicari
kelasnya) pada array. Dibrowse kemudian diload
(ditampilkan) data yang akan dicari kelasnya tersebut
dalam bentuk random unix yang sudah diurutkan dan
mewakili tiap kelas.
3. Inputan jumlah data trainingnya, nilai k min dan nilai k
max.
4. Tombol Process
5. Tampilan data uji bakteri E.Coli.
5
2
6
1
3
4
34
6. List data klasifikasi bakteri setelah melalui tahap
perhitungan dengan algoritma MKNN dengan dan
menampilkan perulangan sesuai dengan nilai k.

TabPage2

Gambar 3.8 TabPage2 pada Program

Pada perancangan antar muka tabpage2 berikut ini menampilkan
akurasi dari data bakteri E.Coli yang sudah melalui tahap pengujian.

3.5 Perancangan Uji Coba
3.5.1 Menentukan Akurasi Data
Pengujian Akurasi data ini menggunakan data sample yang
ditetapkan sebelumnya. Proses pengujian ini dilakukan sebanyak n
kali dengan menggunakan jumlah data tes yang telah ditetapkan.
Pada tabel 3.5 merupakan tabel yang akan digunakan untuk
perhitungan akurasi untuk mecatat hasil dalam proses pengujian
akurasi datanya.
Tabel 3.5 Rancangan Tabel Pengujian Akurasi
No. Banyak Dat a t es Juml ah Dat a Benar Akur asi %

Rat a-r at a
35
Keterangan:
Banyak data tes : Jumlah data yang nantinya akan diuji.
Akurasi : Tingkat akurasi dengan menggunakan
algoritma MKNN.
Jumlah Data Benar : Jumlah hasil klasifikasi yang benar.
Rata-rata Akurasi : Jumlah Akurasi data dibagi dengan jumlah
data uji.





























36



































37
BAB IV
IMPLEMENTASI DAN PEMBAHASAN

Bab ini berisi implementasi sistem serta pembahasan dan analisa
mengenai hasil uji coba terhadap sistem. Implementasi sistem
merupakan penerapan dari rancangan sistem yang sudah dibahas
pada bab sebelumnya.

4.1 Perangkat Sistem
Perangkat sistem terdiri dari perangkat lunak dan perangkat
keras yang digunakan dalam penelitian klasifikasi Bakteri E-Coli.

4.1.1 Perangkat Lunak
Perangkat lunak yang digunakan dalam penelitian ni adalah :
1. Sistem operasi Microsoft Windows XP Professional
Edition Service Pack 3 sebagai server database sekaligus
sebagai client tempat aplikasi dijalankan.
2. Microsoft Visual C# 2010 sebagai software development
dalam pembuatan sistem, baik untuk proses klasifikasi
dengan algoritma Modified K-Nearest Neighbor (MKNN )
serta proses pengujian sistemnya.

4.1.2 Perangkat Keras
Perangkat keras yang digunakan dalam penelitian ini adalah :
1. Prosesor Intel Core(TM)2 Duo 1.20 GHz
2. Memori 1 GB
3. Monitor 14
4. Harddisk dengan kapasitas 320 GB
5. Keyboard
6. Mouse

4.2 Implementasi
Pada subbab ini akan membahas tentang implementasi program
C# yang digunakan dalam pembuatan aplikasi serta proses-proses
yang terdapat dalam aplikasi yang dibuat.




38
4.2.1 Implementasi Program
Dalam proses ini, sistem menerima inputan data seperti
data bakteri yang terdiri dari 7 atribut informasi yang terdiri dari
nama bakteri, mcg (Metode McGeoch untuk penentuan urutan
sinyal), gvh (Metode von Heijne untuk penentuan urutan sinyal), lip (
Sinyal peptidase von Heijne itu konsensus II skor berurutan), chg (
Kehadiran biaya di N-terminus lipoprotein diprediksi), aac ( skor
analisis diskriminan dari kandungan asam amino membran luar dan
protein periplasmic), alm (skor dari Alom membran program
mencakup wilayah prediksi), dan alm2 (skor program Alom setelah
mengecualikan sinyal cleavable (membelah) putatif daerah dari
urutan). Kode program 4.1 merupakan fungsi yang digunakan dalam
proses tampil data bakteri E-Coli.

4.2.1.1 Input
Pada tahapan Input sendiri terdiri dari input file, Membaca dan
memasukkan data pada table, dan mengurutkan kelas datanya secara
unik.
4.2.1.1.1 Input file data
Untuk melakukan input data adalah dengan cara merandom
data bakteri E.Coli dengan cara random unik yaitu dengan
mengurutkan tiap kelas bakteri agar dapat mewakili tiap kelasnya
saat dilakukan klasifikasi. Kemudian setelah data selesai diurutkan
dimasukkan ke table bakteri. Untuk lebih jelasnya ditunjukkan
pada sourcecode 4.1 Input file data.

Input file data
var acak = new Random();
var dialog = new OpenFileDialog();
if (dialog.ShowDialog() ==
System.Windows.Forms.DialogResult.OK)
{
daftarBakteri =
Bakteri.BacaFileBakteri(dialog.FileName)

.OrderBy(x => acak.Next())
.ToArray();

urutkanKelas(daftarBakteri);
urutkanKelasTerbalik(daftarBakteri);
39
dataGridView1.DataSource =
daftarBakteri.CopyToDataTable();

nUDJumlahLatih.Maximum =
daftarBakteri.Length - 1;
nUDKAwal.Maximum = daftarBakteri.Length -
1;
}

Sourcecode 4.1 Input file data

4.2.1.1.2 Membaca dan memasukkan data pada table
Pada tahapan membaca file berikut ini data dimasukkan ke
variable dipisahkan berdasarkan spasi { }. Sedangkan tanda {.}
adalah koma pada attribut numeriknya. Fungsi variable tipe kelas
berfungsi untuk menyimpan attribut kelas pada data bakteri. Untuk
lebih jelasnya dapat dilihat di sourcecode 4.2 Membaca dan
memasukkan data pada table.

Membaca dan memasukkan data pada table
public static IEnumerable<Bakteri> BacaFileBakteri(string
lokasiFile)
{

var format = new NumberFormatInfo();
format.NumberDecimalSeparator=".";
foreach (var baris in
File.ReadLines(lokasiFile))
{
var pisahan = baris.Split(new[] { ' ',
'\t' }, StringSplitOptions.RemoveEmptyEntries);
var nama = pisahan[0];
var mcg = double.Parse(pisahan[1],
format);
var gvh = double.Parse(pisahan[2],
format);
var lip = double.Parse(pisahan[3],
format);
var chg = double.Parse(pisahan[4],
format);
var aac = double.Parse(pisahan[5],
format);
40
var alm1 = double.Parse(pisahan[6],
format);
var alm2 = double.Parse(pisahan[7],
format);
Kelas kelas;
if (pisahan[8]=="cp")
{
kelas = Kelas.cp;
}
else if (pisahan[8]=="im")
{
kelas = Kelas.im;
}
else if (pisahan[8]=="pp")
{
kelas = Kelas.pp;
}
else if (pisahan[8]=="imU")
{
kelas = Kelas.imU;
}
else if (pisahan[8]=="om")
{
kelas = Kelas.om;
}
else if (pisahan[8]=="omL")
{
kelas = Kelas.omL;

}
else if (pisahan[8]=="imL")
{
kelas = Kelas.imL;
}
else
{
kelas = Kelas.imS;
}

yield return new Bakteri(nama, mcg, gvh,
lip, chg, aac, alm1, alm2, kelas);


}
41
yield break;
}

Sourcecode 4.2 Membaca dan memasukkan data pada table

4.2.1.1.3 Mengurutkan kelas pada data bakteri dari atas
Pada tahapan mengurutkan kelas pada data bakteri dari atas
adalah mengurutkan atribut kelasnya dari data yang paling atas
secara unik, yaitu dengan cara menukar tiap kelas agar mewakili
atrtribut datanya. Proses mengurutkan datanya diseleksi dari kelas
bakterinya, yaitu dari 8 kelasnya dibandingkan dengan 7 kelas lain
yang berbeda. Ketika kelas bawah yang dibandingkan sama dengan
index maka dilakukan penukaran kelasnya. Untuk lebih jelasnya
dapat dilihat pada sourcecode 4.3.

Mengurutkan kelas pada data bakteri dari atas
private static void urutkanKelas(Bakteri[] dB)
{
for (int index = 1; index <= 7; index++)
{
var tukar = index + 1;
while (dB.Take(index).Select(x =>
x.Kelas).Contains(dB[index].Kelas))
{
var temp = dB[tukar];
dB[tukar] = dB[index];
dB[index] = temp;
tukar++;
}
}
}

Sourcecode 4.3 Mengurutkan kelas pada data bakteri dari atas

Fungsi yang ditunjukkan pada sourcecode 4.4 merupakan
kebalikan fungsi mengurutkan kelas pada data bakteri dari atas. Pada
tahapan mengurutkan kelas pada data bakteri dari bawah adalah
mengurutkan atribut kelasnya dari data yang paling bawah secara
unik, yaitu dengan cara menukar tiap kelas agar mewakili atrtribut
datanya. Proses mengurutkan datanya diseleksi dari kelas bakterinya,
42
yaitu dari 8 kelasnya dibandingkan dengan 7 kelas lain yang berbeda.
Ketika kelas atas yang dibandingkan sama dengan index maka
dilakukan penukaran kelasnya. Untuk lebih jelasnya dapat dilihat
pada sourcecode 4.4.

4.2.1.1.4 Mengurutkan kelas pada data bakteri dari bawah
Mengurutkan kelas pada data bakteri dari bawah
private static void urutkanKelasTerbalik(Bakteri[] dB)
{
for (int index = 1; index <= 7; index++)
{
var tukar = index + 1;
while (dB.Skip(dB.Count() -
index).Select(x => x.Kelas).Contains(dB[dB.Count() - 1 -
index].Kelas))
{
var temp = dB[dB.Count() - 1 - tukar];
dB[dB.Count() - 1 - tukar] =
dB[dB.Count() - 1 - index];
dB[dB.Count() - 1 - index] = temp;
tukar++;
}
}
}

Sourcecode 4.4 Mengurutkan kelas pada data bakteri dari bawah

4.2.1.2 Proses Klasifikasi MKNN
Pada proses klasifikasi MKNN sendiri melalui beberapa proses
tahapan yang diantaranya hitung euclidean, hitung validitas,
kemudian hitung weight voting yang akan digunakan untuk
menentukan kelas pada data testing berdasarkan ketentuan
pembobotan yang telah didapatkan.
Tahapan proses klasifikasi sendiri adalah dengan membagi data
latih dan data uji adalah dengan membagi jumlah data yang akan
dilakukan klasifikasi data sesuai record yang akan diinputkan.
Proses klasifikasi dengan membagi data latih dan data uji
var acak = new Random();

var daftarTraining =
daftarBakteri.Take((int)nUDJumlahLatih.Value).Select(x =>
43
x.Duplikat()).ToArray();

var daftarTesting =
daftarBakteri.Skip((int)nUDJumlahLatih.Value).Select(x =>
x.Duplikat()).ToArray();

urutkanKelas(daftarTesting);

dgDataUji.DataSource =
daftarTesting.CopyToDataTable();

var kelasAsli = daftarTesting.Select(x =>
x.Kelas).ToArray();

var daftarHasilTesting = Enumerable.Range(0,
daftarTesting.Count()).Select(x => new
List<Kelas>()).ToArray(); //new
List<Kelas>[daftarTesting.Count()];
var daftarAkurasi = Enumerable.Range(0,
daftarTesting.Count()).Select(x => new
List<bool>()).ToArray();

//untuk menampilkan perulangan inputan sesuai jumlah k nya
for (int index = (int)nUDKAwal.Value; index <=
(int)nUDKAkhir.Value; index++)
{
daftarTraining.HitungKelas(daftarTesting,
index);
for (int i = 0; i <
daftarHasilTesting.Count(); i++)
{

daftarHasilTesting[i].Add(daftarTesting[i].Kelas);

daftarAkurasi[i].Add(daftarTesting[i].Kelas ==
kelasAsli[i]);
}
}

Sourcecode 4.5 Proses klasifikasi dengan membagi data latih dan
data uji

44
Proses hitung kelas ini adalah urutan proses klasifikasi
dengan menentukan validitasnya, lalu euclidean, kemudian
dibobotkan. Pada validitas ditentukan nilai k nya dengan k maksimal
k = training.Count() - 1; , yaitu k maksimal didapatkan sejumlah
data latih-1. Untuk hasil pembobotan sendiri diambil nilai yang
paling besar.
Proses klasifikasi menentukan kelas pada data testingnya

public static void HitungKelas(this Bakteri[] training,
Bakteri[] testing, int k = 0)
{
if (k==0)
{
k = training.Count() - 1;
}

var validitas =
training.Validitas(k).ToArray();

foreach (var test in testing)
{
test.Kelas = Kelas.xx;
var max = double.MinValue;
var indexMax = 0;
for (int train = 0; train <
training.Length; train++)
{
var weightVoting = validitas[train] /
(test.JarakEuclidean(training[train])+0.5);

if (max< weightVoting)
{
max = weightVoting;
indexMax = train;
}

}
test.Kelas = training[indexMax].Kelas;
}
}
Sourcecode 4.6 Proses klasifikasi menentukan kelas pada data
testingnya
45
4.2.1.2.1 Hitung validitas
Pada proses hitung validitas ini membahas perhitungan
validitas membandingkan kelas pada data training dengan tetangga
terdekat dan dilakukan penjumlahan lalu dibagi sebanyak nilai k
yang diinputkan sesuai dengan persamaan 2.2 dan persamaan 2.3,
seperti yang ditampilkan pada kode program 4.7

Hitung validitas
public static IEnumerable<double> Validitas(this Bakteri[]
training, int k)
{
for (int index = 0; index < training.Length;
index++)
{
var kesamaan = 0;
for (int indexK = 1; indexK <= k;
indexK++)
{
if (training[index].Kelas ==
training[(index+indexK)%training.Length].Kelas)
{
kesamaan++;
}
}
yield return kesamaan / (double)k;
}
yield break;

}

Sourcecode 4.7 Proses Hitung Validitas

4.2.1.2.2 Hitung Euclidean
Pada proses Hitung Euclidean ini membahas tentang tahapan
awal proses klasifikasi yaitu proses menghitung euclidean pada data
bakteri. Euclidean dihitung dari jarak tiap atribut pada data testing
dengan data training sesuai persamaan 2.1, seperti pada kode
program 4.8.
Hitung Euclidean
public static double JarakEuclidean(this Bakteri a,
Bakteri b)
46
{
var totalJarak = (a.AAC - b.AAC) * (a.AAC -
b.AAC);
totalJarak += (a.ALM1 - b.ALM1) * (a.ALM1 -
b.ALM1);
totalJarak += (a.ALM2 - b.ALM2) * (a.ALM2 -
b.ALM2);
totalJarak += (a.CHG - b.CHG) * (a.CHG -
b.CHG);
totalJarak += (a.GVH - b.GVH) * (a.GVH -
b.GVH);
totalJarak += (a.LIP - b.LIP) * (a.LIP -
b.LIP);
totalJarak += (a.MCG - b.MCG) * (a.MCG -
b.MCG);
return Math.Sqrt(totalJarak);

}

Sourcecode 4.8 Proses Hitung Euclidean

4.2.1.2.3 Hitung nilai weight voting
Pada proses hitung weight voting ini membahas perhitungan
bobot pada data bakteri, yaitu dengan membandingkan data validitas
dengan euclidean. Dari tahapan ini akan dilakukan pembobotan,
yang bertujuan untuk menentukan kelas pada data testing dengan
mengambil nilai maksimal/terbesar dari hasil perhitungan yang
diperoleh. Menghitung nilai weight voting sendiri dilakukan dengan
cara melakukan perhitungan nilai dari data testing dengan data
training sesuai persamaan 2.4, seperti yang ditunjukkan pada kode
program 4.9.

Hitung Weight voting
var weightVoting = validitas[train] /
(test.JarakEuclidean(training[train])+0.5);

Sourcecode 4.9 Proses Pembobotan/Hitung Weight voting



47
4.3 Penerapan Aplikasi
Aplikasi yang dibangun untuk melakukan berbagai proses
dalam melakukan klasifikasi data bakteri E-Coli. Berikut ini
adalah beberapa tampilkan aplikasi pada setiap menu berdasarkan
penjelasan subbab 3.4 Perancangan antarmuka.
4.3.1 Implementasi antarmuka
Implementasi antarmuka dari sistem terdiri dari form home
yang didalamnya berisi implementasi request data, input nilai k,
input banyak data training yang diinginkan dan penenganan proses
klasifikasi data Bakteri.

4.3.1.1 Tabpage1
Form Home merupakan form yang pertama kali muncul.
Pada form tersebut terdapat beberapa button yang terdiri dari load
data dan proses, inputan berupa array yang terdiri dari jumlah nilai k
dan jumlah data training yang diambil untuk membantu proses
klasifikasi bakteri, tampilan data bakteri E-Coli, dan tampilan data
testing setelah melalui tahapan klasifikasi.Form Home diilustrasikan
pada gambar 4.1.

Gambar 4.1 TabPage1 sebelum diproses
Pada form Tabpage1 terdapat tombol load data yang
berguna untuk merequest file data bakteri E-Coli e dan kemudian
dipilih data E-Coli dalam format file data sehingga data dapat
muncul pada listview dalam bentuk data yang telah dirandom unik.
Maksud data yang dirandom unik adalah dengan mengurutkan
kelasnya secara acak, sehingga tiap kelas mewakili pada tiap data
48
latih maupun data uji . Setelah menampilkan data bakterinya
kemudian melakukakn inputan manual banyak data training, nilai
k1, dan k2 nya yang akan membantu proses pengujian data.
Selanjutnya dilakukan proses yang hasilnya ditampilkan pada hasil
data testing yang sudah diuji.

Gambar 4.2 Tabpage1 Setelah diproses
4.3.1.2 Tabpage2
Pada form Tabpage2 merupakan sebuah proses yang
menampilakan hasil akurasi pada tabpage1 yang ditampilkan dalam
bentuk diagram dan table. Hal ini diharapkan dapat mempermudah
proses analisa data bakteri E.Coli. Didalamnya juga terdapat tombol
yang berfungsi mengcopy hasil pada tabel akurasi sehingga tidak
perlu mengetik ulang saat melakukan analisa datanya.

Gambar 4.3 Tabpage2 Tampilan Akurasi
49
4.4 Implementasi Pengujian
Pada pengujian klasifikasi digunakan dataset bakteri E.Coli
yang tediri dari 336 record. Data yang digunakan dalam sistem
yaitu data bakteri E-Coli tentang letak protein pada tiap bagian
tubuh bakteri E-Coli yang dibagi menjadi beberapa kelas. Pada data
ini atribut yang digunakan antara lain yaitu mcg (Metode
McGeoch untuk penentuan urutan sinyal), gvh (Metode von Heijne
untuk penentuan urutan sinyal), lip ( Sinyal peptidase von Heijne itu
konsensus II skor berurutan), chg ( Kehadiran biaya di N-terminus
lipoprotein diprediksi), aac ( skor analisis diskriminan dari
kandungan asam amino membran luar dan protein periplasmic), alm
(skor dari Alom membran program mencakup wilayah prediksi),
alm2 (skor program Alom setelah mengecualikan sinyal cleavable
(membelah) putatif daerah dari urutan). Jumlah data yang
digunakan ada 336 data bakteri E-Coli yang terdiri dari 7 atribut
kelas bakteri. Pada data ini ditunjukkan letak protein pada tubuh
bakteri E-Coli berdasarkan jumlahnya yaitu;
cp (cytoplasm) 143
im (inner membrane without signal sequence) 77
pp (perisplasm) 52
imU (inner membrane, uncleavable signal sequence) 35
om (outer membrane) 20
omL (outer membrane lipoprotein) 5
imL (inner membrane lipoprotein) 2
imS (inner membrane, cleavable signal sequence) 2

4.4.1 Hasil Uji
Seperti yang telah dibahas pada bab 3, terdapat 2
macam pengujian yang dilakukan. Pengujian yang pertama dilakukan
untuk mengetahui pengaruh nilai k terhadap tingkat akurasi.
Sedangkan pengujian yang kedua dilakukan untuk mengetahui
pengaruh jumlah data training terhadap tingkat akurasi.

4.4.2 Tabel pengujian pada data set E.Coli
Pada tabel pengujian ini terdapat 3 parameter antara lain
menentukan jumlah record, jumlah nilai k dan rasio. Pada pengujian
jumlah record terdapat 4 record data yang terdiri dari record 50, 100,
200, dan 300 dengan perulangan nilai k=1 sampai dengan k=20.
50
Sedangkan rasionya terdiri dari 3 pengujian yaitu 8:2, 7:3, dan 6:4.
Pengujian terdapat pada tabel 4.1 sampai tabel 4.4.

4.4.2.1 Pengujian Pada Record 50
Pada pengujian data bakteri rasio 8:2 ini didapatkan hasil
pengujian dengan nilai akurasi maksimum pada jumlah record 50
adalah 30% dan akurasi minimumnya 20%. Dapat dilihat pada tabel
4.1 bahwa untuk tiap kenaikan nilai k maka hasil akurasi pada record
50 ini semakin menurun dan mengalami kenaikan pada k=16.
Sedangkan pada rasio 7:3 didapatkan akurasi maksimumnya pada
k=1 yaitu 40% dan mengalami kenaikan dan penurunan tidak stabil
dengan bertambahnya jumlah nilai k nya. Akurasi minimum pada
rasio ini adalah 20%. Pada rasio 6:4 sendiri stabil pada kenaikan dan
penurunan akurasi tiap kenaikan nilai k. Akurasi maksimumnya
adalah 40% dan minimumnya 25%. Dari data pengujian record 100
sendiri pengaruh k untuk pengujian rasio 8:2 hampir memiliki
kesamaan pada penyebaran akurasinya yang cenderung sama,
sedangkan pada rasio 7:3 sendiri mengalami kenaikan dan penurunan
akurasi yang tidak merata. Sedangkan pengaruh k pada pengujian
6:4 sendiri jauh berbeda dengan pengujian sebelumnya, akurasi
maksimumnya berada pada k=13. Untuk lebih jelasnya dapat dilihat
pada tabel 4.1.
Tabel 4.1 Tabel pengujian pada data set E.Coli untuk record 50
K Jumlah Record Akurasi%
unt uk rasio
8:2
Akurasi%
unt uk rasio
7:3
Akurasi%
unt uk rasio
6:4
1 30 40 40
2 20 26.67 40
3 20 33.33 40
4 20 33.33 40
5 20 20 30
6 20 20 30
7 20 20 35
8 20 26.67 40
9 50 20 26.67 40
10 20 26.67 40
51
11 20 20 40
12 20 26.67 40
13 20 26.67 45
14 20 20 30
15 20 20 25
16 30 26.67 30
17 20 26.67 25
18 20 26.67 30
19 20 20 25
20 20 20 25

4.4.2.2 Pengujian Pada Record 100
Pada pengujian data bakteri rasio 8:2 untuk record 100
akurasinya mengalami penyebaran yang hampir sama dengan jumlah
akurasi maksimumnya 45% pada k=1 dan k=10 dan selebihnya
maksimum akurasinya adalah 40%. Sedangkan pada rasio 7:3
kenaikan akurasinya tidak stabil dengan nilai maksimumnya 43,33%
pada k=5, k=8, k=9, dan k=10 selebihnya akurasi minimum sebesar
40%. Pada rasio 6:4 sendiri mengalami pemerataan akurasi dengan
akurasi sebesar 30% dari data latihnya. Dari data pengujian record
100 sendiri pengaruh k untuk pengujian rasio 8:2 dan 6:4 hampir
memiliki kesamaan pada penyebaran akurasinya yang cenderung
sama, sedangkan pada rasio 7:3 sendiri mengalami kenaikan dan
penurunan akurasi yang tidak seimbang. Untuk lebih jelasnya dapat
dilihat pada tabel pengujian 4.2.

Tabel 4.2 Tabel pengujian pada data set E.Coli untuk record 100
K Jumlah Record Akurasi%
unt uk rasio
8:2
Akurasi%
unt uk rasio
7:3
Akurasi%
unt uk rasio
6:4
1 45 40 30
2 40 40 30
3 40 40 30
4 40 40 30
5 40 43.33 30
52
6 40 40 30
7 40 40 30
8 40 43.33 30
9 100 40 43.33 30
10 45 43.33 30
11 40 40 30
12 40 40 30
13 40 40 30
14 40 40 30
15 40 40 30
16 40 40 30
17 40 40 30
18 40 40 30
19 40 40 30
20 40 40 30

4.4.2.3 Pengujian Pada Record 200
Pada pengujian data bakteri rasio 8:2 untuk record 200
akurasinya mengalami kenaikan akurasi yang cukup stabil dengan
akurasi maksimumnya 57,5% dan akurasi maksimumnya 25%.
Sedang pada rasio 7:3 akurasinya mulai memperlihatkan kenaikan
dan penurunan akurasi yang cukup stabil dengan nilai maksimum
akurasi sebesar 60% pada k=1 dan nilai maksimum akurasinya
sebesar 23,33% . Pada rasio 6:4 sendiri akurasi maksimumnya
sebesar 67,5% dan akurasi minimumnya sebesar 28,75%. Dari data
pengujian record 200 sendiri pengaruh k untuk tiap pengujian
mengalami kenaikan dan penurunan yang tidak stabil. Hal ini dapat
dilihat pada rasio 7:3 dan 6:4 yang mengalami penurunan akurasi
setelah k=5. Sedangkan pada rasio 8:2 mengalami kenaikan dan
penurunan hingga k=10. Untuk lebih jelasnya dapat dilihat pada
tabel 4.3.




53
Tabel 4.3 Tabel pengujian pada data set E.Coli untuk record 200
K Jumlah Record Akurasi%
unt uk rasio
8:2
Akurasi%
unt uk rasio
7:3
Akurasi%
unt uk rasio
6:4
1 57.5 60 67.5
2 32.5 33.33 42.5
3 30 25 30
4 27.5 23.33 28.75
5 30 26.67 32.5
6 40 23.33 28.75
7 25 23.33 28.75
8 42.5 23.33 28.75
9 200 35 23.33 28.75
10 27.5 23.33 28.75
11 25 23.33 28.75
12 25 23.33 28.75
13 25 23.33 28.75
14 25 23.33 28.75
15 25 23.33 28.75
16 25 23.33 28.75
17 25 23.33 28.75
18 25 23.33 28.75
19 25 23.33 28.75
20 25 23.33 28.75

4.4.2.4 Pengujian Pada Record 300
Pada pengujian data bakteri rasio 8:2 untuk record 300
akurasinya mengalami kenaikan akurasi yang cukup stabil dengan
akurasi maksimumnya 75% dan akurasi maksimumnya 40%. Sedang
pada rasio 7:3 akurasinya mulai memperlihatkan kenaikan dan
penurunan akurasi yang cukup stabil dengan nilai maksimum akurasi
sebesar 72.22% pada k=1 dan nilai minimum akurasinya sebesar
36,67% . Pada rasio 6:4 sendiri akurasi maksimumnya sebesar
78,33% dan akurasi minimumnya sebesar 42,55%. Dari data
54
pengujian record 300 sendiri pengaruh k untuk tiap pengujian hampir
memiliki kesamaan pada penyebaran akurasinya. Dapat dilihat dari
akurasi maksimumnya pada k=1. Untuk lebih jelasnya dapat dilihat
pada tabel 4.4.

Tabel 4.4 Tabel pengujian pada data set E.Coli untuk record 300
K Jumlah Record Akurasi%
unt uk rasio
8:2
Akurasi%
unt uk rasio
7:3
Akurasi%
unt uk rasio
6:4
1 75 72.22 78.33
2 55 53.33 60
3 53.33 51.11 58.33
4 45 43.33 50
5 40 36.67 42.5
6 43.33 38.89 46.67
7 43.33 38.89 46.67
8 40 36.67 43.33
9 300 40 36.67 42.5
10 40 36.67 43.33
11 43.33 38.89 46.67
12 40 36.67 43.33
13 40 36.67 42.5
14 40 36.67 42.5
15 40 36.67 42.5
16 40 36.67 42.5
17 40 36.67 42.5
18 40 36.67 42.5
19 40 37.78 43.33
20 40 37.78 43.33

4.5 Analisa Hasil
Pada Analisa hasil ini ada beberapa proses pengujian yang
didalamnya terdiri dari 4 record yang terdiri dari jumlah record
55
50,100,200, dan 300. Sedang untuk pengujian jumlah nilai k nya ada
20 yakni k=1 sampai k=20. Maka dari penelitian yang didapat akan
menghasilkan rata-rata akurasi yang akan digunakan untuk
melakukan penelitian.

4.5.1 Pengujian untuk mengetahui pengaruh nilai k terhadap
tingkat akurasi.
Pada tahap pengujian ini didalamnya terdapat 4 record data
dengan k perulangan 1 sampai dengan 20. Untuk pengujian pengaruh
nilai k sendiri dapat dilihat bahwa akurasi maksimum data bakteri
terdapat pada k=1. Tetapi pada pengaruh k pada akurasi minimum
tidak sama pada tiap recordnya, sehingga dapat dilihat pada grafik
bahwa k minimumnya tidak dominan seperti nilai maksimum.
Dilihat pada jumlah record 50 pada grafik warna biru, record 100
pada grafik warna merah, record 200 pada grafik warna hijau, dan
record 300 pada grafik warna ungu mengalami penurunan yang stabil
tiap pada tiap recordnya. Untuk lebih jelasnya dapat dilihat pada
gambar 4.4.

Gambar 4.4 Pengaruh nilai k terhadap tingkat akurasi.

4.5.1.1 Hasil pengujian untuk mengetahui pengaruh nilai k
terhadap tingkat akurasi.
Hasil pengujian yang didapat untuk mengetahui pengaruh
nilai k terhadap tingkat akurasi yaitu, semakin bertambahnya jumlah
nilai k maka akurasi yang didapatkan semakin menurun. Untuk
akurasi yang berhubungan dengan jumlah k, dari penelitian yang ada
0
50
100
1 3 5 7 9 11 13 15 17 19
a
k
u
r
a
s
i

%
j umlah k
Pengaruh jumlah k t erhadap
t ingkat akurasi
r ecor d 50
r ecor d 100
r ecor d 200
r ecor d 300
56
akurasi maksimumnya cenderung pada k=1, karena nilai k yang
kecil akan mengurangi noise. Hal ini dikarenakan adanya kelas yang
mendominasi data set tersebut, sehingga untuk data yang diambil
pada perhitungan memiliki kelas yang sama. Kemudian akurasi k
tertinggi cenderung pada k=1, hal ini dikarenakan tetangga yang
dibandingkan hanya satu tetangga saja. Untuk data yang berdekatan
lebih sering memiliki kelas yang sama, sehingga mempengaruhi
perhitungan validitasnya.

4.5.2 Pengujian untuk mengetahui pengaruh jumlah data latih
(record) terhadap tingkat akurasi.
Untuk pengujian pengaruh jumlah record sendiri
pengujiannya diambil dari record 50, 100, 200, dan 300, pada rasio
8:2 dengan input k=1. Untuk lebih jelasnya dapat dilihat pada
gambar 4.5. Pengaruh jumlah nilai maksimum tiap record terhadap
tingkat akurasi



Gambar 4.5 Pengaruh jumlah nilai maksimum tiap record terhadap
tingkat akurasi

4.5.2.1 Hasil pengujian untuk mengetahui pengaruh jumlah data
latih (record) terhadap tingkat akurasi.
Hasil pengujian jumlah nilai maksimum record terhadap
tingkat akurasi didapatkan hasil berupa kenaikan akurasi pada
pertambahan jumlah record data bakteri. Hal ini dapat dilihat pada
grafik 4.5 dengan record 50 didapatkan akurasi 30%, pada record
100 akurasi 45%, pada record 200 akurasi 57,5% dan pada record
0
50
100
50 100 200 300
a
k
u
r
A
S
i

%
j umlah record
Pengaruh jumlah record
t erhadap t ingkat akurasi
t i ngkat akur asi
57
300 akurasinya 75%. Peningkatan jumlah data latih turut disertai
dengan peningkatan nilai akurasi. Hal ini dikarenakan dengan
meningkatnya jumlah data latih turut disertai dengan kenaikan
tingkat akurasi data, sehingga semakin banyaknya data latih maka
kemungkinan semakin banyaknya jarak record yang mendekati
kelas data prediksi.

































58



































59

BAB V
KESIMPULAN

5.1 Kesimpulan
Dari hasil uji dan analisis yang telah dilakukan, dapat
diambil kesimpulan antara lain :
1. Algoritma Modified K-Nearest Neighbor (MKNN) dapat
diimplementasikan untuk klasifikasi dataset Bakteri E.Coli.
Metode ini digunakan menentukan pembobotan untuk
menentukan tiap kelas pada data uji. Dengan melakukan
perbandingan penghitungan jarak euclidean antar record dan
validitasnya. Pada perhitungan validitasnya juga diinputkan nilai k
dengan perhitungan k maksimalnya sebanyak jumlah data latih-1.
2. Tingkat akurasi pada metode MKNN dipengaruhi oleh
beberapa parameter, sebagai berikut:
a. Nilai k yang telalu besar menghasilkan akurasi yang
kurang baik hal ini dikarena berpengaruh terjadinya
noise.
b. Meningkatnya jumlah data latih turut disertai dengan
kenaikan nilai akurasi, karena dengan semakin
banyaknya data latih maka kemungkinan semakin
banyaknya jarak record yang mendekati kelas data
prediksi.
5.2 Saran
Untuk pengembangan selanjutnya saran yang bisa
diberikan penulis adalah diharapkan pada data training
menggunakan variasi data yang lebih beragam dan tidak
dominan di satu kelas.








60



































61
DAFTAR PUSTAKA

Dunham, M.H. 2003. Data mining introductory and advanced topics.
New Jersey: Prentice Hall.

Dataset Bakteri E-Coli. Protein Localization Sites..
http://archive.ics.uci.edu/ml/datasets/E.Coli.. Kenta Nakai
Institue of Molecular and Cellular Biology Osaka, University
1-3 Yamada-oka.Osaka.

Donald E. Knuth.1999. The Art of Computer Programming
(TAOCP). Computer Science Department Stanford
University.California

Hamid Parvin, Hosein Alizadeh and Behrouz Minaei-Bidgoli.2008.
MKNN: Modified K-Nearest Neighbor.Proceedings of the
World Congress on Engineering and Computer Science.San
Francisco.

Hand, David, dkk. 2001. Principles of Data Mining. MIT press.
Cambridge.

Kantardzic, Mehmed. 2003. Data Mining :Concepts, Models,
Methods and Algorithm. John Wiley & Sons. New York.

Kenta Nakai. 1996. A Probabilistic Classification System for
Predicting the Cellular Localization Sites of Proteins.
Institute of Molecular and Cellular Biology Osaka
University, 1-3 Yamada-oka, Suita 565.

Kusnawi, 2007. PENGANTAR SOLUSI DATA MINING.
Seminar Nasional Teknologi 2007 (SNT 2007).Yogyakarta.

Moertini, Veronika S. 2002. Data Mining Sebagai Solusi Bisnis.
http://home.unpar.ac.id/~integral/Volume%207/Integral%207
%20No%201/idatamining_ok.pdf. Tanggal akses : 19 April
2010.

62
Pramudiono, Iko. 2003. Pengantar Data Mining: Menambang
Permata Pengetahuan di Gunung Data. Ilmu Komputer.Com.

Sarkar, Manish dan Leong, Tze-Yun. 2000. Application of K-Nearest
Neighbors Algorithm on Breast Cancer Diagnosis Problem.
The National University of Singapore. Singapore.

Tan et al. 2005. Data mining. http:// www.library.upnvj.ac.id/ pdf/
s1teknikinformatika09 /.../ BAB%20II.pdf. Diakses
tanggal: 25 april 2011.

Turban, 2005, Decision Support Systems and Intelligent Systems
(Sistem Pendukung Keputusan dan Sistem Cerdas) jilid 1.,
Andi Offset : Yogyakarta.

Yang Liu,a Xinmiao Fu,a Jia Shen,b Hui Zhang,b Weizhe Hong,a
and Zengyi Changa,b,*.2004. Periplasmic proteins of
Escherichia coli are highly resistant to aggregation:
reappraisal for roles of molecular chaperones in periplasm.
Department of Biological Science and Biotechnology,
Tsinghua University, Beijing 100084, PR China and
Department of Biochemistry and Molecular Biology, College
of Life Science, Peking University, Beijing.