6
BAB II
TINJAUAN PUSTAKA
Pada bab ini menjelaskan perihal tinjauan pustaka serta teori yang mendukung pada penelitian ini. Hal ini berkaitan dengan metode dan sistem yang akan dibangun.
2.1. Penelitian Terdahulu
Dibawah ini adalah penelitian terdahulu yang menjadi acuan dalam penelitian ini.
Tabel 2.1 Penelitian Terdahulu
NO Penulis Judul Kesimpulan
1 Usep Tatang Suryadi,
Nindi Azis Andriyani
“Klasifikasi Status Calon Pendonor Darah Menggunakan
Algoritma Support Vector Machine dan Kernel RBF”
Membangun sebuah sistem pakar Bersama metode Support Vector Machine menggunakan Kernel RBF. Sebagai algoritma pembelajaran mesin. Pada penelitian ini menggunakan data laitj yaitu sequential training dengan menggunakan 10 K fold
Cross Validation. Penelitian ini menerima nilai akurasi 90%.
Kesimpulan : Hasil presentase menentukan pendonor potensial masih dibawah 45% sehingga perlu diperbanyak dan didetailkan mengenai informasi calon pendonor darah.
7
2 Merinda Lestandy, Lailis Syafa’ah, dan
Amrul Faruq
“Klasifikasi Pendonor Darah Potensial Menggunakan
Algoritma
Pembelajaraan Mesin”
Membangun sebuah sistem pakar dengan menggunakan metode Knn, naïve bayes serta MLP-BP NN menjadi pola machine learning
pada pendonor berpotensi.
Penelitian ini menghasilkan akurasi yg lebih bagus sebesar 84,3% menggunakan NN dibanding dengan naïve bayes serta Knn yang akan terjadi nilai accuracy 84,167% serta 75%.
Kelemahan: Pada studi kasus diatas mendapatkan nilai akurasi yang lebih rendah dengan 84,3%.
8 3 Pusphita Anna
Octaviani, Yuciana Wilandari, dan Dwi Ispriyanti
“Penerapan Metode Klasifikasi Support Vector Machine (SVM) Pada Data Akreditas Sekolah Dasar (SD) di Kabupaten Magelang”
Membangun sebuah sistem pakar dengan menggunakan metode Support Vector
Machine (SVM) dengan kernel RBF Polynomial.
Sebagai algoritma
pembelajaran pada sistem Penelitian ini menggunakan data
pelatihan yang diujikan
sebanyak 337 data membentuk nilai akurasi yang sangat baik dengan nilai 100 % dengan untuk kernel RBF sementara itu memakai fungsinya kernel Polynomial accuracy
penggolonganartinya sebanyak 98,810 %. Untuk testing menggunakan 82 data dengan akurasi 93,902% dengan kernel RBF sedangkan kernel
Polynomial dengan nilai 92.683 % .
Kelemahan: Pada studi kasus yang digunakan adalah data akreditas Sekolah Dasar (SD) Kabupaten Magelang
9 Kelemahan : Dari beberapa penelitian diatas nilai akurasi keselurahan dari hasil penelitin ini memiliki nilai akurasi sebesar 75%.
4 Bhima Caraka, Bakhtiar Alldino Ardi Sumbodo, dan Ika Candradewi
“Klasifikasi Sel Darah Putih Menggunakan Metode Support
Vector Machine (SVM) Berbasis Pengolahan Citra Digital”
Membangun sebuah sistem pakar dengan memakai metode Support Vector Machine (SVM) berbasis pengolahan gambaran digital.
dengan penerapan olahan gambaran leukosit dengan memakai teknik Histogram Oriented Gradient. Akibat dari ekstraksi maka didapatkan lalu menggolongkan
menggunakan metode Support Vector Machine. dengan dua perbandingan parameter kernel yang tidak sama yaitu kernel Linear serta kernel Radial Basis
Function (RBF). Didapatkan hasil nilai akurasi keseluruhan sebesar 75%.
10 2.2 Donor Darah
Darah merupakan cairan yang terdapat di semua mahkluk hidup yang berfungsi mengirimkan zat-zat dan oksigen yang dibutuhkan oleh jaringan tubuh. Mengangkut bahan-bahan kimia hasil metabolisme, dan sebagai pertahanan tubuh terhadap virus atau bakteri. Terdapat 4 golongan darah yaitu A, O, B dan AB. Darah yang diberikan oleh pendonor, wajib diolah jenis golongan darahnya sebelum diberikan kepada penerima transfusi darah. Sosialiasi golongan darah dapat menyebabkan nyawa penerima menjadi berbahaya akibat membekunya darah yang disebabkan oleh jenis zat yang tidak sama [9]. Donor darah dapat memberikan imbas atau efek samping sehingga sebelum dilakukan kegiatan donor darah, warga perlu memahami manfaat dan ketentuan yang wajib dipenuhi. Hal ini belum diketahui oleh masyarakat bahwa donor darah memiliki dampak positif dan dampak negatif terhadap tubuh [9].
Transfusi darah menjadi komponen penting dalam pengelolaan pasien luka pada kasus kecelakaan, kondisi bedah, keganasan, komplikasi kehamilan, dan kondisi medis yang lainnya. Di negaranegara maju, indikasi utama untuk transfusi darah adalah bedah, keganasan, dan trauma. Komplikasi kehamilan dan anemia pada masa kanak- kanak adalah kondisi yang sebagian besar membutuhkan transfusi darah di negara- negara berpenghasilan rendah. Sebanyak 1/4 kasus kematian, sehingga perlunya pencegahan dengan dimudahkannya akses untuk mendapat transfusi darah yang aman.
Donor darah juga sangat berguna untuk meminimalisir resiko penyakit jantung atau
“Infark Miokard Akut”. Dari 327 peserta penelitian, 104 peserta atau sekitar 31,8%
pernah mendonorkan darahnya dengan minimal donor dalam satu tahun satu kali [10].
Di Indonesia, untuk mendukung pencapaian target pada Pembangunan Kesehatan Nasional (2010-2014) dan Millennium Development Goals (MDGs).
Kebutuhan pelayanan darah yang berkualitas semakin dituntut, dengan menurunnya angka kematian ibu. Maka kelahiran hidup yang sebelumnya yaitu sebesar 228/100.000 turun menjadi 102/100.000 [3]. Palang Merah Indonesia dan Pemerintah Daerah mengelola sebanyak 417 Unit Transfusi Darah (UTD). Ketersedian darah secara ideal sebanyak 2,5 % dari jumlah penduduk di Indonesia. Adanya kendala yaitu, rendah dan
11 kurangnya rasa kesadaran warga untuk mendonor menyebabkan kurangnya kantong darah yang tersedia di UTD [3].
2.3 Data Mining
Data mining adalah ekstraksi informasi atau pola yang penting atau menarik dari data yang ada di database yang besar. Dalam jurnal ilmiah, data mining juga dikenal dengan nama Knowledge Discovery in Databases (KDD) [11]. Data mining juga bisa disebut ekstraksi informasi atau pola yang penting atau menarik dari data yang ada di database yang besar. Dalam jurnal ilmiah, data mining juga dikenal dengan nama Knowledge Discovery in Databases (KDD). Knowlegde Discovery in Databases (KDD) adalah sekumpulan proses untuk menggali dan menganalisis sejumlah besar himpunan data dan mengekstrak informasi dan pengetahuan yang berguna. KDD berhubungan dengan teknik integrasi dan penemuan ilmiah, interpretasi dan visualisasi dari pola-pola sejumlah kumpulan data [12].
2.4 Sistem Pakar
Sistem pakar secara umum adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli [13]. Sistem pakar yang muncul pertama kali adalah General-purpose problem solver (GPS) yang dikembangkan oleh Newl dan Simon.
Saat ini sudah banyak sistem pakar yang dibuat, seperti MYCIN, DENDRAL, XCON
& XSEL, SOPHIE, Prospector, FOLIO, DELTA, dan sebagainya [13]. Proses peniruan tersebut melibatkan empat hal, yaitu akuisisi pengetahuan, representasi pengetahuan, inferensi pengetahuan, dan pemindahan pengetahuan ke pengguna [14].
12 2.5 Preprocessing Data
Preprocessing data artinya proses yang dilakukan guna mempersiapkan data mentah yang telah dikumpulkan agar bisa dibaca dan diproses oleh sistem.
Preprocessing data, pada dasarnya proses penemuan pengetahuan. Preprocessing data bertujuan mengurangi kompleksitas yang melekat pada dataset dunia nyata sehingga dapat mudah diproses dengan solusi penggalian data saat ini [15]. Data memiliki informasi pengetahuan yang berharga (mis., pola yang bermakna). Tujuan dari analisa data untuk menemukan pola dan menyajikan informasi dengan cara yang bermakna.
Data mentah biasanya datang dengan ketidak konsistenan, nilai yang hilang, noise atau redudasi. Hal ini menyebabkan kinerja algoritma pembelajaran selanjutnya akan rusak jika disajikan dengan data berkualitas rendah [15]. Preprocessing data yang sudah ditujukan untuk memperbarui input mentah menjadi input berkualitas tinggi yang sinkron dengan proses penggalian dengan teknik seperti integrasi, normalisasi, pembersihan, serta transformasi [15]. Preprocessing data dapat dilakukan karena memiliki alasan sebagai berikut.
• memahami sifat dan pola data dan melakukan analisa data yang lebih bermakna
• memecahkan persoalan data yang dapat menghalangi untuk melakukan semua jenis analisa pada data,
• mengekstraksi pengetahuan yg lebih bermakna berasal sekumpulan data.
2.6 Synthetic Minority Over-sampling Technique (SMOTE)
Teknik Synthetic Minority Over-sampling Technique (SMOTE) adalah teknik yang dapat menangani ketidak seimbangan class. Teknik tersebut bekerja dengan cara resampling data secara berulang hingga mendapat nilai sample pada kelas paling minoritas [16]. Ketidakseimbangan dapat terlihat akibat dari jumlah banyaknya objek dari beberapa class. Jika data objek lebih banyak dibandingkan class lainnya, maka kelas objek lainnya dipandang kelas mayor. Sementara itu, data class lain menyebut class minor [17]. Teknik SMOTE telah diajukan manjadi satu keandalan untuk
13 menangani data yang tidak seimbang dengan prinsip yg berbeda. Bila teknik oversampling memiliki prinsip mengalikan jumlah pengamatan random, Metode SMOTE menambahkan banyaknya data lapisan kecil setara dengan lapisan utama dengan menghasilkan data buatan [17]. Berikut dibawah ini merupakan contoh ilustrasi SMOTE.
Gambar 2.1 Sketsa SMOTE [18].
Pada ilustrasi diatas menunjukkan dua gambar yang berbeda. Pada original data pada kelas 0 memiliki sebanyak 901 data dan kelas 1 memiliki 99 data, setelah dilakukannya oversampling menggunakan SMOTE, hasil pada data kelas 1 meningkat dan bertambah menjadi 901 data [18].
2.7 Support Vector Machine
Support Vector Machine (SVM) adalah teknik pembelajaran yang menggunakan ruang hipotetis berupa fungsi linier pada fitur berukuran tinggi dan dilatih menggunakan pola pembelajaran konsep optimasi [19]. Klasifikisi SVM adalah cara untuk menemukan hyperplane pemisah dua buah data dari dua buah kelas yg berbeda. Support Vector Machine bermula dari teori pembelajaran statistika, dimana perhitungan akhirnya memiliki hasil yang lebih baik daripada metode statistika yang lain. Proses pembangunan model klasifikasi Support Vector Machine (SVM), terdapat sejumlah data latih yang dipilih dalam proses pelatihan untuk dipelajari. Hal ini
14 terdapat juga sebagian kecil dari data latih yang akan disimpan untuk digunakan untuk proses prediksi [20].
Prinsip Support Vector Machine (SVM) adalah linier classifier masalah pengkategorian secara linier agar dapat dipisahkan, tetapi Support Vector Machine (SVM) diluaskan agar dapat melakukan perkerjaanya dalam SVM non-linier menggunakan konsep kernel pada ruang kerja format yang tinggi. Ruang format yang tinggi, akan dicari hyperplane yang dapat memaksimalkan margin di sela sela kelas data [7]. SVM memiliki 3 fungsi kernel dalam cara menyelesaikan sesuai dengan permasalahanya, yaitu terdiri dari 3 kernel yaitu kernel radial basis function (RBF), polynomial serta sigmoid. Berikut dibawah ini adalah sistem kerja dari SVM.
Gambar 2.2 SVM menentukan hyperplane terbaik dengan memisahkan kedua class - 1 dan +1 [21].
Pada Gambar 2. memperlihatakan SVM yang menentukan hyperplane terbaik dengan memisahkan dua buah class yaitu positif (+1) dan negatif (-1). Hyperplane terbaik dapat ditemukan dengan cara mengukur margin pada hyperplane dengan mencari titik maksimalnya. Margin merupakan jaran antar hyperplane dan mencari titik masing - masing kelas. Subset training dataset terdekat dinamakan sebagai support vector. Pada Gambar 2 diatas sebelah kanan merupakan hyperplane terbaik, yaitu terletak pada garis putus – putus yang berada di ditengah hyperplane positif dan negatif.
Sedangkan tanda Positif (+) dan Bulat (o) yang berada dalam garis berwarna hitam
15 merupakan support vector [21]. Berdasarkan karakteristiknya SVM dibagai menjadi dua yaitu, SVM linier dan non linier. Dimana fungsinya pada masing masing adalah sama yaitu, memisahkan kedua kelas dengan soft margin (linier) dan kernel trick (non linier).
2.7.1 Support Vector Machine Linier
SVM Linier artinya langkah untuk menggolongkan dua buah kelas cara memisahkan menggunakan data secara linier. dengan menggunakan fungsi berupa f(w,b)=xi.w+b untuk menemukan kelas pemisah menggunakan hasil 1 dan -1 [22] .
[(𝒘𝑇 . 𝒙𝑖 ) + 𝑏] ≥ 1 digunakan 𝑦𝑖 = +1 (2.1)
[(𝒘𝑇 . 𝒙𝑖 ) + 𝑏] ≤ −1 digunakan 𝑦𝑖 = −1 (2.2)
Keterangan :
X1 = Data Inisialisasi kei w = Support vector nilai lurus b = Bias
y1 = Data ke- ekuivalen persamaan 2.3
yi.(.xi.w+b.) -1 ≥ 0 untuk i = 1,..,n. (2.3)
Keterangan :
n = Nilai keseluruhan ke data n.
2.7.2 Support Vector Machine Non-Linier
SVM non linier bekerja dengan menggunakan pendekatan pada kernel fitur data awal himpunan data [22]. Fungsi kernel yaitu, sebagai pemetaan dimensi awal
16 (dimensi rendah) dan dimensi baru (dimensi tinggi) [7]. Berikut dibawah ini adalah macam macam fungsi kernel diantaranya :
1. Kernel Radial Basis Function (RBF) 𝑲 (𝑥, 𝑦) = exp ⟮−||𝑥−𝑦| |2
2ơ2 ⟯ (2.4)
2. Kernel Polynomial
𝑲 (𝑥. 𝑦) = (𝑥. 𝑦)d (2.5)
3. Kernel Sigmoid
𝑲 (𝑥. 𝑦) = ((𝑥. 𝑦) + 𝐶)d (2.6)
4. Fungsi Linier,
K.(x, y) =.x . y (2.7)
Keterangan :
𝑲 (𝑥. 𝑦) = fungsi kernel Xi = nilai data ke i Xj = nilai ke j
C = Nilai C
Ơ = sigma terkecil dari kernel RBF
2.8 Sequential Training
Training data (pelatihan) digunakan untuk mempelajari suatu pola. Proses pelatihan menggunakan pelatihan set yg sudah diketahui label-labelnya guna membentuk model atau fungsi [23]. pelatihan akan dilakukan dengan bantuan sequential training yang berfungsi sebagai pemisah 2 buah kelas yaitu diterima dan tidak diterima. Untuk mengoptimasi metode penyelesaiaan training data di SVM yaitu
17 digunakan metode Sequential Minimal Optimazition (SMO). Hasil perhitungan training akan di simpan dan dijadikan acuan pada sistem untuk menentukan sebuah inputan data di tes calon pendonor darah baru. Diterima untuk mendonorakan darahnya atau ditolak untuk mendonorkan darahnya. Adapun langkah-langkah training menggunakan sequential training dibawah ini sebagi berikut.
1. Inisialisasi pada σ1 lalu parameter selanjutnya, seperti λ, γ, C, Ɛ [22].
2. Menghitung matrix hessian dengan persamaan [10].
𝐷𝑖𝑗 = 𝑦𝑖𝑦𝑗(𝐾(𝑥𝑖 . 𝑥𝑗 ) + 𝜆2 (2.8)
3. Penjelasan nilai data I dan j dijelaskan pada persamaan dibawah ini [22].
𝐸𝚤 = ∑nj=1 𝛼𝑖 𝐷ij (2.9)
𝛿𝛼𝚤 = 𝑚𝑖𝑛(𝑚𝑎𝑥.[𝛾(1 − 𝐸𝚤), 𝛼𝚤], 𝐶. − 𝑎𝚤) (2.10)
αi.=.αi + δαı (2.11)
4. Proses keempat diulang terus hingga mendapatkan nilai iterasi maksima l (𝛿𝛼𝚤
≤ 𝜀).
5. Selanjutnya mendapatkan nilai support vector, SV.= (.αi > thresholdSV.) misalkan threshold SV =.0
2.9 Testing SVM
1. Pertama, perhitungan nilai.f(x), dengan menggunakan rumus sebagai berikut. [22].
𝑓( 𝑥 ) = 𝛴𝑖=1𝑚 𝑎𝚤 𝑦𝚤 𝐾 (𝑥𝚤, 𝑥) + 𝑏 (2.12)
Rumus untuk mencari nilai bias : 𝑏 = − 1
2 [ Σ𝑖=1𝑚 𝑎𝚤 𝑦𝚤 𝐾 (𝑥𝚤, 𝑥+) + [ Σ𝑖=1𝑚 𝑎𝚤 𝑦𝚤 𝐾 (𝑥𝚤, 𝑥−) (2.13) 2. Selanjutnya adalah menemukan nilai K.( XI, Xtest ) [22].
18
∑ 𝑖=1𝑚 𝑦𝚤 𝑦𝑗 𝐾 (𝑥𝚤 𝑥) (2.14)
3. Selanjutnya dilakukan untuk menemukan nilai f (Xtest) [22].
𝑓(𝑥𝑡𝑒𝑠𝑡) = 𝛴𝑖=1𝑚 𝑎𝚤 𝑦𝚤 𝐾 (𝑥𝚤, 𝑥) + 𝑏 (2.15)
2.10 Evaluasi
Evaluasi adalah proses untuk menentukan dan mengukur tingkat keberhasilan hasil proses dari implementasi yang telah dilakukan.[6]. Classification accuracy terdapat beberapa matrix, yaitu precision, recall, F1-Score dan accuracy,. Berikut dibawah ini adalah rumus pengukuran dari masing masing matrix.
a. Accuracy
Akurasi merupakan rasio antara data yang terindentifikasi secara tepat dari keseluruhan data [24]. Pengkuran akurasi dapat dilihat pada persamaan 7
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑇𝑃 𝑇𝑃+𝑇𝑁
𝑇𝑃+𝑇𝑁+𝐹𝑁+𝐹𝑃 100 % (2.16)
Keterangan :
• True Positive (TP) = Kelas positif dengan prediksi benar.
• True Negative (TN) = Kelas negatif dengan prediksi benar.
• False Positive (FP) = Kelas negatif prediksi data positif
• False Negative (FN) = Kelas positif prediksi data negatif
b. Precision
Precision merupakan cara untuk mengukur suatu ketetapan dari proses klasifikasi positif. Hasil dari prediksi yang benar terhadap seluruh hasil prediksi yang bernilai positif [24]
𝑆𝑒𝑛𝑠𝑖𝑡𝑖𝑓𝑖𝑡𝑎𝑠 = 𝑇𝑃
𝑇𝑃+𝐹𝑃 (2.17)
19 c. Recall
Recall merupakan cara untuk mengukur pada proses klasifikasi positif dari hasil prediksi yang benar terhadap dari seluruh kelas actual yang bernilai positif [24].
Recall = 𝑇𝑃
𝑇𝑃+𝐹𝑁 (2.18)
d. FI_Score
FI_Score digunakan untuk menghitung kombinasi antar precision dan recall menggunakan F1_Score [24].
𝐹1 − 𝑆𝑐𝑜𝑟𝑒 =2. 𝑝𝑟𝑒𝑠𝑖𝑠𝑖. 𝑠𝑒𝑛𝑠𝑖𝑡𝑖𝑓𝑖𝑡𝑎𝑠
𝑝𝑟𝑒𝑠𝑖𝑠𝑖+𝑠𝑒𝑛𝑠𝑖𝑡𝑖𝑓𝑖𝑡𝑎𝑠 (2.19)