Terakreditasi Nomor 204/E/KPT/2022 | Vol. 4, No. 2, April (2023), pp. 442-452

## Sistem Prediksi Penyakit Jantung Berbasis Web Menggunakan Metode SVM dan Framework Streamlit
Ary Putranto 1,* , Nuril Lutvi Azizah 2 , Ika Ratna Indra Astutik 3 1,2,3 Fakultas Sains dan Teknologi, Informatika, Universitas Muhammadiyah Sidoarjo, Indonesia E-mail: 1 aryputranto.red@gmail.com, 2 nurillutviazizah@umsida.ac.id,
3 ikaratna@umsida.ac.id

## Abstract
Heart disease is a disease whose cases often occur in society regardless of age, gender and lifestyle. Most of these diseases can not be cured completely. Heart attacks that are handled  too  late  can  cause  dangerous  complications  with  the  most  fatal  risk,  namely death.  With  the  rapid  development  of  technology  at  this  time,  the  world  of  medicine  is very  helpful.  One  of  the  technological  advances  that  exist  today  is  a  system  that  can diagnose disease. One of the machine learning algorithms that can be used is the Support Vector Machine. SVM can be used for regression and classification cases. The advantage of  this  algorithm  is  its  fast  computation.  Classification  of  heart  disease  with  the  SVM algorithm results in an accuracy of 85%. The machine learning model that produces the accuracy value is then carried out by deploying the model using the Streamlit framework. Streamlit is a Python-based framework that is open source. This framework was created to make it easier for developers to build web-based programs in the fields of interactive data science and machine learning. The results of this study are web-based programs that can diagnose heart disease with an accuracy value of 85%.
Keywords : Classification; Heart Disease; Streamlit; SVM

## Abstract
Penyakit  jantung  merupakan  penyakit  yang  kasusnya  sering  terjadi  di  masyarakat tanpa memandang usia, jenis kelamin dan gaya hidup. Penyakit ini Sebagian besar tidak dapat disembuhkan secara total. Seranga jantung yang terlambat dilakukan penanganan dapat  menyebabkan  komplikasi  berbahaya  dengan  resiko  yang  paling  fatal  yaitu kematian.  dengan  adanya  perkembangan  teknologi  yang  sangat  pesat  saat  ini,  dunia kedokteran  menjadi  sangat  terbantu.  Salah  satu  kemajuan  teknologi  yang  ada  saat  ini adalah sistem yang dapat mendiagnosa penyakit. Salah satu algoritma machine learning yang  dapat  digunakan  adalah  Support  Vector  Machine.  SVM  dapat  digunakan  untuk kasus  regresi  dan  klasifikasi.  Kelebihan  dari  algoritma  ini  adalah  komputasinya  yang cepat.  Klasifikasi  penyakit  jantung  dengan  algoritma  SVM  mendapatkan  hasil  akurasi sebesar  85%.  Model  machine  learning  yang  menghasilkan  nilai  akurasi  tersebut selanjutnya  dilakukan  deployment  model  menggunakan  framework  Streamlit.  Streamlit merupakan framework berbasis Python yang besifat open source. Framework ini dibuat untuk  memudahkan  developer  dalam  membangun program  berbasis  web  di  bidang  data science  dan  machine  learning  yang  interaktif.  Hasil  dari  penelitian  ini  adalah  program berbasis  web  yang  dapat  mendiagnosa  penyakit  jantung  dengan  nilai  akurasi  sebesar 85%.
Kata Kunci: Klasifikasi; Penyakit Jantung; Streamlit; SVM

## 1. Pendahuluan
Penyakit  jantung  merupakan  gangguan  terhadap  fungsi  kerja  jantung.  Penyakit  ini memiliki  banyak  jenis  seperti  kardivaskuler,  jantung  coroner  dan  serangan  jantung. Penyakit jantung menjadi salah satu penyakit yang kasusnya sering terjadi di masyarakat

## KESATRIA: Jurnal Penerapan Sistem Informasi (Komputer & Manajemen)
Terakreditasi Nomor 204/E/KPT/2022 | Vol. 4, No. 2, April (2023), pp. 442-452
tanpa  memandang  usia,  jenis  kelamin  dan  gaya  hidup  [1].  Adapun  penyebab  seseorang terkena  serangan  jantung  yaitu  karena  kurangnya  aktivitas,  merokok,  stress  berat, tingginya kolesterol, obesitas dan lainnya. Beberapa hal yang dialami oleh seseorang yang terkena serangan jantung ialah nyeri dada yang merambat hingga bahu, leher, rahang dan punggung.  Pernafasan  juga  terasa  berat  dengan  diikuti  keringat  dingin,  rasa  mual  dan hilang  kesadaran  [2].  Sebagian  besar  penyakit  jantung  tidak  dapat  disembuhkan  secara total.  Serangan  jantung  yang  parah  atau  terlambat  dilakukan  penanganan  dapat menyebabkan komplikasi berbahaya dengan resiko yang paling fatal adalah kematian.
Pada tahun 2012, data kasus penyakit di Indonesia berdasarkan GLOBOCAN (IARC) terdapat  jumlah  kasus  baru  serangan  jantung  sebanyak  43,30%  dan  jumlah  kematan sebesar  12,90%.  Sedangkan  pada  tahun  2013  jumlah  penderita  penyakit  jantung  sebesar 61.682  orang,  dengan  penderita  terbanyak  berada  di  Jawa  Tengah  dengan  jumlah  kasus sebesar 11.511 kasus. Berdasarkan data di atas, dapat diketahui bahwa banyak orang yang belum  menanggapi  penyebab  penyakit  ini  secara  serius.  Sehingga  setelah  melakukan pemeriksaan, dokter mendeteksi adanya penyakit jantung dengan stadium yang tinggi [3].
Perkembangan  teknologi  yang  kian  pesat  sangat  membantu  dunia  kedokteran  dalam menangani  berbagai  macam  penyakit.  Saat  ini  telah  ada  teknologi  yang  biasa  disebut dengan kecerdasan buatan. Salah satu manfaat dari teknologi ini yaitu dapat memprediksi penyakit  dengan  tingkat  akurasi  tertentu.  Penelitian  ini  bertujuan  untuk  melakukan prediksi  dini  terhadap  indikasi  penyakit  jantung  yang  di  deployment  ke  dalam  sebuah sistem  berbasis  web.  Dengan  memasukkan  beberapa  indikator  yang  menjadi  penyebab serangan  jantung,  program  akan  memprediksi  apakah  hasil  masukan  tersebut  terindikasi penyakit jantung atau tidak. Salah satu algoritma machine learning yang dapat diterapkan untuk melakukan klasifikasi adalah Support Vector Machine (SVM).
Support  Vector  Machine  merupakan  salah  satu  algoritma  machine  learning  yang termasuk  ke  dalam  kategori  supervised  learning.  Metode  ini  biasanya  digunakan  untuk kasus  klasifikasi  dan  regresi [4].  Pada  dasarnya  SVM  merupakan  representasi  dari  kelas yang  berbeda  dalam  ruang  multidimensi.  Tujuannya  adalah  untuk  membagi  dataset  ke dalam kelas-kelas untuk menemukan hyperplane marginal maksimum. Adapun kelebihan dari metode SVM adalah memiliki daya komputasi yang cepat.
Model  machine  learning  yang  telah  dibuat  dapat  dimasukkan  ke  dalam  program berbasis  web  agar  pengguna  dapat  dengan  mudah  melakukan  klasifikasi.  Adapun  salah satu framework yang mendukung untuk melakukan deployment model ke dalam program berbasis  web  yaitu  streamlit.  Streamlit  merupakan  framework  berbasis  Python  yang besifat  open  source.  Framework  ini  dibuat  untuk  memudahkan  developer  dalam membangun  program  berbasis  web  di  bidang  data  science  dan  machine  learning  yang interaktif  [5].  Salah  satu  kelebihan  dari  streamlit  adalah  developer  tidak  perlu  mengatur tampilan  website  dengan  CSS,  HTML  dan  javascript  karena  framework  streamlit  telah menyediakannya melalui fungsi-fungsi yang terdapat pada framework tersebut.
Beberapa  penelitian  terdahulu  telah  melakukan  penelitian  terkait  prediksi  penyakit jantung.  Diantaranya  penelitian  yang  berjudul  “Analisa  Komparasi  Metode  Klasifikasi Data  Mining  dan  Reduksi  Atribut  Pada  Dataset  Penyakit  Jantung”  yang  dilakukan  oleh Dito Putro Utomo dan Mesran pada tahun 2020. Penelitian ini melakukan reduksi atribut menggunakan  metode  PCA  dengan  membandingkan  algoritma  C5.0  dan  Naïve  Bayes Classifier untuk klasifikasi. Hasil dari penelitian ini menyatakan bahwa algoritma Naïve Bayes Classifier lebih baik daripada algoritma C5.0 [1].
Berdasarkan  latar  belakang  dan  penjelasan  yang  telah  dijabarkan  di  atas,  sehingga penelitian  ini  akan  melakukan  prediksi  dini  terhadap  penyakit  jantung  menggunakan metode  Support  Vector  Machine  yang  dimasukkan  ke  dalam  program  berbasis  web sehingga  harapan  dari  penelitian  ini  yaitu  dapat  membantu  dunia  kedokteran  untuk melakukan  diagnosa  penyakit  jantung  sedini  mungkin  agar  tingkat  keparahan  dapat diminimalisir.

## KESATRIA: Jurnal Penerapan Sistem Informasi (Komputer & Manajemen)

## 2. Metodologi Penelitian

## 2.1. Tahapan Penelitian
Tahapan  penelitian  merupakan  gambaran  umum  terkait  alur  penelitian  yang  akan dilakuan dalam pengerjaan penelitian ini dari awal hingga akhir. Tahapan yang dilakukan dalam  penelitian  ini  dapat  dipaparkan  melalui  diagram  alir  seperti  pada  Gambar  1. Seluruh  tahapan  pada  penelitian  ini  dikerjakan  menggunakan  Bahasa  pemrograman python.  dengan  rincian  untuk  tahapan  preprocessing  hingga  pemodelan  menggunakan software jupyter notebook dan untuk deployment dengan streamlit menggunakan software pycharm.
Gambar 1. Gambaran Tahapan Penelitian
2.2. Data Data yang digunakan pada
penelitian ini diambil
dari https://archive.ics.uci.edu/ml/datasets/heart+disease  yang  terdiri  dari  918  rekaman. Dataset ini terdiri dari 12 indikator penyebab penyakit jantung. Berikut merupakan rincian indikator atau attribut dari dataset yang akan digunakan.
Tabel 1 . Attribut Dataset Attribut Keterangan Age Umur Sex Jenis kelamin Chest Pain Type Jenis nyeri dada RestingBP Tekanan Darah Cholesterol Kolesterol FastingBS Gula Darah Puasa RestingECG Hasil Electrodiagram istirahat MaxHR Detak jantung maksimum tercapai ExerciseAngina Induksi angina Oldpeak Depresi HearDisease Target (terindikasi penyakit jantung atau tidak terindikasi penyakit jantung)
Gambar 2. Perbandingan Jumlah Rekaman
Gambar  2  merupakan  perbandingan  jumlah  rekaman  pasien  terindikasi  penyakit jantung  atau  tidak  terindikasi  penyakit  jantung.  Nilai  0  merupakan  pasien  yang  tidak
Terakreditasi Nomor 204/E/KPT/2022 | Vol. 4, No. 2, April (2023), pp. 442-452
terindikasi  penyakit  jantung  dan  nilai  1  merupakan  pasien  yang  terindikasi  penyakit jantung.

## 2.3. Preprocesssing
Tahapan  awal  penelitian  yaitu  preprocessing.  Preprocessing  dilakukan  karena  data mentah  tidak  dapat  digunakan  langsung  oleh  sistem.  Oleh  karena  itu,  beberapa preprocessing  harus  dilakukan  untuk  sedikit  memodifikasi  data  guna  meningkatkan kualitas data yang digunakan.
2.3.1. Handling Outlier
Sebuah  data  biasanya  terdapat  outlier.  Outlier  merupakan  objek  pengamatan  yang memiliki  nilai  ekstrim  yang  terlalu  rendah  atau  terlalu  tinggi  sehingga  menyebabkan masalah dalam penentuan hasil akhir analisis [10]. Terkadang outlier memiliki nilai yang penting  dan  berpengaruh  dalam  kumpulan  objek,  sehingga  tidak  semua  outlier  dapat dihilangkan.  Oleh  karena  itu  pada  penelitian  ini,  peneliti  melakukan  handling  outlier menggunakan  teknik  Z-score.  Z-score dapat  digunakan  untuk  membantu  menentukan apakah  sebuah  data  bernilai  ekstrim,  atau outlier  [11].  Aturan  umumnya  adalah  Z- score dengan nilai kurang dari –3 atau lebih dari +3 menunjukkan bahwa nilai data adalah nilai  ekstrim.  Sehingga  data  yang  melebihi  batas  bawah  dan  batas  atas  akan  dihapus. berikut merupakan Langkah-langkah untuk memfilter outlier dengan Teknik zscore.
a) Menghitung  nilai  zscore  di  setiap  kolomnya  menggunakan  library  numpy  dan fungsi stats pada library scipy. nilai zscore di setiap kolomnya diabsolutkan dan dimasukkan ke dalam variable z.
b) Tahap selanjutnya yaitu memfilter data yang nilai absolutnya kurang dari 3.

## 2.3.2. Cek Correlation
Hubungan  antar  variable  merupakan  suatu  hal  yang  sangat  penting  dan  berpengaruh terhadap  suatu  penelitian.  Oleh  karena  itu,  pada  tahap  preprocessing  ini,  peneliti melakukan  pengecekan  korelasi  data  menggunakan  fungsi  dari  library  pandas  yaitu  corr yang  divisualisasikan  oleh  library  plotly.  Untuk  melihat  interpretasi  korelasi  antar  dua variable, berikut kriteria hasil perhitungan yang dikutip dari website accurate.id .
Tabel 2. Koefisien Korelasi
Koefisien Keterangan 0 Tidak ada korelasi antara dua variable >0 – 0,25 Korelasi sangat lemah >0,25 - 0,5 Korelasi cukup >0,5 – 0,75  Korelasi kuat 1 Korelasi hubungan sempurna positif -1 Korelasi hubungan sempurna negatif

## KESATRIA: Jurnal Penerapan Sistem Informasi (Komputer & Manajemen)
Terakreditasi Nomor 204/E/KPT/2022 | Vol. 4, No. 2, April (2023), pp. 442-452
Berdasarkan  tabel  2  di  atas,  pada penelitian ini  koefisien  korelasi  data  yang  lemah  akan dihapus sehingga menyisakan korelasi data cukup, kuat dan sempurna.

## 2.3.3. Handling Imbalanced Data
Pada  gambar  2  dapat  diketahui  bahwa  terdapat  ketidak  seimbangan  jumlah  rekaman data  antara  pasien  yang  terindikasi  penyakit  jantung  dan  tidak  terindikasi  penyakit jantung. Adanya ketidak seimbangan jumlah data ini dapat mempengaruhi model machine learning  yang  dihasilkan.  Sehingga  walaupun  nilai  akurasi  yang  dihasilkan  oleh  model cukup tinggi, namun  model tidak dapat membedakan  apakah pasien terindikasi penyakit jantung  atau  tidak  [12].    Untuk  menangani  hal  tersebut,  peneliti  melakukan  Teknik oversampling  menggunakan  SMOTE.  Metode  SMOTE  diusulkan  pertama  kali  oleh Chawla  pada  tahun  2002,  dimana  kelas  minoritas  dilakukan  oversampling  dengan  cara membuat  “data  training  sintetis”.  Pembuatan  data  training  sintetis  tersebut  dibuat berdasarkan k-nearest neighbor [13].

## 2.4. Processing
Setelah data melalui tahapan preprocessing, selanjutnya adalah data dimasukkan ke tahap pemrosesan sehingga mendapatkan hasil yang diharapkan.

## 2.4.1. Klasifikasi dengan Support Vector Machine
Support Vector Machine merupakan algoritma klasifikasi supervised learning dimana algoritma ini dapat melakukan prediksi kelas berdasarkan pola yang dihasilkan dari proses training  [14].  Klasifikasi  SVM  menciptakan  garis  pembatas  yang  digunakan  untuk memisahkan  antar  kelas.  Berikut  merupakan  Langkah-langkah  dari  klasifikasi  dengan SVM
a) Membagi  data  menjadi  dua  bagian  yaitu  data  latih  dan  data  uji  dengan  persentase perbandingan 80% untuk data latih dan 20% untuk data uji.
b) Tuning parameter untuk mendapatkan parameter yang paling optimal menggunakan Teknik  GridSearch  Cross  Validation  yang  mana  GridSearchCV  adalah  bagian  dari modul scikit-learn yang bertujuan secara otomatis dan sistematis melakukan validasi beberapa  model  dan  setiap  hyperparameter  [15].  Ketika  proses  running GridSearchCV sudah selesai, maka akan didapatkan model beserta skor uji dan skor latih.  Adapun  hyperparameter  yang  digunakan  pada  penelitian  adalah  sebagai berikut.
Tabel 3. Hyperparameter Tuning Parameter Value Keterangan C 0.1, 1, 10, 100, 1000 Parameter  yang  bekerja  untuk  menghindari misklasifikasi di setiap sampel Gamma 1, 0.1, 0.01, 0.001, 0.0001 Digunakan  untuk  menentukan  seberapa  jauh pengaruh dari satu sampel data latih Kernel Polynomial Untuk  memisahkan  dataset  yang  bentuknya non-linear

## 2.5. Evaluasi
Tahapan  evaluasi  digunakan  untuk  mengukur  performa  model  yang  dihasilkan. Peneliti  menggunakan  confusion  matrix  untuk  melakukan  analisa  performa  dari  model. Confusion  matrix  merupakan  tabel  dengan  4  kombinasi  berbeda  dari  nilai  prediksi  dan nilai aktual [16]. Selanjutnya dari confusion matrix tersebut dapat dihitung nilai akurasi, precision,  recall  dan  F1  Score.  Peneliti  juga  menggunakan  Mean  Absolute  Error  untuk mengetahui prosentase kesalahan rata-rata mutlak [17]. Mean Absolute Error merupakan dua  diantara  banyak  metode  yang  digunakan  untuk  mengukur  tingkat  keakuratan  suatu model peramalan [18].

## KESATRIA: Jurnal Penerapan Sistem Informasi (Komputer & Manajemen)

## 2.6 Deployment
Setelah melalui tahapan modeling dan evaluasi, selanjutnya yaitu tahapan deployment model.  Dimana  model  disimpan  dalam  ekstensi  pickle  untuk  dimasukkan  ke  dalam sistem.  Framework  yang  digunakan  pada  pembuatan  sistem  adalah  streamlit.  berikut merupakan desain sistem berbasis web beserta contoh pengisiannya.
Gambar 3. Desain Sistem Berbasis Web

## 2.7. Pengujian dengan Black Box
Tahapan  selanjutnya  yaitu  pengujian  program  berbasis  web.  Peneliti  menggunakan Teknik  pengujian  black  box.  Pengujian  black  box  merupakan  pengujian  yang  dilakukan untuk  mengamati  hasil  input  dan  output  dari  perangkat  lunak  tanpa  melihat  struktur kodenya.  Pengujian  ini  dilakukan  di  tahapan  akhir  pada  proses  pembuatan  perangkat lunak  dengan  tujuan  untuk  mengetahui  apakah  perangkat  lunak  dapat  berfungsi  dengan baik. Teknik yang digunakan pada black box testing adalah Teknik equivalence partitions. Teknik  ini  merupakan  suatu  pengujian  yang  didasarkan  pada  masukan  data  pada  setiap form  yang  telah  disediakan  [19].  Setiap  menu  akan  pengujiannya  dan  dikelompokkan berdasarkan fungsinya. Baik itu hasilnya diterima atau tidak diterima.

## 3. Hasil dan Pembahasan

## 3.1. Hasil Preprocessing
3.1.1. Hasil Handling Outlier
Seperti yang telah dijelaskan pada sub bab 2.3.1 bahwa tahapan awal yang dilakukan yaitu melakukan filter outlier dengan Teknik Z-Score. Setelah kode sumber 2 dijalankan, data  yang  awalnya  918  record  berubah  menjadi  899  record.  Artinya  terdapat  19  record merupakan outlier yang melebihi batas atas dan batas bawah.
Gambar 4. Hasil Filter Outlier

## KESATRIA: Jurnal Penerapan Sistem Informasi (Komputer & Manajemen)

## 3.1.2. Hasil Cek Correlation
Setiap  indikator  memiliki  hubungan  positif  atau  negative  dengan  target,  namun  tidak semua indikator memiliki hubungan yang  kuat terhadap target. sehingga hubungan yang lemah  dapat  mempengaruhi  hasil  akurasi.  Sehingga  pada  tahapan  selanjutnya  yang dilakukan  oleh  peneliti  yaitu  tahapan  cek  correlation.  Tahapan  ini  digunakan  untuk menentukan  manakah  variable  yang  berpengaruh  dan  tidak  berpengaruh  terhadap  target. Pada  penelitian  ini,  peneliti  menghapus  variable  yang  memiliki  korelasi  lemah  terhadap target  dimana  parameter  korelasinya  adalah  di  atas  -0.25  (korelasi  negative  lemah  dan 0.25 (korelasi positif lemah).
Gambar 5. Visualisasi Hubungan Antar Variabel
Berdasarkan  gambar  6,  dapat diketahui  bahwa  variable  Cholesterol,  RestingECG  dan RestingBP  memiliki  korelasi  yang  lemah  terhadap  target  dimana  koefisien  dari  ketiga indikator  tersebut  di  atas  -0.25  dan  di  bawah  0.25.  Sehingga  peneliti  menghapus  ketiga variable tersebut.

## 3.1.3. Hasil Handling Imbalanced Data
Tahapan  selanjutnya  yaitu  handling  imbalanced  data.  Pada  penelitian  ini,  peneliti menggunakan  SMOTE  untuk  melakukan  oversampling  terhadap  kelas  minoritas.  Dapat diketahui  pada  gambar  2,  kelas  0  (tidak  terindikasi  penyakit  jantung)  memiliki  jumlah kelas  yang  lebih  sedikit  dibandingkan  kelas  1  (terindikasi  penyakit  jantung).  Sehingga kelas 0 dilakukan oversampling menggunakan SMOTE.
Gambar 6 Hasil Over Sampling Adapun  hasil  dari  handling  imbalanced  data  yang  dilakukan  pada  kode  sumber  3 menghasilkan  jumlah  kelas  yang  seimbang  yaitu  kelas  0  (tidak  terindikasi  penyakit jantung) adalah 492 record dan kelas 1 (terindikasi penyakit jantung) adalah 492 record.

## 3.2. Processing
Setelah  melalui  tahapan  preprocessing,  selanjutnya  yaitu  tahapan  processing. Berdasarkan kode sumber 1, dataset dibagi menjadi 80% untuk data latih dan 20% untuk data uji.  Selanjutnya dilakukan hyperparameter tuning menggunakan Grid  Search Cross

## KESATRIA: Jurnal Penerapan Sistem Informasi (Komputer & Manajemen)
Terakreditasi Nomor 204/E/KPT/2022 | Vol. 4, No. 2, April (2023), pp. 442-452
Validation dengan list parameter yang terdapat pada tabel 3. Grid Search Cross Validation merupakan  bagian  dari  scikit-learn  yang  berfungsi  secara  otomatis  dan  sistematis  dalam melakukan  validasi  beberapa  model  dan  setiap  hyperparameter.  Berdasarkan  proses tersebut, dihasilkan parameter terbaik sebagai berikut.
Tabel 4. Hasil Hyperparameter Tuning Parameter Value C 0.1 Gamma 0.01 Kernel Poly
Parameter  yang  terdapat  pada  tabel  4  selanjutnya  dilakukan  fitting  model  dengan memasukkan algoritma Support Vector Machine, berdasarkan uji coba tersebut dihasilkan skor  latih  sebesar  85%  dan  skor  uji  sebesar  87%.  Sehingga  model  yang  dihasilkan  fit. Kernel  terbaik  yang  dihasilkan  oleh  Grid  Search  Cross  Validation  yaitu  poly  atau polynomial.  Hal  itu  dikarenakan  persebaran  data  yang  divisualisasikan  pada  gambar  3 merupakan distribusi data yang tidak linear. Sehingga kernel polynomial memang cocok digunakan untuk penelitian ini.

## 3.3. Evaluasi
Setelah tahapan processing, tahapan selanjutnya yaitu evaluasi terhadap model. Hal ini bertujuan  untuk  mengukur  kinerja  dari  model  yang  telah  dibuat.  pada  penelitian  ini, peneliti  menggunakan  confusion  matrix.  Confusion  matrix  dapat  memberikan  informasi perbandingan hasil prediksi dengan hasil klasifikasi yang sebenarnya [20]. Adapun hasil visualisasi confusion matrix pada penelitian ini adalah sebagai berikut.
Gambar 7. Hasil Confusion Matrix
Berdasarkan hasil confusion matrix di atas, dapat dilakukan perhitungan precision, recall, dan accuracy. Berikut merupakan rumus beserta perhitungannya.
Akurasi=   (TP+TN)/(TP+FN+FP+TN)  x 100%
(1)
Akurasi=   (75+93)/(75+9+20+93)  x 100%
Akurasi=   168/197  x 100%
Akurasi=  0,853 x 100% Akurasi=  85%
Precision=   TP/(TP+FP)
(2)
Precision=   75/(75+20)  x 100%
Precision=   75/95  x 100% Precision=  0,78 x 100%
Precision=  78%
Recall=   TP/(TP+FN)
(3)
Recall=   75/(75+9)  x 100% Precision=   75/84  x 100%

## KESATRIA: Jurnal Penerapan Sistem Informasi (Komputer & Manajemen)
Terakreditasi Nomor 204/E/KPT/2022 | Vol. 4, No. 2, April (2023), pp. 442-452
Precision=  0,89 x 100% Precision=  89%
Berdasarkan rumusan di atas, dihasilkan nilai akurasi sebesar 85%, precision 78% dan recall  89%.  Sedangkan  skor  data  latih  yang  dihasilkan  adalah  87%  dan  skor  uji  yang dihasilkan sebesar 85%. Berdasarkan hasil tersebut dapat disimpulkan bahwa model yang dihasilkan pada penelitian ini adalah fit.

## 3.4. Deployment Model
Setelah  melalui  beberapa  tahapan  preprocessing  dan  processing,  selanjutnya  adalah melakukan  model  deployment.  Peneliti  menyimpan  model  dalam  ekstensi  pickle  untuk selanjutnya  dimasukkan  ke  dalam  sistem.  Pada  pembuatan  sistem  berbasis  web,  peneliti menggunakan framework streamlit.
Gambar 8. Uji Coba Sistem
Gambar 9. Hasil Uji Coba Sistem
Gambar  10  merupakan  uji  coba  sistem  hasil  dari  deployment  model.  Peneliti memasukkan inputan sesuai dengan indikator yang telah disediakan. Setelah memasukkan semua indikator, peneliti menekan tombol prediksi penyakit jantung sehingga tampil hasil klasifikasi yang terdapat pada gambar 8 yang menunjukkan bahwa pasien tidak terindikasi penyakit jantung berdasarkan indikator yang telah dimasukkan.

## 3.5. Pengujian Sistem Dengan Metode Black Box
Setelah  melalui  seluruh  tahapan  dari  preprocessing  hingga  implementasi  sistem, selanjutnya yaitu tahapan pengujian sistem. Hal ini bertujuan agar sistem dapat berfungsi dengan  baik  Ketika  digunakan  oleh  user.  Pada  penelitian  ini,  peneliti  menggunakan metode  black  box  untuk  melakukan  pengujian.  Seperti  yang  telah  dijelaskan  pada  sub sebelumnya, pengujian dengan metode black box mengamati hasil input dan output tanpa mengetahui  kode  sumbernya.  Berikut  merupakan  hasil  pengujian  sistem  dengan  metode black box.

## KESATRIA: Jurnal Penerapan Sistem Informasi (Komputer & Manajemen)
Tabel 6. Hasil Pengujian Sistem
Aktivitas pengujian Realisasi yang diharapkan Hasil pengujian Kesimpulan Menjalankan sistem Tampil halaman utama beserta indikator dan tombol untuk memprediksi Indikator yang ditampilkan sesuai dengan sistem yang telah dibuat diterima Memasukkan value sesuai dengan indikator yang telah disediakan User dapat memasukkan hasil pemeriksaan ke dalam indikator yang telah disediakan text box dapat berfungsi sesuai dengan yang diharapkan diterima Menekan tombol “prediksi penyakit jantung” Sistem dapat melakukan prediksi sesuai indikator yang telah diinputkan Sistem berfungsi dengan baik sehingga dapat menampilkan hasil prediksi diterima
Berdasarkan  hasil  pengujian  sistem  yang  terdapat  pada  tabel  6  di  atas,  dapat  dilihat bahwa  semua  pengujian  menghasilkan  hasil  pengujian  sesuai  dengan  realisasi  yang diharapkan. Dimana sistem dapat menerima input dan menghasilkan output sesuai dengan yang diharapkan.

## 4. Kesimpulan
Penelitian  ini  telah  berhasil  melakukan  klasifikasi  mulai  dari  preprocessing  sampai evaluasi  dan  deployment  model.  Berdasarkan  penelitian  yang  telah  dilakukan,  sistem dapat  melakukan  klasifikasi  penyakit  jantung  dengan  skor  akurasi  sebesar  85%  dengan hyperparameter yang dihasilkan yaitu gamma sebesar 0.01, Const sebesar 0.1, dan kernel yang  digunakan  adalah  polynomial  karena  bentuk  dari  dataset  tidak  linear.  Adapun precision yang dihasilkan sebesar 78%, dan recall sebesar 89%. Skor latih yang dihasilkan pada penelitian ini adalah 85% dan skor ujinya adalah 87% sehingga jika dilihat dari gap antara  skor  latih  dan  skor  uji,  model  tidak  mengalami  overfitting  maupun  underfitting. Dengan kata lain penelitian ini menghasilkan model yang fit. Sedangkan pada pengujian sistem,  berdasarkan  pengujian  blacbox  pada  sistem  berbasis  web  mendapatkan  hasil pengujian sesuai dengan realisasi yang diharapkan.

## Daftar Pustaka
[1] D.  P.  Utomo  And  M.  Mesran,  “Analisis  Komparasi  Metode  Klasifikasi  Data Mining  Dan  Reduksi  Atribut  Pada  Data  Set  Penyakit  Jantung,” Jurnal  Media Informatika Budidarma , Vol. 4, No. 2, 2020, Doi: 10.30865/Mib.V4i2.2080. [2] S. Agustin, “Ciri-Ciri Sakit Jantung Yang Harus Diwaspadai,” Https://Www.Alodokter.Com/Kenali-Ciri-Ciri-Sakit-Jantung , May 08, 2022.
[3] D.  P.  Utomo  And  M.  Mesran,  “Analisis  Komparasi  Metode  Klasifikasi  Data Mining  Dan  Reduksi  Atribut  Pada  Data  Set  Penyakit  Jantung,” Jurnal  Media Informatika  Budidarma ,  Vol.  4,  No.  2,  P.  437,  Apr.  2020,  Doi:
10.30865/Mib.V4i2.2080. [4] Samsudiney, “Penjelasan Sederhana Tentang Apa Itu Svm?,” Https://Medium.Com/@Samsudiney/Penjelasan-Sederhana-Tentang-Apa-Itu-
Svm-149fec72bd02 , Jul. 25, 2019.
[5] A.  F.  Hidayatullah,  “Membuat  Aplikasi  Web  Sains  Data  Dengan  Mudah Menggunakan  Streamlit,” Https://Informatics.Uii.Ac.Id/2021/03/15/Streamlit- Membuat-Aplikasi-Web-Sains-Data/ , Mar. 15, 2021.
[6] M. A. Bianto, K. Kusrini, And S. Sudarmawan, “Perancangan Sistem Klasifikasi Penyakit  Jantung  Mengunakan  Naïve  Bayes,” Creative  Information  Technology Journal , Vol. 6, No. 1, 2020, Doi: 10.24076/Citec.2019v6i1.231.
[7] D.  P.  Utomo,  P.  Sirait,  And  R.  Yunis,  “Reduksi  Atribut  Pada  Dataset  Penyakit Jantung  Dan  Klasifikasi  Menggunakan  Algoritma  C5.0,” Jurnal  Media Informatika Budidarma , Vol. 4, No. 4, 2020.
[8] A.  Nurmasani  And  Y.  Pristyanto,  “Algoritme  Stacking  Untuk  Klasifikasi Penyakit  Jantung  Pada  Dataset  Imbalanced  Class,”  2021.  [Online].  Available: Www.Ejournal.Unib.Ac.Id/Index.Php/Pseudocode
[9] A.  Novita  Sari  And  S.  Alfionita,  “Klasifikasi  Penyakit  Jantung  Menggunakan Metode  Naïve  Bayes,”  Vol.  1,  No.  1,  Pp.  22–26,  2022,  Doi: 10.12487/Amri.V1i1.Xxxxx.
[10] P. R. Fitrayana And D. R. S. Saputro, “Algoritme Clustering Large Application (Clara)  Untuk  Menangani  Data  Outlier,” Prisma,  Prosiding  Seminar  Nasional
Matematika , Vol. 5, Pp. 721–725, 2022, [Online]. Available:
Https://Journal.Unnes.Ac.Id/Sju/Index.Php/Prisma/
[11] P. R. , , D. A. Sihombing, S. Suryadiningrat, And Y. P. A. C. Yuda, . “Identifikasi Data  Outlier  (Pencilan)  Dan  Kenormalan  Data  Pada  Data  Univariat  Serta Alternatif  Penyelesaiannya,” Jurnal  Ekonomi  Dan  Statistik  Indonesia ,  Pp.  307–
316, 2022. [12] R. Fikri, “Handling Imbalanced Dataset,” Https://Medium.Com/@Rusnandifikri96/Handling-Imbalanced-Dataset- 260378b2a21b , Jul. 23, 2020.
[13] A. A. Arifiyanti And E. D. Wahyuni, “Smote: Metode Penyeimbang Kelas Pada Klasifikasi Data Mining,” Issn 2686-6099 , Vol. 11, 2020.
[14] A.  Liani,  “Analisis  Perbandingan  Kernel  Algoritma  Support  Vector  Machine Dalam  Mengklasifikasikan  Skripsi  Teknik  Informatika  Berdasarkan  Abstrak,” Joins  (Journal  Of  Information  System) ,  Vol.  5,  No.  2,  2020,  Doi: 10.33633/Joins.V5i2.3715.
[15] P.  M.  Kouate,  “Machine  Learning:  Gridsearchcv  &  Randomizedsearchcv,” Https://Towardsdatascience.Com/Machine-Learning-Gridsearchcv- Randomizedsearchcv-D36b89231b10 , Sep. 11, 2020. [16] M. S. Anggreany, “Confusion Matrix,” Https://Socs.Binus.Ac.Id/2020/11/01/Confusion-Matrix/ , Nov. 01, 2020.
[17] R.  Maulid,  “Kriteria  Jenis  Teknik  Analisis  Data  Dalam  Forecasting,” Https://Www.Dqlab.Id/Kriteria-Jenis-Teknik-Analisis-Data-Dalam-Forecasting , Jan. 14, 2022.
[18] A. A. Suryanto, A. Muqtadir, And S. Artikel, “Penerapan Metode Mean Absolute Error (Mea) Dalam Algoritma Regresi Linear Untuk Prediksi Produksi Padi Info Artikel : Abstrak,” No. 1, P. 11, 2019.
[19] Y. D. Wijaya And M. W. Astuti, “Pengujian Blackbox Sistem Informasi Penilaian Kinerja  Karyawan  Pt  Inka  (Persero)  Berbasis  Equivalence  Partitions,” Jurnal Digital Teknologi Informasi , Vol. 4, No. 1, 2021, Doi:
10.32502/Digital.V4i1.3163.
[20] E. Agustin, A. Eviyanti, And N. Lutvi Azizah, “Deteksi Penyakit Epilepsi Melalui Sinyal Eeg Menggunakan Metode Dwt Dan Extreme Gradient Boosting,” Vol. 7,
No. 1, Pp. 117–127, 2023, Doi: 10.30865/Mib.V7i1.5412.