sumber data. Pengguna menggunakan sebuah browser web untuk mengakses database. Data pada sistem pendukung keputusan diekstrak dari sumber data internal
dan eksternal, juga dari data personal milik satu atau lebih pengguna. Hasil ekstraksi ditempatkan pada database khusus atau pada data warehouse perusahaan.
Ada beberapa macam jenis data yang memiliki sumber tersendiri dalam database: a. Data internal
Data yang sumbernya berasal terutama dari sistem pemrosesan transaksi dari dalam organisasi. Contoh umum seperti upah atau gaji bulanan, jadwal pemeliharaan
mesin, alokasi anggaran, perkiraan terhadap penjualan yang akan datang, biaya produksi, rencana rekruitmen pegawai baru masa mendatang, dan lain-lain.
b. Data eksternal Data yang sumbernya dari luar sistem organisasi, seperti data industri, data riset
pemasaran, data sensus, data tenaga kerja regional, regulasi pemerintah, jadwal tarif pajak, data ekonomi dalam negeri, dan lain-lain. Data tersebut dapat berasal dari
lembaga pemerintah, asosiasi perdagangan, perusahaan riset pasar, dan lain-lain. c. Data privat
Meliputi petunjuk-petunjuk yang digunakan oleh pengambil keputusan khusus dan penilaian terhadap data dan atau situasi spesifik.
d. Data ekstraksi Data ekstraksi merupakan hasil kombinasi data dari berbagai sumber termasuk
sumber internal dan eksternal.
2.2. Konsep Algoritma K - Nearest Neighbor
Algoritma k-nearest neighbor
KNN merupakan
sebuah metode untuk melakukan klasifikasi terhadap objek berdasarkan data pembelajaran
yang jaraknya paling dekat dengan objek tersebut. KNN termasuk algoritma supervised learning dimana hasil dari query instance yang baru diklasifikan
berdasarkan mayoritas dari kategori pada KNN. Kelas yang paling banyak muncul itu yang akan menjadi kelas hasil klasifikasi. Tujuan dari algoritma ini adalah
mengklasifikasikan objek baru berdasarkan atribut dan training sample. Algoritma k-
Universitas Sumatera Utara
nearest neighbor menggunakan klasifikasi ketetanggaan neighbor sebagai nilai prediksi dari query instance yang baru. Algoritma ini sederhana, bekerja berdasarkan
jarak terpendek dari query instance ke training sample untuk menentukan ketetanggaannya [9].
Training sample diproyeksikan ke ruang berdimensi banyak, dimana masing- masing dimensi merepresentasikan fitur dari data. Ruang ini dibagi menjadi bagian-
bagian berdasarkan klasifikasi training sample. Sebuah titik pada ruang ini ditandai kelas c, jika kelas c merupakan klasifikasi yang paling banyak ditemui pada k buah
tetangga terdekat dari titik tersebut maka dekat atau jauhnya tetangga biasanya dihitung berdasarkan Euclidean Distance. Nilai k yang terbaik untuk algoritma ini
tergantung pada data. Secara umum, nilai k yang tinggi akan mengurangi efek noise pada klasifikasi, tetapi membuat batasan antara setiap klasifikasi menjadi semakin
kabur. Kasus khusus dimana klasifikasi diprekdisikan berdasarkan training data yang paling dekat dengan kata lain, k=1 disebut algoritma Nearest Neighbor [13].
K- Nearest Neighbor adalah algoritma 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 pasien baru dengan menggunakan solusi dari data 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 yang akan diambil solusinya untuk digunakan pada kasus pasien baru [9].
Gambar 2.2 Ilustrasi Solusi pada KNN [9]
Universitas Sumatera Utara
Seperti tampak pada Gambar 2.1. terdapat dua 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 solusi dari pasien B yang akan digunakan untuk memberikan solusi pasien baru.
Algoritma K-Nearest Neighbor bersifat sederhana, bekerja dengan berdasarkan pada jarak terpendek dari sampel uji testing sample ke sampel latih training sample
untuk menentukan K-Nearest Neighbor nya. Setelah mengumpulkan K-Nearest Neighbor, kemudian diambil mayoritas dari K-Nearest Neighbor KNN untuk
dijadikan prediksi dari sample uji. KNN memiliki beberapa kelebihan yaitu tangguh terhadap training data yang noise dan efektif apabila data latih nya besar. Pada fase
training, algoritma ini hanya melakukan penyimpanan vektor-vektor fitur dan klasifikasi data training sample. Pada fase klasifikasi, fitur-fitur yang sama dihitung
untuk testing data atau yang klasifikasinya tidak diketahui. Jarak dari vektor baru yang ini terhadap seluruh vektor training sample dihitung dan sejumlah k buah yang
paling dekat diambil. Titik yang baru klasifikasinya diprediksikan termasuk pada klasifikasi terbanyak dari titik-titik tersebut..
Ketepatan algoritma K-Nearest Neighbor sangat dipengaruhi oleh ada atau tidaknya fitur-fitur yang tidak relevan atau jika bobot fitur tersebut tidak setara dengan
relevansinya terhadap klasifikasi. Riset terhadap algoritma ini sebagian besar membahas bagaimana memilih dan memberi bobot terhadap fitur agar performa
klasifikasi menjadi lebih baik [9]. Langkah-langkah untuk menghitung metode K-Nearest Neighbor antara lain:
1. Tentukan parameter K 2. Hitung jarak antara data yang akan dievaluasi dengan semua pelatihan
3. Urutkan jarak yang terbentuk 4. Tentukan jarak terdekat sampai urutan K
5. Pasangkan kelas yang bersesuaian
Universitas Sumatera Utara
6. Cari jumlah kelas dari tetangga yang terdekat dan tetapkan kelas tersebut sebagai kelas data yang akan dievaluasi
∑
=
− =
p i
i i
i
x x
d
1 2
1 2
………………… 1 Keterangan:
1
x = Sampel data
2
x = Data uji atau data testing i = Variabel data
d = Jarak p = Dimensi data
Nilai k yang terbaik untuk algoritma ini tergantung pada data. Secara umum, nilai k yang tinggi akan mengurangi efek noise pada klasifikasi, tetapi membuat batasan
antara setiap klasifikasi menjadi semakin kabur. Nilai k yang bagus dapat dipilih dengan optimasi parameter, misalnya dengan menggunakan cross-validation. Kasus
khusus dimana klasifikasi diprekdisikan berdasarkan training data yang paling dekat dengan kata lain, k=1 disebut algoritma Nearest Neighbor.
Kelebihan algoritma K-Nearest Neighbor yaitu:
1. Tangguh terhadap training data yang memiliki banyak noise. 2. Efektif apabila training datanya besar.
2.3. Metode TOPSIS