Anda di halaman 1dari 55

UJIAN AKHIR SEMESTER

TI4141 – ANALITIKA DATA

PEMBANGUNAN MODEL PREDIKSI DAN STRATEGI


PREVENTIF PENYAKIT STROKE UNTUK KEMENTERIAN
KESEHATAN REPUBLIK INDONESIA

Oleh:
Shergio Rizkyputra (13419061)

Dosen Pengampu:
Rully Tri Cahyono, S.T., M.T.,
Titah Yudhistira, S.T., M.T., Ph. D.

PROGRAM STUDI TEKNIK INDUSTRI


INSTITUT TEKNOLOGI BANDUNG
2022
Ujian Akhir Semester: TI4141 – Analitika Data

PERNYATAAN UJIAN

“Saya mengerjakan UAS ini secara individu, tanpa menerima bantuan dari mahasiswa TI4141 ataupun individu
lainnya. Saya memahami bahwa melakukan tindak plagiarisme dan kerja sama dalam pengerjaan UAS ini adalah
terlarang, dan jika saya terbukti melakukan upaya plagiarisme dan kerja sama, saya bersedia menerima sanksi
sesuai dengan kebijakan ITB.”

Bidang : Public Health (Kesehatan Masyarakat)


Link Dataset : https://www.kaggle.com/datasets/fedesoriano/stroke-prediction-dataset

Bandung, 28 Mei 2022

Shergio Rizkyputra
(13419061)

Shergio Rizkyputra - 13419061 i


Ujian Akhir Semester: TI4141 – Analitika Data

DAFTAR ISI
PERNYATAAN UJIAN ................................................................................................................................................. i
DAFTAR ISI ............................................................................................................................................................... ii
DAFTAR TABEL ........................................................................................................................................................ iv
DAFTAR GAMBAR .................................................................................................................................................... v
DAFTAR LAMPIRAN ...................................................................................................Error! Bookmark not defined.
BAB I PENDAHULUAN .............................................................................................................................................. 1
1.1. Latar Belakang ........................................................................................................................................ 1
1.2. Stakeholder Sistem ................................................................................................................................. 3
1.3. Identifikasi Masalah ................................................................................................................................ 3
1.4. Rumusan Masalah .................................................................................................................................. 5
1.5. Tujuan Penelitian .................................................................................................................................... 6
1.6. Asumsi dan Batasan Penelitian............................................................................................................... 6
BAB II LANDASAN TEORI .......................................................................................................................................... 1
2.1. Flowchart Penelitian ............................................................................................................................... 1
2.2. Data Cleaning ......................................................................................................................................... 2
2.3. Decision tree .............................................................................................Error! Bookmark not defined.
2.4. Random forest ..........................................................................................Error! Bookmark not defined.
2.5. Binary Logistic Regression ...................................................................................................................... 4
2.6. Naive-Bayes ............................................................................................................................................ 5
2.7. Validation ............................................................................................................................................... 5
BAB III PENGOLAHAN DATA..................................................................................................................................... 7
3.1. Penjelasan Dataset ................................................................................................................................. 7
3.2. Pre-processing Data................................................................................................................................ 8
BAB IV EKSPLORASI DATA ...................................................................................................................................... 12
4.1 Data Exploration ................................................................................................................................... 12
4.2 Analisis Data ......................................................................................................................................... 13
4.2.1 Decision tree .....................................................................................Error! Bookmark not defined.
4.2.2 Binary Logistic Regression ............................................................................................................ 16
4.2.3 Random forest ..................................................................................Error! Bookmark not defined.
4.2.4 Naive–Bayes ................................................................................................................................. 23
BAB V EVALUASI MODEL ....................................................................................................................................... 24
5.1 Evaluasi Model Decision tree ................................................................................................................ 24
5.2 Evaluasi Model Binary Logistic Regression ........................................................................................... 24
5.3 Evaluasi Model Random forest ............................................................................................................. 25
5.4 Evaluasi Model Naive-Bayes ................................................................................................................. 34
BAB VI IMPLIKASI MANAJERIAL DAN REKOMENDASI PERBAIKAN ........................................................................ 35
6.1 Analisis Model Alternatif Pada Task Prediction .................................................................................... 35

Shergio Rizkyputra - 13419061 ii


Ujian Akhir Semester: TI4141 – Analitika Data

6.2 Implikasi Manajerial ............................................................................................................................. 36


6.3 Kesimpulan ........................................................................................................................................... 37
6.4 Saran Perbaikan .................................................................................................................................... 39
DAFTAR PUSTAKA .................................................................................................................................................. 40
LAMPIRAN .................................................................................................................Error! Bookmark not defined.

Shergio Rizkyputra - 13419061 iii


Ujian Akhir Semester: TI4141 – Analitika Data

DAFTAR TABEL
Tabel 1 Formulasi stakeholder permasalahan yang dikaji ....................................................................................... 3
Tabel 2 Detail Proses Penyelesaian Permasalahan Spesifik Sistem ......................................................................... 2
Tabel 3 Penggolongan Hasil Klasifikasi .................................................................................................................... 5
Tabel 4 Keterangan Variabel Dataset ...................................................................................................................... 7
Tabel 5 Faktor yang Signifikan dan Tidak Signifikan pada Pengembangan Model Binary Logistic Regression ..... 17
Tabel 6 Confusion Matrix untuk Model Decision tree ........................................................................................... 24
Tabel 7 Evaluasi Model Decision tree .................................................................................................................... 24
Tabel 8 Strategi Preventif PTM Stroke di Indonesia .............................................................................................. 36

Shergio Rizkyputra - 13419061 iv


Ujian Akhir Semester: TI4141 – Analitika Data

DAFTAR GAMBAR
Gambar 1 Kompilasi data penyakit tidak menular di Indonesia per 2019 (Badan Litbangkes Kemenkes RI, 2020) 1
Gambar 2 Age standardized death rate berdasarkan penyakit dan provinsi per 2017 (Badan Litbangkes Kemenkes
RI, 2018) .................................................................................................................................................................. 2
Gambar 3 Identifikasi Akar Masalah Melalui Metode 5 Whys ................................................................................ 4
Gambar 4 Identifikasi Akar Masalah Melalui Metode Fishbone Diagram ............................................................... 5
Gambar 5 Permasalahan Utama dan Permasalahan Spesifik Penelitian ................................................................. 6
Gambar 6 Flowchart Penelitian ............................................................................................................................... 1
Gambar 7 Input-Process-Output Diagram Terkait Permasalahan Spesifik .............................................................. 2
Gambar 8 Contoh Decision tree .............................................................................................................................. 3
Gambar 9 Perbedaan Antara Metode Bagging dan Metode Random forest (James, Witten, Hastie, & Tibshirani,
2021)........................................................................................................................................................................ 4
Gambar 10 Syntax R untuk Menghilangkan Data yang Terduplikasi ....................................................................... 8
Gambar 11 Syntax R untuk Mengganti Jenis Value pada Variabel yang Keliru ....................................................... 9
Gambar 12 Hasil Pengolahan Data Terkait Pergantian Jenis Value ....................................................................... 10
Gambar 13 Syntax R untuk Menghilangkan Missing Value ................................................................................... 10
Gambar 14 Hasil Pengolahan Data Terkait Penghilangan Missing Value .............................................................. 11
Gambar 15 Syntax R untuk Menghilangkan Missing Value pada Dataframe Baru ................................................ 11
Gambar 16 Distribusi kadar gula darah rata-rata pada pasien penderita PTM stroke .......................................... 12
Gambar 17 Distribusi usia pada pasien penderita PTM stroke ............................................................................. 12
Gambar 18 Jumlah Penderita PTM Stroke Berdasarkan Status Pernikahannya .................................................... 13
Gambar 19 Jumlah penderita PTM stroke berdasarkan jenis kelaminnya ............................................................ 13
Gambar 20 Model Kematangan Analitika Data Gartner (Gartner, 2012) .............................................................. 14
Gambar 21 Syntax R untuk Memanggil Packages yang Dibutuhkan ..................................................................... 14
Gambar 22 Syntax R untuk Melakukan Splitting Data ........................................................................................... 15
Gambar 23 Syntax R untuk Membangun Model Decision tree ............................................................................. 15
Gambar 24 Model Decision tree ............................................................................................................................ 15
Gambar 25 Syntax R untuk Mengunduh dan Memanggil Packages yang Dibutuhkan ......................................... 16
Gambar 26 Syntax R untuk Pengembangan Model Binary Logistic Regression .................................................... 16
Gambar 27 Hasil Pengolahan Data dalam Pengembangan Model Binary Logistic Regression ............................. 17
Gambar 28 Syntax R untuk Mengunduh dan Memanggil Package pada Model Random forest .......................... 18
Gambar 29 Syntax R untuk Mengubah Tipe Variabel Data pada Random forest.................................................. 18
Gambar 30 Hasil Pengolahan Data Terkait Penggantian Tipe Data Variabel ........................................................ 19
Gambar 31 Syntax R untuk Visualisasi Histogram ................................................................................................. 19
Gambar 32 Histogram Distribusi Variabel ‘Age’ .................................................................................................... 20
Gambar 33 Histogram Distribusi Variabel ‘bmi’ .................................................................................................... 20
Gambar 34 Histogram Distribusi Variabel ‘avg_glucose_level’ ............................................................................. 20
Gambar 35 Syntax R untuk Visualisasi Histogram Proporsi Pengidap PTM Stroke atau Tidak Stroke .................. 21
Gambar 36 Proporsi Pasien Mengalami PTM Stroke atau Tidak Mengalami Stroke ............................................. 21
Gambar 37 Syntax R untuk Mempartisi Dataset ................................................................................................... 21
Gambar 38 Syntax R untuk Pembuatan Model Random forest Pertama .............................................................. 21
Gambar 39 Syntax R untuk Memodifikasi Vektor dari Prediksi ............................................................................. 22
Gambar 40 Hasil Pengolahan Data Berupa Distribusi dari Prediksi ....................................................................... 22
Gambar 41 Syntax R untuk Membentuk Grafik Variabel Importance ................................................................... 22
Gambar 42 Grafik Variable Importance Model Random forest............................................................................. 23
Gambar 43 Syntax R untuk Mengunduh dan Memanggil Packages pada Model Naïve Bayes ............................. 23
Gambar 44 Syntax R untuk Pengembangan Model Prediksi dengan Naïve Bayes ................................................ 23
Gambar 45 Syntax R untuk Memperolah Confusion Matrix Model Decision tree................................................. 24
Gambar 46 Evaluasi Model Binary Logistic Regression ......................................................................................... 25
Gambar 47 Confusion Matrix Model Random forest Pertama .............................................................................. 25
Gambar 48 Syntax R untuk Melakukan Plotting Error Values Model Random forest Pertama ............................. 25

Shergio Rizkyputra - 13419061 v


Ujian Akhir Semester: TI4141 – Analitika Data

Gambar 49 Plotting Error Values ........................................................................................................................... 26


Gambar 50 Syntax R untuk Pembuatan Model Random forest Kedua.................................................................. 26
Gambar 51 Confusion Matrix Model Random forest Kedua ................................................................................. 26
Gambar 52 Syntax R untuk Melakukan Plotting Error Values Model Random forest Kedua ................................ 26
Gambar 53 Plotting Error Values Model Random forest Kedua ............................................................................ 27
Gambar 54 Syntax R untuk Pencarian Jumlah Decision tree dengan OOB Error Terendah ................................... 27
Gambar 55 Grafik yang Menunjukkan Jumlah Decision tree dengan OOB Error Terendah .................................. 27
Gambar 56 Syntax R untuk Melakukan Plotting Error Values Model Random forest Ketiga ................................ 28
Gambar 57 Confusion Matrix Model Random forest Ketiga.................................................................................. 28
Gambar 58 Syntax R untuk Membentuk Histogram dari Matriks Prediksi ............................................................ 28
Gambar 59 Matriks Prediksi Model Random forest .............................................................................................. 28
Gambar 60 Syntax R untuk Pembentukan Confusion Matrix Model Random forest ............................................ 29
Gambar 61 Evaluasi Model Random forest ........................................................................................................... 29
Gambar 62 Syntax R untuk Menentukan Oversampling pada Dataset ................................................................. 29
Gambar 63 Hasil Pengolahan Data Terkait Oversampling Data ............................................................................ 29
Gambar 64 Syntax R untuk Membentuk Model Random forest dengan Oversampling Data ............................... 30
Gambar 65 Hasil Pengolahan Data berupa Model Random forest dengan Oversampling Data ........................... 30
Gambar 66 Syntax R untuk Membentuk Plot dengan Error Values Terendah pada Model Random forest Pertama
............................................................................................................................................................................... 30
Gambar 67 Jumlah Variabel Optimal pada Model Random forest Pertama ........................................................ 31
Gambar 68 Syntax R untuk Pemebntukan Model Random forest dengan Jumlah Variabel Optimal ................... 31
Gambar 69 Confusion Matrix Model Random forest Kedua dengan Jumlah Variabel Optimal ............................ 31
Gambar 70 Syntax R untuk Pencarian Jumlah Decision tree Optimal pada Model Random forest Kedua ........... 32
Gambar 71 Grafik yang Menunjukkan Jumlah Decision tree dengan OOB Error Terendah pada Model Random
Foresr Kedua.......................................................................................................................................................... 32
Gambar 72 Syntax R untuk Pemebntukan Model Random forest Ketiga dengan Jumlah Variabel Optimal ........ 32
Gambar 73 Confusion Matrix Model Random forest Ketiga dengan Jumlah Variabel Optimal ........................... 33
Gambar 74 Confusion Matrix untuk Model Random forest Ketiga ....................................................................... 33
Gambar 75 Evaluasi Model Random forest Ketiga ................................................................................................ 34
Gambar 76 Syntax R untuk Membangun Model Confusion Matrix Model Naïve Bayes ....................................... 34
Gambar 77 Evaluasi Model Naïve Bayes ............................................................................................................... 34
Gambar 78 Hubungan ROC dan AUC (Juliani, Cyril & Ellefmo, Steiner, 2019) ...................................................... 39

Shergio Rizkyputra - 13419061 vi


Ujian Akhir Semester: TI4141 – Analitika Data

BAB I
PENDAHULUAN
1.1. Latar Belakang
Selama tahun 1990-2016, profil beban penyakit bergeser dari yang sebelumnya didominasi oleh
penyakit menular menjadi penyakit tidak menular (PTM). Hal ini didukung oleh berbagai faktor risiko yang
mempengaruhi kesehatan tiap kelompok usia penduduk. Dalam kurun waktu tersebut, kematian yang
disebabkan oleh PTM meningkat sebesar 82%. Di Indonesia, tiga PTM tertinggi sebagai penyebab kematian
adalah stroke (penyakit pembuluh otak), penyakit jantung iskemik, dan diabetes. Peningkatan PTM ini
berpengaruh negatif terhadap strategi alokasi anggaran pemerintah, seperti pemberian biaya bantuan/subsidi
perawatan dan pengobatan PTM melalui Badan Penyelenggara Jaminan Sosial (BPJS) Kesehatan sebagai bagian
dari Jaminan Kesehatan Nasional (JKN). Kondisi ini tentunya tidak hanya membebankan negara atau birokrasi
tertentu, tetapi juga umumnya perusahaan juga memiliki kewajiban hukum untuk memenuhi jaminan kesehatan
pekerjanya tersebut. Alokasi anggaran terbesar untuk PTM adalah penyakit pada organ jantung dan diikuti PTM
lainnya yang dapat dilihat selengkapnya beserta data pendukung lainnya pada gambar di bawah ini.

Proporsi Jenis Penyakit Terakomodasi Alokasi Biaya JKN untuk Pengobatan


BPJS Per 2019 PTM Per 2019

1,42% 12
8,17% 10,5
19,17%
Biaya Per Tahun (Triliun)

10

4 3,4
2,6 2,4
2
0,49 0,36 0,33 0,33
71,24% 0

Penyakit Menular
Penyakit Tidak Menular (PTM)
Penyakit Maternal/Perinatal
Jenis PTM
Cedera

Proporsi Pengidap PTM Berdasarkan Prevalensi PTM Jantung Berdasarkan


Gender Masyarakat Indonesia Per 2019 Usia Masyarakat Indonesia Per 2019
5 4,6 4,7
4,5 3,9
4
3,5
Persen (%)

3 2,4
2,5
49,17% 50,83% 2
1,3
1,5
1 0,7 0,7 0,8
0,4
0,5 0,1
0

Laki-laki Perempuan Kelas Usia (Tahun)

Gambar 1 Kompilasi Data Penyakit Tidak Menular di Indonesia Per 2019 (Badan Litbangkes
Kemenkes RI, 2020)
Shergio Rizkyputra - 13419061 1
Ujian Akhir Semester: TI4141 – Analitika Data

PTM jantung, salah satunya termasuk PTM stroke, menunjukkan angka yang semakin tinggi seiring
dengan kelompok usia yang lebih tua dan mencapai nilai tertinggi pada kelompok usia 55-59 tahun. Prevalensi
(proporsi dari populasi kelas) pengidap PTM berkaitan organ jantung juga semakin meningkat seiring dengan
pertambahan usia, di mana 4,7% masyrakat Indonesia berusia lebih dari 75 tahun mengidap PTM jantung. Hal ini
menunjukkan bahwa morbiditas masyarakat Indonesia mencapai titik terburuk ketika memasuki usia pensiun
karena beban pembiayaan kesehatan juga akan meningkat diakibatkan adanya beban penyakit yang diderita oleh
penduduk yang tidak lagi produktif.

Gambar 2 Age Standardized Death Rate Berdasarkan Penyakit dan Provinsi Per 2017 (Badan
Litbangkes Kemenkes RI, 2018)

Dapat dilihat pada gambar di atas bahwa PTM stroke menempati urutan pertama sebagai penyakit
penyebab kematian di hampir semua provinsi di Indonesia, kecuali di provinsi Gorontalo, Jawa Timur, dan
Kalimantan Tengah. Hal ini merupakan suatu masalah bagi para masyarakat Indonesia karena masyarakat
Indonesia tidak mengetahui faktor apa saja yang dapat memengaruhi munculnya PTM stroke. Tidak hanya
menjadi masalah bagi masyarakat Indonesia, hal ini akan menjadi masalah utama bagi pemerintah Indonesia
pula, terutama pihak Kementrian Kesehatan Republik Indonesia. Berdasarkan Permenkes 64 Tahun 2016 Pasal
2, Kementrian Kesehatan Republik Indonesia memiliki fungsi untuk merumuskan, menetapkan, dan
melaksanakan kebijakan di bidang kesehatan masyarakat, pencegahan dan pengendalian penyakit, pelayanan
kesehatan, dan kefarmasian dan alat kesehatan. Jika Kementrian Kesehatan Republik Indonesia tidak dapat
mengetahui faktor apa saja yang memengaruhi munculnya PTM stroke dan tidak dapat memprediksi kemunculan
PTM stroke di masa depan, maka Kementrian Kesehatan Republik Indonesia tidak dapat merumuskan strategi
pencegahan dan pengendalian PTM stroke bagi masyarakat Indonesia, yang nantinya akan berdampak buruk
bagi masyarakat Indonesia seperti death rate akibat PTM stroke akan meningkat.
Oleh karena itu, masalah tersebut belum diketahuinya faktor yang memengaruhi PTM stroke dan
prediksi PTM stroke di masa depan ini sangat krusial untuk dipecahkan bagi pihak Kementrian Kesehatan
Shergio Rizkyputra - 13419061 2
Ujian Akhir Semester: TI4141 – Analitika Data

Republik Indonesia. Sehingga pada penelitian kali ini, peneliti melakukan prediksi PTM stroke dengan
menggunakan random forest untuk dapat meninjau metode prediksi yang terakurat sehingga dapat memprediksi
PTM stroke di Indonesia di masa depan sebagai input bagi Kementrian Kesehatan Republik Indonesia dalam
merumuskan strategi preventif dan kontrol PTM stroke bagi masyarakat Indonesia.

1.2. Stakeholder Sistem


Menurut Daellenbach (2005), stakeholder dikelompokkan menjadi problem owner, problem user,
problem customer, dan problem solver, di mana para stakeholder ini tidak mengacu pada personel secara aktual
tetapi pada peran dari berbagai personel yang terlibat dalam sistem. Role of The Stakeholders adalah
kecenderungan sudut pandang menurut seluruh pihak yang berkepentingan dan memiliki perhatian terhadap
situasi masalah yang dihadapi. Pada permasalahan terkait tingkat angka kematian akibat penyakit tidak menular
(PTM) stroke, berikut adalah formulasi pemangku pada sistem yang dikaji.

Tabel 1 Formulasi stakeholder permasalahan yang dikaji

Role of The Stakeholders Keterangan

Decision maker (pengambil keputusan) dalam permasalahan yang dikaji adalah


Menteri Kesehatan RepbubIik Indonesia (RI) dan Kepala Badan Penelitian dan
Pengembangan Kesehatan sebagai general leader dan support leader dari
Problem Owner
Kementerian Kesehatan RI. Permasalahan ini akan dikaji dari sudut pandang
decision maker ini sebagai problem owner dari masalah perumusan strategi
preventif untuk menekan angka kematian PTM stroke.
Solusi dan atau pelaksanaan keputusan yang telah disetujui oleh decision
maker diimplementasikan oleh seluruh elemen pada Kementerian Kesehatan
Problem User
RI, khususnya direktorat, biro, dan Badan Penelitian dan Pengembangan
Kesehatan.
Pihak-pihak yang menjadi problem customer (pihak yang mendapatkan
Problem Customer dampak sebagai konsekuensi dari implementasi keputusan) yaitu seluruh
masyarakat RI sebagai pihak yang menggunakan layanan kesehatan.
Problem solver pada permasalahan yang dikaji adalah saya, Shergio Rizkyputra
(13419061), sebagai peneliti. Keluaran penelitian ini adalah memberikan
Problem Solver
rekomendasi strategi berupa mekanisme prediksi gejala PTM stroke yang
relevan dengan permasalahan problem owner dan problem customer.

1.3. Identifikasi Masalah


Dalam penelitian suatu permasalahan, perlu diidentifikasi terlebih dahulu akar (penyebab) masalah
terjadi. Identifikasi masalah perlu melibatkan tools tertentu sesuai dengan konteks permasalahannya. Proses
identifikasi analisis akar dari permasalahan dalam penyakit tidak menular (PTM) stroke akan menggunakan alat
bantu berupa 5 Whys sebagai berikut.

Shergio Rizkyputra - 13419061 3


Ujian Akhir Semester: TI4141 – Analitika Data

Tingkat age standardized death rate PTM stroke


tertinggi di Indonesia

Why?

Evaluasi pelayanan kesehatan dan tindak lanjutnya


belum berjalan dengan baik

Why?

Kurangnya kompetensi petugas medis dalam


mendiagnosis penyakit

Why?

Kurangnya keakuratan analisis dan alat diagnosis pasien

Why?

Membutuhkan mekanisme analisis untuk memprediksi


gejala PTM stroke

Gambar 3 Identifikasi Akar Masalah Melalui Metode 5 Whys

1. Problem
Permasalahan terkait penyakit tidak menular dominan yang diidap masyarakat Indonesia adalah
terdapat tingkat age standardized death rate PTM stroke tertinggi di Indonesia.
2. Why 1
Tingkat age standardized death rate PTM stroke tertinggi di Indonesia diakibatkan karena evaluasi
pelayanan kesehatan dan tindak lanjutnya terhadap pasien belum berjalan dengan baik.
3. Why 2
Evaluasi pelayanan kesehatan terhadap pasien belum berjalan dengan baik karena diduga kurangnya
kompetensi petugas medis dalam mendiagnosis penyakit pasien, khususnya PTM stroke.
4. Why 3
Kurangnya kompetensi petugas medis dalam mendiagnosis penyakit pasien diduga juga disebabkan
kurangnya keakuratan metode analisis dan alat diagnosis penyakit pasien.
5. Why 4
Kurangnya keakuratan metode analisis dan alat diagnosis penyakit pasien mendorong dirancangnya
mekanisme analisis untuk memprediksi gejala PTM stroke.

Dengan demikian, diperlukan solusi yang dapat dilakukan adalah mekanisme analisis untuk
memprediksi gejala PTM stroke. Selain 5 Whys, dilakukan identifikasi faktor masalah lain menggunakan fishbone
diagram yang dapat dilihat pada gambar di bawah ini.

Shergio Rizkyputra - 13419061 4


Ujian Akhir Semester: TI4141 – Analitika Data

ENVIRONMENT MACHINE MAN


Petugas non-
dokter tersertifikasi
Kurangnya kuantitas hanya 44%
Alat diagnosis tidak
fasilitas medis dikalibrasi secara rutin Kurangnya kompetensi
Angka pernikahan dini petugas medis
yang menimbulkan 15,4% penduduk
Kurangnya keakuratan Petugas terkadang menolak mendampingi
gangguan mental mengalami
36,3% penduduk analisis dan alat pasien yang dirujuk pada injury time
obesitas
>15 tahun merokok diagnosis
Personel & fasilitas tidak
teralokasi secara optimal
Banyaknya mitos Pola hidup
mengenai PTM stroke tidak sehat 75,84% masyarakat Indonesia
Lokasi rumah sakit lebih memilih pengobatan
sulit dijangkau pada alternatif bersifat tradisional
4,6% penduduk >10
injury time Oknum birokrasi bidang
tahun minum minuman
beralkohol kesehatan banyak yang
Kurangnya perhatian terhadap menyalahgunakan kewenangan
strategi preventif PTM stroke 93,5% penduduk >10 tahun
kurang mengonsumsi
buah & sayur Tingginya angka kematian
akibat PTM stroke

Tingkat ekonomi masyrakat


cenderung didominasi SOP belum berjalan
menengah ke bawah dengan baik

Alokasi dana bantuan sosial


tidak merata dan Evaluasi pelayanan dan
tidak tepat sasaran tindak lanjut belum
Kurangnya perhatian dari berjalan dengan baik
pemerintah pusat dan daerah Kurangnya frekuensi
terhadap dana instansi untuk penyuluhan ke Tim pengawasan mutu
kesehatan masyarakat belum berfungsi
dengan baik

MONEY METHOD

Gambar 4 Identifikasi Akar Masalah Melalui Metode Fishbone Diagram

Berdasarkan gambar fishbone diagram di atas, hal-hal yang menjadi akar masalah terkait tingginya
angka kematian akibat PTM stroke dibagi menjadi beberapa sudut pandang, yaitu pengidap dan stakeholder,
termasuk petugas medis. Terdapat beberapa aspek yang digunakan untuk mengidentifikasi masalah pada
penelitian ini yaitu dari segi method, money, man, machine, dan environment. Dari aspek man, mayoritas
masyarakat lebih memilih pengobatan alternatif dan terdapat oknum birokrasi yang menyalahgunakan
kewenangan, tetapi masalah utama yang ditemukan adalah kurangnya kompetensi petugas medis. Petugas
medis akan berperan krusial mulai dari memberikan penyuluhan sebagai tindakan preventif, mendiagnosis,
hingga menindaklanjuti gejala penyakit.
Dari segi machine, permasalahan utamanya berkaitan dengan kurangnya keakuratan metode analisis
dan alat diagonisis. Hal ini berperan krusial dalam memprediksi gejala yang dialami pasien berkaitan dengan PTM
stroke. Salah satu potensi terjadinya kesalahan dalam mendiagnosis penyakit pasien adalah alat medis belum
dikalibrasi secara konsisten. Dari segi environment, permasalahan utamanya berasal dari sudut pandang pasien
yaitu pola hidup yang tidak sehat. PTM stroke disebabkan oleh beberapa kebiasaan buruk yaitu tidak menjaga
keseimbangan pola dan porsi makan, merokok, dan juga meminum minuman beralkohol.
Dari segi method, permasalahan utamanya diakibatkan buruknya evaluasi pelayanan kesehatan dan
tindak lanjutnya terhadap pasien. Untuk mendorong perbaikan layanan, tim pengawas mutu dapat dilibatkan
secara optimal agar terjadi perbaikan berkelanjutan (continuous improvement). Dari segi money, terdapat
beberapa sudut pandang pendorong terjadinya permasalahan utama. Dari sudut pandang pemerintah, alokasi
dana bantuan sosial tidak tepat sasaran dan pemerintah cenderung mengabaikan pentingnya program kerja di
bidang kesehatan, khususnya dalam mengalokasikan anggaran negara. Dari sudut pandang pasien, tingkat
ekonomi pasien PTM stroke cenderung didominasi kelas menengah ke bawah, sehingga hal ini menghambat
pembiayaan untuk pengobatan dan perawatan PTM stroke karena lebih memprioritaskan kebutuhan utamanya.

1.4. Rumusan Masalah


Berdasarkan latar belakang permasalahan yang dikaji terkait penyakit tidak menular (PTM) stroke,
beberapa rumusan masalah pada aktivitas penelitian ini sebagai berikut.
1. Bagaimana pre-processing dataset terkait PTM stroke dilakukan?

Shergio Rizkyputra - 13419061 5


Ujian Akhir Semester: TI4141 – Analitika Data

2. Bagaimana eksplorasi dataset PTM stroke?


3. Bagaimana pemodelan data dengan berbagai tools dalam data analytics?
4. Apa tools terbaik untuk digunakan dalam penginterpretasian data?
5. Apa insight (wawasan) menarik dari pemodelan beserta implikasi yang dapat dilakukan terhadap
serangan PTM stroke?

Dari segi konteks masalah, penelitian ini mengelompokkan permasalahan menjadi permasalahan utama
dan permasalahan spesifik. Berikut adalah permasalahan umum beserta turunannya yang dikaji terkait
pembangunan model prediksi untuk penyakit stroke.

Gambar 5 Permasalahan Utama dan Permasalahan Spesifik Penelitian

Dengan menggunakan task prediction, peneliti akan membandingkan beberapa model alternatif dan
akan dipilih dengan pertimbangan nilai akurasi, error, sensitivitas, dan spesifisitas sebagai model terbaik. Model-
model alternatif yang digunakan adalah bagain dari task prediction. Peneliti menggunakan empat model
alternatif, yaitu model decision tree, random forest, binary logistic regression (binomial logit), dan Naïve Bayes.

1.5. Tujuan Penelitian


Berdasarkan rumusan masalah tersebut, tujuan penelitian terkait penyakit tidak menular (PTM) stroke
ini adalah sebagai berikut.
1. Melakukan pre-processing dataset terkait PTM stroke
2. Mengeksplor data dengan membuat berbagai visualisasi data
3. Membuat pemodelan data dengan decision tree, random forest, binary logistic regression, serta
Naïve Bayes
4. Menentukan tools terbaik untuk digunakan dalam penginterpretasian data
5. Menentukan wawasan (insight) menarik beserta implikasi yang dapat dilakukan terhadap serangan
PTM stroke

1.6. Asumsi dan Batasan Penelitian


Beberapa asumsi digunakan oleh peneliti untuk memudahkan penelitian dalam merepresentasikan
sistem pada kondisi aktualnya. Berikut adalah beberapa asumsi yang digunakan pada penelitian ini.
1. Data yang digunakan tidak mengandung outlier
2. Data yang digunakan sudah valid dan dapat dipercaya untuk dijadikan model penelitian
3. Penggunaan fungsi set seed sebagai nomor awal untuk memastikan peneliti mendapatkan hasil
yang sama setiap kali peneliti menjalankan proses yang sama tidak mempengaruhi pertimbangan
pemilihan model.
Sementara itu, berikut adalah beberapa batasan yang digunakan dalam penelitian ini.
Shergio Rizkyputra - 13419061 6
Ujian Akhir Semester: TI4141 – Analitika Data

1. Data yang digunakan dikumpulkan sumber www.kaggle.com adalah data dengan responden yang
berasal dari beberapa negara, tidak khusus di Indonesia. Maka, perlu dilakukan analisis terhadap
pemanfaatannya untuk stakeholder dan aktor lainnya pada sistem di Indonesia
2. Peniliti melakukan perbandingan empat model prediksi untuk menentukan model terbaik
3. Terdapat sebelas variabel data yang diolah 5110 sampel yang menjadi responden

Shergio Rizkyputra - 13419061 7


Ujian Akhir Semester: TI4141 – Analitika Data

BAB II
LANDASAN TEORI

2.1. Flowchart Penelitian


Dalam menyelesaikan permasalahan terkait pemodelan prediksi gejala penyakit tidak menular (PTM)
stroke, terdapat beberapa teori yang digunakan terkait konteks permasalahan yang dapat mengarahkan strategi
analisis dan perumusan model empiris pada tahap selanjutnya. Penelitian diawali dengan pembersihan data,
kemudian dilakukan visualisasi data untuk melakukan eksplorasi lebih lanjut terhadap data. Tahapan selanjutnya
adalah menggunakan beberapa model prediction (prediksi) untuk melakukan prediksi terhadap seseorang yang
menderita PTM stroke berdasarkan beberapa faktor. Setiap model prediksi ini dievaluasi keakuratannya sehingga
nantinya dapat ditarik suatu kesimpulan model prediksi mana yang terakurat. Secara umum, tahapan penelitian
dijelaskan pada flowchart berikut.

Mulai

Data awal Pembersihan data Data bersih

Data bersih Visualisasi data

Pembuatan model Pembuatan model Pembuatan model Pembuatan model


prediksi data dengan prediksi data dengan prediksi data dengan prediksi data dengan
decision tree binary logistic regression random forest naïve bayes

Perhitungan keakuratan Perhitungan keakuratan Perhitungan keakuratan Perhitungan keakuratan


prediksi prediksi prediksi prediksi

Kesimpulan & solusi


strategi prediksi

Selesai

Gambar 6 Flowchart Penelitian

Dalam menyelesaikan permasalahan yang dikaji, peneliti menggunakan task prediction (prediksi) untuk
memprediksi gejala pasien yang berpotensi mengidap PTM stroke. Task prediction hampir serupa dengan task
classification (klasifikasi) atau task estimation (estimasi). Dataset terkait yang diolah melalui task prediction akan
diklasifikasikan menurut beberapa perilaku masa depan yang diprediksi dengan perkiraan nilai di masa depan.
Berikut adalah penjabaran terkait permasalahan spesifik yang ingin diselesaikan, data yang tersedia dan resource
yang digunakan dengan task prediction yang digunakan untuk menyajikan solusi dari permasalahan yang
dianalisis.

Shergio Rizkyputra - 13419061 1


Ujian Akhir Semester: TI4141 – Analitika Data

Tabel 2 Detail Proses Penyelesaian Permasalahan Spesifik Sistem


Permasalahan Spesifik Data yang Tersedia Resource
 Jenis kelamin pasien
 Usia pasien
 Riwayat hipertensi
Bagaimana memprediksi  Riwayat gangguan penyakit jantung  Microsoft Excel
gejala pasien yang akan  Tipe pekerjaan pasien  Python
mengidap PTM stroke?  Tipe area tempat tinggal pasien  RStudio
 Rata-rata kadar glukosa dalam darah pasien
 Body mass index (BMI)
 Status merokok pasien

Setelah memformulasikan detail kebutuhan selama penyelesaian permasalahan spesifik, perlu


dirumuskan alur penyelesaian secara lebih detail, seperti dengan menggunakan input-process-output diagram.
Berikut adalah penjabaran input-process-output diagram yang mendeskripsikan strategi analisis untuk
merumuskan keputusan terkait.

Gambar 7 Input-Process-Output Diagram Terkait Permasalahan Spesifik

2.2. Data Cleaning


Menurut (Stolcke, Zheng, Wang, & Abrash, 2011), panduan yang digunakan untuk melihat insight dan
melakukan pengolahan dalam Big Data Analytics dapat dijabarkan menjadi lima langkah besar, yaitu data
acquisition (pemerolehan data), data mining and cleaning (penggalian dan pembersihan data), data
aggregation and integration (agregasi data), data analysis and modelling (analisis dan pembuatan model), dan
data interpretation (interpretasi data).
Data cleaning adalah tahap awal dari setiap proyek machine learning untuk memastikan kumpulan data
bebas dari data yang salah atau keliru. Ini dapat dilakukan secara manual dengan alat pengurai data atau secara
otomatis dengan komputer. Pembersihan data memerlukan banyak prosedur yang setelah dilakukan akan
membuat data siap untuk dianalisis. Beberapa metode yang dipakai pada penelitian ini mencakup penanganan
missing value, penanganan wrong input, dan penanganan data terduplikasi.

1. Penanganan missing value


Tipe missing data terdiri atas MCAR (missing completely at random), MAR (missing at random), dan
MNAR (missing not at random). Metode untuk penanganan missing value disesuaikan dengan
kumpulan data yang diinginkan, alasan ketidakhadiran, dan proporsi data yang hilang. Secara umum,
suatu metode dipilih karena kesederhanaan dan kemampuannya untuk memperkenalkan bias sesedikit
Shergio Rizkyputra - 13419061 2
Ujian Akhir Semester: TI4141 – Analitika Data

mungkin dalam dataset. Ketika data MCAR atau MAR peneliti dapat mengabaikan alasan untuk hilang
data, yang menyederhanakan pilihan metode yang akan diterapkan. Dalam hal ini, metode penanganan
apapun dapat diaplikasikan. Namun, sulit untuk mendapatkan bukti empiris tentang apakah data
tersebut MCAR atau MAR. Sebuah strategi yang valid adalah memeriksa sensitivitas hasil terhadap
asumsi MCAR dan MAR dengan membandingkan beberapa analisis, di mana perbedaan hasil di
beberapa analisis memberikan beberapa informasi tentang asumsi paling relevan (Salgado, Azevedo, &
Hugo & Vieira, 2016)
2. Penanganan wrong input
Data yang dimasukkan dalam format yang salah menyebabkan data menjadi tidak bisa dibaca atau
disalahartikan nilainya oleh program komputer. Penanganan yang data dilakukan adalah mengubah
tipe data sesuai jenis variabel datanya. Tipe data terdiri atas data logical (tipe data untuk memberi nilai
pada hasil pembandingan atau kombinasi pembandingan), numeric (segala jenis angka), integer
(bilangan bulat), complex (bilangan kompleks), character atau string (umumnya dalam bentuk huruf),
dan factor (dapat ditampilkan dalam bentuk string, tetapi saat pengolahan data akan terbaca sebagai
angka dengan nilai untuk masing-masing faktor).
3. Penangan data terduplikasi
Untuk mengatasi fenomena ini, dilakukan beberapa metode diantaranya menggunakan record linkage,
reference marching, deduplication, dan copy detection. Sejumlah solusi telah diusulkan, mulai dari
aturan yang dikodekan secara manual hingga aplikasi teknik machine learning terbaru. Data yang
terduplikasi, terutama dalam jumlah banyak, jika tidak ditangani dengan baik dapat menyebabkan
kemampuan prediksi yang menurun.

2.3. Decision tree


Decision tree merupakan salah satu metode klasifikasi (hampir serupa dengan metode
prediksi/estimasi) pada text mining. Klasifikasi adalah proses menemukan kumpulan pola atau fungsi-fungsi
yang menjelaskan dan memisahkan kelas data yang satu dengan yang lain untuk memprediksi data yang belum
memiliki kelas data tertentu. Berikut adalah contoh dari decision tree dengan definisi tiap bagiannya.

Gambar 8 Contoh Decision tree

Gambar di atas menunjukkan penggambaran decision tree, yaitu berupa struktur pohon, di mana node
pada pohon merepresentasikan variabel yang telah diuji, setiap cabang adalah suatu pembagian hasil uji, dan
node daun atau leaf node merupakan kelompok kelas tertentu. Tingkatan node teratas adalah node akar atau
berupa variabel yang biasanya memiliki pengaruh paling besar pada kelas tertentu.

Shergio Rizkyputra - 13419061 3


Ujian Akhir Semester: TI4141 – Analitika Data

2.4. Random forest


Random forest adalah peningkatan lanjutan dari metode bagging, di mana metode ini menyediakan
beberapa tweak acak yang mendekorelasi decision tree. Seperti pada metode bagging, metode random forest
akan membangun beberapa decision tree pada sampel training bootstrap. Namun, ketika membangun
beberapa decision tree tersebut, setiap kali ada perpecahan dalam decision tree, sampel acak dari m prediktor
dipilih sebagai kandidat pemecah dari set lengkap dari p prediktor. Pemecah tersebuh hanya diperbolehkan
untuk menggunakan salah satu dari m prediktor tersebut (James, Witten, Hastie, & Tibshirani, 2021). Sampel
baru dari m prediktor akan diambil setiap pemecahan dan biasanya dipilih 𝑚 ≈ √𝑝 , di mana jumlah prediktor
yang dipertimbangkan pada setiap pemecahan bernilai setara dengan akar kuadrat dari jumlah total prediktor.

Gambar 9 Perbedaan Antara Metode Bagging dan Metode Random forest (James, Witten, Hastie, &
Tibshirani, 2021)

Maka, dalam membangun random forest, pada setiap pemecahan di decision tree, algoritma tidak
diizinkan untuk mempertimbangkan mayoritas predictor yang tersedia. Metode random forest memaksa setiap
𝑝−𝑚
pemecahan untuk mempertimbangkan hanya sebagian dari prediktor. Oleh karena itu, rata-rata dari
2
pemecahan bahkan tidak akan mempertimbangkan prediktor yang kuat sehingga prediktor lain akan memiliki
lebih banyak peluang. Proses ini adalah proses mendekorelasi decision tree, sehingga akan membuat rata-rata
decision tree yang dihasilkan kurang bervariasi sehingga hasil dari metode ini lebih dapat diandalkan.

2.5. Binary Logistic Regression


Regresi logistik adalah suatu model statistika yang memperhitungkan probabilitas suatu observasi
untuk dikategorikan ke suatu kelompok tertentu. Model umum digunakan ketika variabel dependenya berjenis
kategori sementara variabel independennya berjenis metrik ataupun non-metrik (Hair, Black, Babin, & Anderson,
2014). Pada kasus regresi logistik biner, variabel dependennya memiliki dua kemungkinan nilai, misalnya gagal
atau sukses yang umumnya direpresentasikan dengan angka “0” untuk nilai bersifat gagal dan angka “1” untuk
nilai bersifat sukses. Estimasi koefisien dari variabel independen dilakukan dengan menghitung probabilitas
terjadinya suatu kejadian ataupun dengan cara menghitung nilai logitnya. Berikut merupakan rumus yang umum
digunakan.

𝑝𝑟𝑜𝑏𝑒𝑣𝑒𝑛𝑡
𝐿𝑜𝑔𝑖𝑡𝑖 = ln ( ) = 𝑏0 + 𝑏1 𝑋1 + ⋯ + 𝑏𝑛 𝑋𝑛
1 − 𝑝𝑟𝑜𝑏𝑒𝑣𝑒𝑛𝑡

𝑝𝑟𝑜𝑏𝑒𝑣𝑒𝑛𝑡
𝑂𝑑𝑑𝑠𝑖 = ( ) = 𝑒 𝑏0 +𝑏1𝑋1+⋯+ 𝑏𝑛𝑋𝑛
1 − 𝑝𝑟𝑜𝑏𝑒𝑣𝑒𝑛𝑡
Shergio Rizkyputra - 13419061 4
Ujian Akhir Semester: TI4141 – Analitika Data

Berbeda dengan analisis diskriminan, binary logistic regression tidak memerlukan terpenuhinya asumsi
normalitas. Selain itu, analisis ini juga tidak mementingkan pola distribusi dari data yang digunakan sehingga
dapat digunakan dalam berbagai situasi. Namun, perlu diperhatikan jumlah observasi dan juga fitur. Apabila
jumlah observasi lebih kecil jika dibandingkan dengan fitur, hal ini akan menyebabkan model overfitting.

2.6. Naive-Bayes
Naïve Bayes Classifier merupakan sebuah metode klasifikasi yang berakar pada teorema Bayes. Metode
pengklasifikasian dengan menggunakan metode probabilitas dan statistik yang dikemukakan oleh ilmuwan
Inggris, Thomas Bayes, yaitu memprediksi peluang di masa depan berdasarkan pengalaman di masa
sebelumnya sehingga dikenal sebagai Teorema Bayes. Ciri utama dari Naïve Bayes Classifier ini adalah asumsi
yg sangat kuat (naïf) akan independensi dari masing-masing kondisi / kejadian. Menurut Delen (2008)
menjelaskan Naïve Bayes untuk setiap kelas keputusan, menghitung probabilitas dengan syarat bahwa kelas
keputusan adalah benar, mengingat vektor informasi obyek. Teorema Bayes sering pula dikembangkan
mengingat berlakunya hukum probabilitas total, menjadi seperti formula di bawah ini.
𝑃(𝑋|𝐻)
𝑃(𝐻|𝑋) = × 𝑃(𝐻)
∑𝑛𝑖=1 𝑃(𝐻𝑖 |𝑋)
Dengan:
i = 1, 2, 3, …, n dengan n adalah jumlah data hipotesis (probabilitas prior)
𝐻1 U 𝐻2 U 𝐻3 … 𝐻𝑛 = 𝑆 dengan S adalah probabilitas total H (hipotesis)

Untuk menjelaskan Teorema Naïve Bayes, perlu diketahui bahwa proses klasifikasi memerlukan sejumlah
petunjuk untuk menentukan kelas apa yang cocok bagi sampel yang dianalisis tersebut. Karena itu, Teorema
Bayes di atas disesuaikan sebagai berikut.
𝑃(𝐹1 , … , 𝐹𝑛 |𝐶)
𝑃(𝐶|𝐹1 , … , 𝐹𝑛 ) = × 𝑃(𝐶)
𝑃(𝐹1 , … , 𝐹𝑛 )
Variabel C merepresentasikan kelas, sementara variabel 𝐹1 sampai 𝐹𝑛 merepresentasikan karakteristik
pertunjuk yang dibutuhkan untuk melakukan klasifikasi. Maka, rumus tersebut menjelaskan bahwa peluang
masuknya sampel karakteristik tertentu dalam kelas C (posterior) adalah peluang munculnya kelas C (sebelum
masuknya sampel tersebut, seringkali disebut prior), dikali dengan peluang kemunculan karakteristik-
karakteristik sampel pada kelas C (disebut juga likelihood), dibagi dengan peluang kemunculan karakteristik-
karakteristik sampel secara global (disebut juga evidence).

2.7. Validation
Salah satu teknik validasi yang digunakan untuk mengevaluasi model pada klasifikasi binary adalah
confusion matrix. Confusion Matrix terbentuk dari empat outcome (keluaran) yang dihasilkan sebagai hasil dari
klasifikasi biner. Binary classifier memprediksi seluruh contoh data dari kumpulan data uji sebagai output positif
atau negatif, empat output tersebut yaitu True Positive (TP), False Positive (FP), True Negative (TN), dan False
Negative (FN).

Tabel 3 Penggolongan Hasil Klasifikasi

Actual
Positive (+) Negative (-)
Positive (+) TP FN
Predicted
Negative (-) FP TN

Dua parameter pengukuran pada Confusion Matrix yang umum digunakan adalah error rate (ERR) dan
accuracy (ACC). Rumus keduanya adalah sebagai berikut.

Shergio Rizkyputra - 13419061 5


Ujian Akhir Semester: TI4141 – Analitika Data
𝑇𝑃 + 𝑇𝑁 𝑇𝑃 + 𝑇𝑁
𝐴𝐶𝐶 = =
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑁 + 𝐹𝑃 𝑃+𝑁
𝐹𝑃 + 𝐹𝑁 𝐹𝑃 + 𝐹𝑁
𝐸𝑅𝑅 = =
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑁 + 𝐹𝑃 𝑃+𝑁

Biaya kesalahan positif dan negatif dapat menjadi berbeda. Maka, pengukuran lain seperti sensitivity (SN)
dan specitifity (SP) lebih informatif daripada accuracy dan error rate. SN dihitung sebagai jumlah prediksi positif
yang benar dibagi dengan jumlah total positif. Ini juga disebut recall (REC) atau true positive rate (TPR). SN
terbaik adalah 1, sedangkan yang terburuk adalah 0. SP dihitung sebagai jumlah prediksi negatif yang benar
dibagi dengan jumlah total negatif. Ini juga disebut true negative rate (TNR). SP terbaik adalah 1, sedangkan
yang terburuk adalah 0.

𝑇𝑃 𝑇𝑃
𝑆𝑁 = =
𝑇𝑃 + 𝐹𝑁 𝑃
𝑇𝑁 𝑇𝑁
𝑆𝑃 = =
𝑇𝑁 + 𝐹𝑃 𝑁

Shergio Rizkyputra - 13419061 6


Ujian Akhir Semester: TI4141 – Analitika Data

BAB III
PENGOLAHAN DATA
3.1. Penjelasan Dataset
Dataset yang digunakan atau dikumpulkan bersumber dari website Kaggle dengan tautan
https://www.kaggle.com/datasets/fedesoriano/stroke-prediction-dataset. Dataset terpilih tersebut terdiri dari
responden yang heterogen karena berasal dari beberapa negara, tidak khusus berasal dari Indonesia. Maka, perlu
dilakukan analisis terhadap pemanfaatannya untuk stakeholder dan aktor lainnya pada penerapannya di sistem
layanan kesehatan Indonesia. Pada penelitian kali ini, para peneliti menggunakan dataset penyakit tidak menular
(PTM) stroke yang disediakan oleh World Health Organization (WHO) di mana setiap barisnya merupakan
informasi setiap pasien dengan setiap kolomnya berupa variabel-variabel sebagai berikut.

Tabel 4 Keterangan Variabel Dataset


VARIABEL DATASET

Variabel
Notasi Keterangan Satuan
Independen
Tanda pengenal unik sebagai identitas yang
id - -
membedakan data tiap barisnya.
Jenis kelamin (gender) dari pasien dengan tiga kategori
yaitu sebagai berikut Tanpa
gender 𝑋1  ‘Male’: gender berjenis laki-laki satuan/kategorikal
 ‘Female’: gender berjenis perempuan (multiplier)
 ‘Other’: gender untuk jenis kelamin lainnya.
age 𝑋2 Usia dari pasien. Year (tahun)
Status pasien yang memiliki riwayat hipertensi, di
Tanpa
mana nilai 0 menandakan pasien tidak memiliki
hypertension 𝑋3 satuan/kategorikal
hipertensi dan nilai 1 menandakan pasien memiliki
(multiplier)
hipertensi.
Status pasien memiliki riwayat penyakit jantung, di
Tanpa
mana nilai 0 menandakan pasien tidak memiliki
heart_disease 𝑋4 satuan/kategorikal
penyakit jantung dan nilai 1 menandakan pasien
(multiplier)
memiliki penyakit jantung.
Status pasien telah menikah atau belum dengan
Tanpa
kategori ‘No’ untuk menunjukkan pasien yang belum
ever_married 𝑋5 satuan/kategorikal
menikah dan kategori ‘Yes’ untuk menunjukkan pasien
(multiplier)
yang sudah menikah
Tipe pekerjaan pasien, di mana terdapat lima kategori
sebagai berikut.
 ‘Children’: menandakan pasien anak-anak
dan tidak bekerja
 ‘Govt_jov’: menandakan pasien pekerja di
Tanpa
sektor pemerintahan
work_type 𝑋6 satuan/kategorikal
 ‘Never_worked’: menandakan pasien tidak
(multiplier)
pernah bekerja
 ‘Private’: menandakan pasien pekerja di
sektor private
 ‘Self-employed’: menandakan pasien pekerja
sendiri dengan membuka usaha tertentu

Shergio Rizkyputra - 13419061 7


Ujian Akhir Semester: TI4141 – Analitika Data

Tipe tempat tinggal pasien dengan kategori ‘Rural’


Tanpa
yang menandakan tempat tinggal di daerah pedesaan
residence_type 𝑋7 satuan/kategorikal
dan kategori ‘Urban’ yang menandakan tempat tinggal
(multiplier)
di daerah perkotaan.

avg_glucose _level 𝑋8 Rata-rata kadar glukosa dalam darah pasien. Unit

bmi 𝑋9 Indeks massa tubuh (body mass index) pada pasien Unit
Status merokok pasien dengan tiga kategori sebagai
berikut.
 ‘Formerly smoke’: menandakan dahulu
Tanpa
merokok
smoking_status 𝑋10 satuan/kategorikal
 ‘Never smoke’: menandakan tidak pernah
(multiplier)
merokok
 ‘Smokes’: menandakan sedang merokok
 ‘Unknown’: menandakan data tidak tersedia.

Variabel Dependen Notasi Keterangan Satuan

Status pasien memiliki stroke, di mana nilai 0


Tanpa
menandakan pasien tidak memiliki gejala PTM stroke
stroke 𝑌 satuan/kategorikal
dan nilai 1 menandakan pasien memiliki gejala PTM
(multiplier)
stroke.

3.2. Pre-processing Data


Pre-processing data merupakan serangkaian proses yang dilakukan sebelum pengolahan data lebih
lanjut. Tahap ini dilakukan dengan tujuan untuk memastikan data telah bersih dari duplikasi data, kesalahan
input, serta missing value. Pada tahap ini, cukup dibutuhkan packages dplyr agar fungsi-fungsi berikut yang akan
digunakan dapat beroperasi. Secara spesifik, berikut adalah penjabaran transformasi dan pre-processing yang
dilakukan dalam mengolah data mentah yang digunakan dengan software RStudio.

1. Menghilangkan data yang terduplikasi (mengulang)


Tahap pertama yang perlu dilakukan adalah data diambil dari lokasi penyimpanan dengan
membuka dokumen dengan format “.csv” dataset penyakit tidak menular (PTM) stroke. Dataset
diberi nama dengan “dataset_stroke”. Selanjutnya, pada dataset dihilangkan data yang
terduplikasi dengan fungsi “distinct”.

dataset_stroke <- read.csv(file.choose())

dataset_stroke_unique <- distinct(dataset_stroke)

Gambar 10 Syntax R untuk Menghilangkan Data yang Terduplikasi

Berdasarkan hasil pengolahan dataset, diperoleh jumlah data yang sama antara kedua data (data
sebelum dan setelah diolah). Hal ini menunjukkan tidak ada data yang terduplikasi pada dataset
yang ada. Dengan demikian, pre-processing dapat dilanjutkan ke tahap berikutnya.

2. Mengganti jenis value (nilai) pada variabel yang keliru


Selanjutnya, dilakukan pengecekan jenis value dari data dengan fungsi “string” atau “str()”. Dari
dataset yang digunakan, dilakukan penggantian jenis value. Pada variabel “age” dan “bmi”, diubah
menjadi tipe numeric, sedangkan variabel “gender”, “ever_married”, “work_type”,
“smoking_status”, serta “Residence_type” menjadi tipe factor.

Shergio Rizkyputra - 13419061 8


Ujian Akhir Semester: TI4141 – Analitika Data

str(dataset_stroke_unique) dataset_stroke_unique$age <-

as.numeric(dataset_stroke_unique$age)

dataset_stroke_unique$bmi <-

as.numeric(dataset_stroke_unique$bmi)

dataset_stroke_unique$gender <-
as.factor(dataset_stroke_unique$gender)

dataset_stroke_unique$ever_married <-
as.factor(dataset_stroke_unique$ever_married)

dataset_stroke_unique$work_type <-
as.factor(dataset_stroke_unique$Residence_type)

dataset_stroke_unique$smoking_status <-
as.factor(dataset_stroke_unique$smoking_status)

dataset_stroke_unique$Residence_type <-
as.factor(dataset_stroke_unique$Residence_type)
str(dataset_stroke_unique)

Gambar 11 Syntax R untuk Mengganti Jenis Value pada Variabel yang Keliru

Setelah dilakukan penggantian jenis value, dilakukan pengecekan kembali tiap value yang ada.
Dapat diketahui hasil pengolahan data telah memiliki value yang tepat dan dilanjutkan ke tahap
pre-processing berikutnya. Berikut adalah hasil dari pengecekan value.

Shergio Rizkyputra - 13419061 9


Ujian Akhir Semester: TI4141 – Analitika Data

'data.frame': 4909 obs. of 12 variables:

$ id : int 9046 31112 60182 1665 56669


53882 10434 60491 12109 12095 ...

$ gender : Factor w/ 3 levels


"Female","Male",..: 2 2 1 1 2 2 1 1 1 1 ...

$ age : num 67 80 49 79 81 74 69 78

81 61 ... $ hypertension : int 0 0 0 1 0 1 0

0 1 0 ...

$ heart_disease : int 1 1 0 0 0 1 0 0 0 1 ...

$ ever_married : Factor w/ 2 levels "No","Yes": 2 2


2 2 2 2 1 2 2 2 ...

$ work_type : Factor w/ 2 levels "Rural","Urban":


2 1 2 1 2 1 2 2 1 1 ...

$ Residence_type : Factor w/ 2 levels "Rural","Urban":


2 1 2 1 2 1 2 2 1 1 ...

$ avg_glucose_level: num 229 106 171 174 186 ...

$ bmi : num 36.6 32.5 34.4 24 29 27.4 22.8


24.2 29.7 36.8 ...

$ smoking_status : Factor w/ 4 levels "formerly


smoked",..: 1 2 3 2 1 2 2 4 2 3 ...

$ stroke : int 1 1 1 1 1 1 1 1 1 1 ...

- attr(*, "na.action")= 'omit' Named int [1:201] 2 9 14


20 28 30 44 47 51 52 ...

..- attr(*, "names")= chr [1:201] "2" "9" "14" "20" ...
Gambar 12 Hasil Pengolahan Data Terkait Pergantian Jenis Value

3. Menghilangkan missing value


Setelah data dibersihkan dari kesalahan input, pada dataframe dicek terlebih dahulu apakah
terdapat missing value atau suatu cell pada data tidak diketahui jenis dan nilai datanya.
Pengecekan missing value menghasilkan fakta bahwa terdapat missing value pada data.
Kemudian, dicek berapa jumlah missing value yang ada pada data. Berikut adalah pengolahan
data yang dilakukan untuk menghilang missing value.

any(is.na(dataset_stroke_unique))

sum(is.na(dataset_stroke_unique))

Gambar 13 Syntax R untuk Menghilangkan Missing Value

Berikut merupakan hasil dari pengolahan dan pengecekan keberadaan missing value beserta
jumlahnya.
> any(is.na(dataset_stroke_unique))

[1] TRUE

> sum(is.na(dataset_stroke_unique))

[1] 201

Shergio Rizkyputra - 13419061 10


Ujian Akhir Semester: TI4141 – Analitika Data

Gambar 14 Hasil Pengolahan Data Terkait Penghilangan Missing Value

Selanjutnya, dengan membuat dataframe baru bernama dataset_stroke_clean, maka dihilangkan


missing value pada dataframe dengan fungsi “na.omit”. Setelah diketahui data telah bersih dari
faktor missing value, maka data telah siap digunakan. Untuk melakukan pembersihan data
terhadap missing value, berikut adalah pengolahan data yang dilakukan pada software RStudio.

dataset_stroke_clean <- na.omit(dataset_stroke_unique)

str(dataset_stroke_clean)
Gambar 15 Syntax R untuk Menghilangkan Missing Value pada Dataframe Baru

Shergio Rizkyputra - 13419061 11


Ujian Akhir Semester: TI4141 – Analitika Data

BAB IV
EKSPLORASI DAN ANALISIS DATA

4.1 Data Exploration


Data exploration atau eksplorasi data adalah tahap pertama yang dilakukan dalam analisis data. Tahap
ini diperlukan untuk memahami pola, karakteristik, dan juga beberapa insight (wawasan) yang dapat didapatkan
dari dataset yang dikaji. Berikut adalah beberapa visualisasi data yang dilakukan terkait permasalahan penyakit
tidak menular (PTM) stroke.

1. Distribusi kadar gula darah rata-rata pada pasien penderita PTM stroke

Gambar 16 Distribusi kadar gula darah rata-rata pada pasien penderita PTM stroke

Berdasarkan boxplot di atas, nilai tengah (median) persebaran kadar gula darah rata-rata
penderita PTM stroke lebih tinggi, yakni sekitar 120 bmi (body mass index), dibandingkan pada
non-penderita dengan nilai sekitar 75 bmi. Persebaran nilai interkuartil pada penderita PTM stroke
lebih luas dibandingkan non-penderita. Maka, dapat dikatakan bahwa seseorang yang memiliki
tingkat gula darah yang tinggi juga akan memiliki kemungkinan besar untuk menderita PTM stroke.

2. Distribusi usia pada pasien penderita PTM stroke

Gambar 17 Distribusi usia pada pasien penderita PTM stroke

Boxplot di atas menunjukkan bahwa penderita PTM stroke cenderung didominasi usia yang lebih
tua dibandingkan non-penderita. Hal ini ditandai oleh besar kuartil pertama dari persebaran data
penderita PTM stroke di angka 60 tahun. Selain itu, persebaran data penderita PTM stroke
cenderung lebih banyak di atas nilai mediannya (di atas 70 tahun). Dapat ditarik kesimpulan bahwa
PTM stroke umummya diderita oleh seseorang yang berusia lebih dari 60 tahun.

Shergio Rizkyputra - 13419061 12


Ujian Akhir Semester: TI4141 – Analitika Data

3. Jumlah penderita PTM stroke berdasarkan status pernikahannya

Gambar 18 Jumlah Penderita PTM Stroke Berdasarkan Status Pernikahannya

Berdasarkan bar chart di atas, dideskripsikan bahwa sebagian besar pasien yang terkena stroke
adalah pasien yang telah menikah. Rasio antara pengidap PTM stroke yang telah menikah dan
belum menikah adalah sekitar 1,88 kali lipat. Hal ini dapat dirasionalisasikan dengan beban mental
yang semakin meningkat selama dalam hubungan menikah karena meningkatnya kebutuhan
sehari-hari yang perlu dipenuhi.
4. Jumlah penderita PTM stroke berdasarkan jenis kelaminnya

Gambar 19 Jumlah penderita PTM stroke berdasarkan jenis kelaminnya


Berdasarkan bar chart di atas, dideskripsikan bahwa sebagian besar pasien yang terkena stroke
adalah pasien berjenis kelamin perempuan. Rasio antara pengidap PTM stroke berjenis kelamin
perempuan dan laki-laki adalah sekitar 1,44 kali lipat.

4.2 Analisis Data


Dalam menganalisis dataset yang dimiliki terkait penyakit tidak menular (PTM) stroke, peneliti
menggunakan task prediction yang merupakan bagian dari supervised learning. Model-model alternatif pada
task prediction sangat beragam, seperti neural networks, support vector machines, decision tree, binary logistic
regression, naïve bayes, random forest, dan lainnya. Model-model ini menggunakan data masa lalu dan
algoritma prediksi untuk membantu dalam menentukan probabilitas dari apa yang akan terjadi berikutnya.
Menurut (Gartner Newsroom, 2012), proses pengolahan data yang bersifat pencegahan lebih efektif
dibandingkan dengan perbaikan dari nilai outcomes. Namun, proses pengolahan data yang bersifat pencegahan
lebih sulit untuk dilakukan karena model yang dibuat harus cenderung bersifat optimisasi.

Shergio Rizkyputra - 13419061 13


Ujian Akhir Semester: TI4141 – Analitika Data

Gambar 20 Model Kematangan Analitika Data Gartner (Gartner, 2012)

Dalam menyelesaikan permasalahan terkait PTM stroke, peneliti menggunakan beberapa model
alternatif dalam task prediction, yaitu model decision tree, binary logistic regression (binomial logit), random
forest, dan Naïve Bayes. Setiap model akan dijabarkan langkah-langkah pembuatannya hingga ditampilkan tools
visualisasinya. Berikut adalah analisis data yang dilakukan pada setiap model alternatif yang merupakan bagain
dari task prediction.
4.2.1 Decision tree
Analisis data dengan decision tree dilakukan pada software RStudio. Sebelum melakukan
komputasi dengan tools decision tree, diperlukan beberapa packages yang harus di-install. Berikut
adalah langkah-langkah syntax untuk memanggil packages yang dibutuhkan. Pastikan seluruh packages
telah terpasang terlebih dahulu.
1. Mengunduh dan memanggil packages yang dibutuhkan
Pada tahap ini, peneliti mengunduh dan memanggil packages yang tersedia pada
software RStudio. Packages yang digunakan oleh peneliti adalah sebagai berikut.
a) dplyr: package untuk memanipulasi data
b) caTools: package untuk melakukan splitting data
c) caret: package untuk menyederhanakan (streamline) proses pada model training untuk
complex regression dan classification
d) rpart: package untuk membangun pohon (trees) model klasifikasi dan regresi
e) rpart.plot: package untuk mengombinasikan package rpart dengan teks yang akan
terdapat pada decision tree
f) e1707: package untuk merancang karakteristik pada genotypic
Berikut adalah syntax yang diperlukan untuk mengunduh dan memanggil pacakges pada
RStudio.
library(dplyr)
library(caTools)
library(caret)
library(rpart)
library(rpart.plot)
Library(e1707)

Gambar 21 Syntax R untuk Memanggil Packages yang Dibutuhkan

Shergio Rizkyputra - 13419061 14


Ujian Akhir Semester: TI4141 – Analitika Data

2. Melakukan splitting data


Pada tahap ini, dataset dibagi menjadi dua bagian yaitu training set dan testing set.
Training set merupakan data yang akan digunakan untuk mengembangkan model
decision tree. Lalu, testing set digunakan untuk menguji performansi model yang telah
dikembangkan. Pada penelitian ini, digunakan rule of thumb perbandingan 70:30 dalam
pembagian dataset ini. Data splitting dilakukan dengan menggunakan fungsi
‘createDataPartition’ yang berasal dari package caret. Berikut adalah syntax yang
diperlukan untuk melakukan splitting data pada RStudio.
set.seed(100)
split <- createDataPartition(dataset_stroke_clean$stroke,
p=0.7, list=FALSE) training_data_set <-
dataset_stroke_clean[split,] testing_data_set <-
dataset_stroke_clean[-split,]

Gambar 22 Syntax R untuk Melakukan Splitting Data

3. Membangun model decision tree


Selanjutnya, dengan menggunakan package bernama rpart, dibangun model decision
tree pada data training set. Model diberi nama stroke_tree, kemudian dipilih fungsi rpart
untuk membangun model dan dipilih metode “class” untuk melakukan klasifikasi data.
Berikut adalah syntax yang diperlukan untuk tahap pembangunan model decision tree
pada RStudio.

stroke_tree <- rpart(stroke ~.,


data = training_data_set, method = "class")
rpart.plot(stroke_tree)

Gambar 23 Syntax R untuk Membangun Model Decision tree

Berdasarkan komputasi di atas, package bernama rpart.plot akan menghasilkan


keluaran berupa model decision tree. Berikut adalah decision tree yang diperoleh dalam
pengolahan data ini.

Gambar 24 Model Decision tree

Shergio Rizkyputra - 13419061 15


Ujian Akhir Semester: TI4141 – Analitika Data

4.2.2 Binary Logistic Regression


Analisis data menggunakan tools binary logistic regression dilakukan dengan software RStudio.
Tools binary logistic regression ini digunakan untuk membangun suatu model prediksi apakah seorang
akan terkena penyakit tidak menular (PTM) stroke atau tidak berdasarkan faktor – faktor yang tertera
pada Tabel 4 Keterangan Variabel Dataset. Berikut adalah langkah – langkah dalam melakukan analisis
binary logistic regression.
1. Mengunduh dan memanggil packages yang dibutuhkan
Beberapa package diperlukan agar pengolahan data ini dapat dijalankan. Packcages yang digunakan
oleh peneliti adalah sebagai berikut.
a) amelia: package untuk menyelesaikan permasalahan missing value
b) dplyr: package untuk memanipulasi data
c) modeest: package untuk menyediakan estimator dari data atau distribusi univariat
d) ggplot2: package untuk menvisualisasikan data, khususnya grafik berkaitan dengan binary logistic
regression.
e) cowplot: package untuk menyediakan berbagai fitur yang membantu visualisasi data dengan package
ggplot2
f) mice:package untuk imputasi multivariate dengan chained equations
g) caTools: package untuk melakukan splitting data
h) caret: package untuk menyederhanakan (streamline) proses pada model training untuk complex
regression dan classification
Berikut adalah syntax pada RStudio yang diperlukan untuk mangaktifkan packages tersebut.
library(Amelia)
library(dplyr)
library(modeest)
library(ggplot2)
library(cowplot)
library(mice)
library(caTools)
library(caret)

Gambar 25 Syntax R untuk Mengunduh dan Memanggil Packages yang Dibutuhkan

2. Pengembangan model prediksi


Langkah pertama adalah memecah dataset menjadi dua bagian, yakni training set dan testing set
dengan rasio 70:30 secara random. Kemudian, akan dilakukan pembentukkan model regresi
menggunakan data training set. Beriku adalah syntax untuk pengembangan model binary logistic
regression pada R.

set.seed(42)

sample_split <- sample.split(Y = dataset_stroke_clean$stroke, SplitRatio


= 0.7)
train_set <- subset(x = dataset_stroke_clean, sample_split == TRUE)
test_set <- subset(x = dataset_stroke, sample_split == FALSE)

logistic <- glm(stroke ~ ., data = train_set, family = "binomial")


summary(logistic)

Gambar 26 Syntax R untuk Pengembangan Model Binary Logistic Regression


Berdasarkan syntax di atas, berikut adalah keluaran yang dihasilkan.

Shergio Rizkyputra - 13419061 16


Ujian Akhir Semester: TI4141 – Analitika Data

Deviance Residuals:
Min 1Q Median 3Q Max
-1.1711 -0.3002 -0.1577 -0.0769 3.2345

Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.029e+01 4.981e+02 -0.041 0.96750
id 1.257e-06 4.221e-06 0.298 0.76584
genderMale 6.705e-03 1.837e-01 0.036 0.97089
age 7.347e-02 7.472e-03 9.833 < 2e-16***
hypertension 5.642e-01 2.082e-01 2.710 0.00674 **
heart_disease 1.780e-01 2.581e-01 0.690 0.49037
ever_marriedYes -8.147e-02 2.975e-01 -0.274 0.78417
work_typeGovt_job 1.262e+01 4.981e+02 0.025 0.97978
work_typeNever_worked -6.253e-01 2.575e+03 0.000 0.99981
work_typePrivate 1.284e+01 4.981e+02 0.026 0.97943
work_typeSelf-employed 1.223e+01 4.981e+02 0.025 0.98041
Residence_typeUrban -1.208e-01 1.790e-01 -0.674 0.50000
avg_glucose_level 3.537e-03 1.579e-03 2.239 0.02513 *
bmi -6.957e-03 1.438e-02 -0.484 0.62861
smoking_statusnever smoked -4.796e-02 2.316e-01 -0.207 0.83597
smoking_statussmokes 4.813e-01 2.715e-01 1.772 0.04634 *
smoking_statusUnknown 1.472e-02 2.829e-01 0.052 0.95851 -
--
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1207.98 on 3435 degrees of freedom
Residual deviance: 956.94 on 3419 degrees of freedom
AIC: 990.94

Gambar 27 Hasil Pengolahan Data dalam Pengembangan Model Binary Logistic Regression

Berdasarkan hasil tersebut, langkah selanjutnya adalah menentukan P-value penelitian. Berikut adalah
hipotesis yang digunakan dengan P-value sebesar 0,05.

𝑯𝟎 : 𝐹𝑎𝑘𝑡𝑜𝑟 𝑡𝑖𝑑𝑎𝑘 𝑠𝑖𝑔𝑛𝑖𝑓𝑖𝑘𝑎𝑛


𝑯𝟏 : 𝐹𝑎𝑘𝑡𝑜𝑟 𝑠𝑖𝑔𝑛𝑖𝑓𝑖𝑘𝑎𝑛

Berdasarkan perhitungan yang dihasilkan dari pengolahan data pada RStudio, faktor-faktor dengan nilai
lebih kecil dari 0,05 adalah sebagai berikut beserta kesimpulannya terkait faktor yang mempengaruhio
seseorang terkena stroke.

Tabel 5 Faktor yang Signifikan dan Tidak Signifikan pada Pengembangan Model Binary Logistic
Regression
Faktor Signifikan Faktor Tidak Signifikan
P-value Faktor < P-value Penelitian P-value Faktor < P-value Penelitian
 Age (usia)  Gender (jenis kelamin)
 Hypertension (hipertensi)  Heart-disease (riwayat gangguan jantung)
 Avg_glucose_level (tingkat gula  Worktype (tipe pekerjaan)
darah)  Residence_type (tipe area tempat tinggal)
 Smoking_status (status merokok)  Bmi (indeks massa tubuh)
Kesimpulan: Faktor usia, hipertensi, tingkat gula darah, dan status merokok signifikan sehingga
diduga bahwa mempengaruhi sesorang terkena penyakit tidak menular (PTM) stroke.

Shergio Rizkyputra - 13419061 17


Ujian Akhir Semester: TI4141 – Analitika Data

4.2.3 Random forest


Pada penelitian kali ini, akan dilakukan prediksi penyakit stroke dengan menggunakan metode
random forest dan menggunakan software RStudio untuk melakukan komputasi beberapa syntax.
Sebelum melakukan langkah komputasi untuk metode random forest, perlu dilakukan instalasi
beberapa package pada RStudio yaitu dplyr, tidyverse, corrplot, caret, randomForest, ROSE, stats,
datasets, prediction, dan performance. Berikut merupakan syntax R untuk menginstalasi dan memanggil
beberapa package tersebut yang akan digunakan.

library(dplyr)
library(tidyverse) library(corrplot)
library(caret)
install.packages("randomForest")
library(randomForest)
install.packages("ROSE")
library(ROSE)
library("stats")
library("datasets")
install.packages("prediction")
library("prediction")
install.packages("performance")
library("performance")
Gambar 28 Syntax R untuk Mengunduh dan Memanggil Package pada Model Random forest

Setelah didapatkan dataset yang telah melalui tahap pre-processing, maka akan dilakukan
perubahan tipe data variabel ‘gender’, ‘ever_married’, ‘work_type’, ‘Residence_type’, dan
‘smoking_status’, menjadi factor. Lalu, akan dilakukan perubahan tipe data untuk variabel ‘bmi’ dan
‘age’ menjadi numeric dengan syntax pada RStudio sebagai berikut.

dataset_stoke_clean$gender <- as.factor(dataset_stoke_clean$gender)


dataset_stoke_clean$ever_married <-
as.factor(dataset_stoke_clean$ever_married)
dataset_stoke_clean$work_type <-
as.factor(dataset_stoke_clean$work_type)
dataset_stoke_clean$Residence_type <-
as.factor(dataset_stoke_clean$Residence_type)
dataset_stoke_clean$smoking_status <-
as.factor(dataset_stoke_clean$smoking_status)
dataset_stoke_clean$stroke <- factor(dataset_stoke_clean$stroke, levels
=
c(0,1), labels = c("No","Yes"))
dataset_stoke_clean$heart_disease <-
factor(dataset_stoke_clean$heart_disease, levels = c(0,1), labels =
c("No",
"Yes"))
dataset_stoke_clean$hypertension
<-
factor(dataset_stoke_clean$hypertension, levels = c(0,1), labels =
c("No",
"Yes")) dataset_stoke_clean$bmi <-
as.numeric(dataset_stoke_clean$bmi) dataset_stoke_clean$age
<- as.numeric(dataset_stoke_clean$age)

str(dataset_stoke_clean
)
Gambar 29 Syntax R untuk Mengubah Tipe Variabel Data pada Random forest

Berikut adalah hasil dari syntax R dari perubahan tipe data variabel yang ingin diubah.
Shergio Rizkyputra - 13419061 18
Ujian Akhir Semester: TI4141 – Analitika Data

'data.frame': 4909 obs. of 12 variables:


$ id : int 9046 31112 60182 1665 56669 53882 10434 60491
12109 12095 ...
$ gender : Factor w/ 3 levels "Female","Male",..: 2 2 1 1 2 2 1
1 1 1 ...
$ age : num 67 80 49 79 81 74 69 78 81 61 ...
$ hypertension : Factor w/ 2 levels "No","Yes": 1 1 1 2 1 2 1 1 2 1
...
$ heart_disease : Factor w/ 2 levels "No","Yes": 2 2 1 1 1 2 1 1 1 2
...
$ ever_married : Factor w/ 2 levels "No","Yes": 2 2 2 2 2 2 1 2 2 2
...
$ work_type : Factor w/ 5 levels "children","Govt_job",..: 4 4 4 5
4 4 4 4 4 2 ...
$ Residence_type : Factor w/ 2 levels "Rural","Urban": 2 1 2 1 2 1 2 2 1
1 ...
$ avg_glucose_level: num 229 106 171 174 186 ...
$ bmi : num 36.6 32.5 34.4 24 29 27.4 22.8 24.2 29.7 36.8
...
$ smoking_status : Factor w/ 4 levels "formerly smoked",..: 1 2 3 2 1 2
2 4 2 3 ...
$ stroke : Factor w/ 2 levels "No","Yes": 2 2 2 2 2 2 2 2 2 2
...
- attr(*, "na.action")= 'omit' Named int [1:201] 2 9 14 20 28 30 44 47 51
52 ...
..- attr(*, "names")= chr [1:201] "2" "9" "14" "20" ...)

Gambar 30 Hasil Pengolahan Data Terkait Penggantian Tipe Data Variabel

Langkah selanjutnya adalah dilakukannya visualisasi data dengan membuat histogram dari
variabel dengan tipe numeric, yaitu ‘age’, ‘avg_glucose_level’ dan’bmi’ dengan syntax pada RStudio
sebagai berikut.
numvars <-
c('age','avg_glucose_level','bmi') for (i
in numvars){ g <-
dataset_stoke_clean%>%ggplot(aes_string(x
= i))+geom_histogram(color = 'black',fill
= 'hotpink',binwidth = 3
)+labs(title = i,y = 'frequency')
plot(g)
}
Gambar 31 Syntax R untuk Visualisasi Histogram

Berikut merupakan hasil dari syntax R untuk pembuatan tools visualisasi histogram variabel
‘age’, ‘avg_glucose_level’ dan’bmi’.

Shergio Rizkyputra - 13419061 19


Ujian Akhir Semester: TI4141 – Analitika Data

Gambar 32 Histogram Distribusi Variabel ‘Age’

Gambar 33 Histogram Distribusi Variabel ‘bmi’

Gambar 34 Histogram Distribusi Variabel ‘avg_glucose_level’

Langkah selanjutnya adalah pembuatan grafik proporsi dari pasien yang mengalami penyakit
tidak menular (PTM) stroke dan tidak mengalami PTM stroke dengan syntax pada R sebagai berikut.

Shergio Rizkyputra - 13419061 20


Ujian Akhir Semester: TI4141 – Analitika Data

dataset_stoke_clean%>%
ggplot(aes(x = stroke))+geom_bar(fill =
'hotpink')+labs(x = 'Mengalami Stroke?', y = 'Jumlah')

#Proporsi stroke
dataset_stoke_clean%>%
group_by(stroke)%>%count(stroke)

Gambar 35 Syntax R untuk Visualisasi Histogram Proporsi Pengidap PTM Stroke atau Tidak Stroke

Berikut merupakan hasil dari syntax sebelumnya untuk grafik proporsi dari pasien yang
mengalami PTM stroke atau tidak.

Gambar 36 Proporsi Pasien Mengalami PTM Stroke atau Tidak Mengalami Stroke

Dari komputasi yang dilakukan dengan syntax tersebut, diketahui bahwa terdapat 209 pasien
mengalami PTM stroke dan 4700 pasien tidak mengalami PTM stroke. Lalu, untuk melakukan prediksi,
akan dilakukan partisi data untuk data training dan data testing dengan syntax pada RStudio sebagai
berikut.
set.seed(7)
sample_index
<-
sample(nrow(dataset_stoke_clean),nrow(dataset_stoke_clea
n)*0.8)
data_train <- dataset_stoke_clean[sample_index,]
data_test <- dataset_stoke_clean[-sample_index,]
Gambar 37 Syntax R untuk Mempartisi Dataset

Lalu, dilakukan pembuatan model random forest pertama dengan syntax sebagai berikut.

forest1 <- randomForest(stroke~.-id,data = data_train,ntree = 1000,mtry =


5) forest1

Gambar 38 Syntax R untuk Pembuatan Model Random forest Pertama

Pembuatan model random forest akan dilakukan menjadi beberapa model untuk memprediksi
pasien memiliki PTM stroke. Langkag-langkah pembuatan setiap model tersebut akan dijabarkan pada
bagian evaluasi model pada bagian selanjutnya. Setelah itu, dilakukan pembentukan dan modifikasi
vector dari prediksi, sehingga akan dihasilkan distribusi dari prediksi dengan syntax pada R sebagai
berikut.

Shergio Rizkyputra - 13419061 21


Ujian Akhir Semester: TI4141 – Analitika Data

#Creating and modifying a vector of predictions


predictions <-predict(forest3,newdata = data_test,type = 'prob')

predictions <- predictions[,2]

Gambar 39 Syntax R untuk Memodifikasi Vektor dari Prediksi

Berikut merupakan hasil dari syntax untuk pembentukan distribusi dari prediksi.

Gambar 40 Hasil Pengolahan Data Berupa Distribusi dari Prediksi

Langkah terakhir merupakan pembentukan grafik variabel importance untuk mengetahui


variabel yang paling tepat dalam memprediksi pasien dengan gejala PTM stroke dengan syntax pada R
sebagai berikut.
varImp2 <-
varImp(forest3)

varImp2$labels <- factor(rownames(varImp2))


varImp2$labels <- reorder(varImp2$labels, varImp2$Overall)

varImp2<-varImp2%>%arrange(-
Overall)

varImp2%
>%
ggplot(aes(x=labels,y=Overall)) +
geom_bar(position="dodge",stat="identity",width = 0, color = "black")
+ coord_flip() + geom_point(color='hotpink') + xlab(" Importance
Score")+ ggtitle("Variable Importance") +
theme(plot.title = element_text(hjust = 0.5)) +
theme(panel.background = element_rect(fill = 'white', colour =
'black'))

Gambar 41 Syntax R untuk Membentuk Grafik Variabel Importance

Berikut merupakan hasil dari syntax pada RStudio untuk pembentukan grafik variabel
importance. Didapatkan tiga variabel utama yang memiliki kepentingan tertinggi dalam memprediksi
pasien yang memiliki gejala penyakit stroke adalah ‘age’, ‘avg_glucose_level’ dan ‘bmi’.

Shergio Rizkyputra - 13419061 22


Ujian Akhir Semester: TI4141 – Analitika Data

Gambar 42 Grafik Variable Importance Model Random forest

4.2.4 Naive–Bayes
Analisis data menggunakan tools Naïve Bayes dilakukan dengan software RStudio. Tools ini
digunakan untuk membangun suatu model prediksi apakah seorang akan terkena penyakit tidak
menular (PTM) stroke atau tidak berdasarkan hasil perkalian perbandingan dengan faktor-faktor yang
merupakan variabel independent pada dataset. Variabel ini diasumsikan tidak berkorelasi antara satu
dengan lainnya. Berikut adalah langkah – langkah dalam melakukan analisis dengan Naïve Bayes.

1. Mengunduh dan memanggil packages yang dibutuhkan


Beberapa package diperlukan agar pengolahan data ini dapat dijalankan. Packcage tersebut
adalah sebagai berikut.
a) dplyr: package untuk memanipulasi data
b) caTools: package untuk melakukan splitting data
c) caret: package untuk menyederhanakan (streamline) proses pada model training
untuk complex regression dan classification
Berikut adalah syntax pada R untuk mangaktifkan package tersebut.

library(dplyr)
library(e1071)
library(caTools)
library(caret)
Gambar 43 Syntax R untuk Mengunduh dan Memanggil Packages pada Model Naïve Bayes

2. Pengembangan model prediksi


Langkah pertama adalah memecah dataset menjadi dua bagian, yakni training set dan testing
set dengan rasio 80:20 secara random. Kemudian, akan dilakukan pembentukkan model
classifier menggunakan data training set. Keluaran dari pengolahan data ini adalah dataset
training dan testing. Berikut merupakan syntax pada RStudio untuk mengembangkan model
prediksi dengan Naïve Bayes..

set.seed(100)
split = sample.split(dataset_stroke_clean, SplitRatio =
0.8) training_set = subset(dataset_stroke_clean, split ==
TRUE) testing_set = subset(dataset_stroke_clean, split ==
FALSE)
Gambar 44 Syntax R untuk Pengembangan Model Prediksi dengan Naïve Bayes
Shergio Rizkyputra - 13419061 23
Ujian Akhir Semester: TI4141 – Analitika Data

BAB V
EVALUASI MODEL

5.1 Evaluasi Model Decision tree


Setelah terbentuknya model decision tree pada bagian sebelumnya, dibuat evaluasi model dengan
membuat confusion matrix. Berikut adalah tahapan untuk memperoleh Confusion Matrix dan diakhiri dengan
penghitungan accuracy. Pertama, dibuat prediksi dengan fungsi predict dari data yang akan diuji. Kemudian,
dibuat hasil prediksi dalam bentuk keterangan “Yes” & “No” dengan fungsi ifelse, dan menentukan batas bawah
probabilitas hasil positif.

prob_pred <- predict(stroke_tree, testing_data_set)


tree_pred <- ifelse(prob_pred[,2]>0.01929704, "Yes", "No")
Matrix <- table(Predicted = tree_pred, Actual=testing_data_set$stroke)
Matrix

Accuracy <- sum(diag(Matrix))/sum(Matrix) Accuracy

Gambar 45 Syntax R untuk Memperolah Confusion Matrix Model Decision tree

Selanjutnya, dibuat matriks dengan membuat table pada code dan membandingkan hasil prediksi pada
tree_pred dengan data aktual, yaitu kolom stroke pada dataframe testing_data_set. Kemudian, barulah
dievaluasi akurasi dengan membagi jumlah diagonal matriks dengan keseluruhan angka pada matriks. Selain itu,
dilakukan pula pengukuran pada aspek lainnya yaitu sebagai berikut.

Tabel 6 Confusion Matrix untuk Model Decision tree

Actual
1 0
Yes 41 215
Predicted
No 28 1188

Tabel 7 Evaluasi Model Decision tree

Evaluasi Hasil Evaluasi


Accuracy 0,83492
Sensitivity 0,125
Specificity 0,84675
Detection Rate 0,02785
Precision 0,16015

5.2 Evaluasi Model Binary Logistic Regression


Cara yang paling umum dalam melakukan evaluasi model adalah dengan membuat confusion matrix.
Berikut adalah hasil perhitungan Confusion Matrix untuk model binary logistic regression.

Reference
Prediction 0 1
0 1409 63
1 0 0
Accuracy : 0.9572
95% CI : (0.9456, 0.967)
No Information Rate : 0.9572
P-Value [Acc > NIR] : 0.5334

Shergio Rizkyputra - 13419061 24


Ujian Akhir Semester: TI4141 – Analitika Data

Kappa : 0

Mcnemar's Test P-Value : 5.662e-15

Sensitivity : 0.0000
Specificity : 1.0000
Pos Pred Value : NaN
Neg Pred Value : 0.9572
Prevalence : 0.0428
Detection Rate : 0.0000
Detection Prevalence : 0.0000
Balanced Accuracy : 0.5000

'Positive' Class : 1

Gambar 46 Evaluasi Model Binary Logistic Regression

5.3 Evaluasi Model Random forest


Setelah membuat model random forest pertama, perlu dilakukan estimasi error untuk model terkait.
Berikut merupakan hasil dari syntax untuk model random forest pertama dan dihasilkan OOB (Out-of-Bag)
estimate of error rate sebesar 4,15% dan Confusion Matrix sebagai berikut.

Call:
randomForest(formula = stroke ~ . - id, data = data_train, ntree = 1000,
mtry = 5)
Type of random forest: classification
Number of trees: 1000
No. of variables tried at each split: 5
OOB estimate of error rate: 4.15%
Confusion matrix:
No Yes class.error
No 3762 7 0.001857257
Yes 156 2 0.987341772

Gambar 47 Confusion Matrix Model Random forest Pertama

Lalu, akan dilakukan pencarian jumlah variabel optimal yang akan digunakan pada model random forest
penelitian kali ini dengan melakukan plotting error values menggunakan syntax sebagai berikut.

errorvalues <- vector() for (i


in 3:10){
temprf <- randomForest(stroke~.-id,data = data_train,ntree = 1000,mtry = i)
errorvalues[i] <- temprf$err.rate[nrow(temprf$err.rate),1]
}
plot(errorvalues)

Gambar 48 Syntax R untuk Melakukan Plotting Error Values Model Random forest Pertama

Berikut merupakan hasil dari syntax untuk pencarian jumlah variabel optimal yang akan digunakan
dengan melakukan plotting error values. Dari grafik yang terbentuk, didapatkan error values terendah adalah
ketika penggunaan variabel sebanyak tiga variabel independen.

Shergio Rizkyputra - 13419061 25


Ujian Akhir Semester: TI4141 – Analitika Data

Gambar 49 Plotting Error Values

Setelah didapatkan penggunaan variabel sebanyak tiga variabel independen, maka akan dilakukan
pembuatan model random forest kedua dengan syntax sebagai berikut.

forest2 <- randomForest(stroke~.-id,data = data_train,ntree = 1000,mtry =


3) forest2

Gambar 50 Syntax R untuk Pembuatan Model Random forest Kedua

Berikut merupakan hasil dari syntax untuk model random forest kedua dan dihasilkan OOB estimate of
error rate sebesar 4,10% dan Confusion Matrix sebagai berikut.
Call:
randomForest(formula = stroke ~ . - id, data = data_train, ntree = 1000,
mtry = 3)
Type of random forest: classification
Number of trees: 1000
No. of variables tried at each split: 3
OOB estimate of error rate: 4.1%
Confusion matrix:
No Yes class.error
No 3766 3 0.0007959671
Yes 158 0 1.0000000000

Gambar 51 Confusion Matrix Model Random forest Kedua

Langkah selanjutnya dapat dilakukan pembentukkan plotting error rate dengan jumlah decision tree yang
terbentuk pada model random forest kedua menggunakan syntax sebagai berikut.
errorrate <- data.frame(
Trees = rep(1:nrow(forest2$err.rate)),
Error = forest2$err.rate[,'OOB'] )
errorrate%>%
ggplot(aes(x = Trees, y =
Error))+geom_line(color = 'hotpink',)
Gambar 52 Syntax R untuk Melakukan Plotting Error Values Model Random forest Kedua

Berikut merupakan hasil dari syntax untuk plotting error rate dengan jumlah decision tree yang
terbentuk pada model random forest kedua.
Shergio Rizkyputra - 13419061 26
Ujian Akhir Semester: TI4141 – Analitika Data

Gambar 53 Plotting Error Values Model Random forest Kedua

Selanjutnya dengan menggunakan dataframe error rate, akan dilakukan pencarian jumlah decision tree
yang memiliki OOB error terendah dan memberikan garis vertikal sebagai penanda dengan menggunakan
syntax sebagai berikut.

minerrorpoints <- errorrate$Tree[errorrate$Error == min(errorrate$Error)]

minerrorpoints
errorrate%>%
ggplot(aes(x = Trees, y = Error))+geom_line(color =
'hotpink')+geom_vline(xintercept = minerrorpoints[1])

Gambar 54 Syntax R untuk Pencarian Jumlah Decision tree dengan OOB Error Terendah

Berikut merupakan hasil dari syntax untuk pencarian jumlah decision tree yang memiliki OOB error
terendah.

Gambar 55 Grafik yang Menunjukkan Jumlah Decision tree dengan OOB Error Terendah

> minerrorpoints <- errorrate$Tree[errorrate$Error == min(errorrate$Error)]


> minerrorpoints
[1] 73 74 82 133 138 226

Shergio Rizkyputra - 13419061 27


Ujian Akhir Semester: TI4141 – Analitika Data

Setelah itu, akan dilakukan pembuatan model random forest ketiga dengan menggunakan jumlah
decision tree pada langkah sebelumnya. Berikut merupakan syntax untuk pembuatan model random forest
ketiga.

forest3 <- randomForest(stroke~.-id,data = data_train,ntree =


minerrorpoints[1],mtry = 3) forest3

Gambar 56 Syntax R untuk Melakukan Plotting Error Values Model Random forest Ketiga

Berikut merupakan hasil dari syntax pembuatan model random forest ketiga dan dihasilkan OOB
estimate of error rate sebesar 4.07% dan Confusion Matrix sebagai berikut
Call:
randomForest(formula = stroke ~ . - id, data = data_train, ntree =
minerrorpoints[1], mtry = 3)
Type of random forest: classification
Number of trees: 73
No. of variables tried at each split: 3
OOB estimate of error rate: 4.07%
Confusion matrix:
No Yes class.error
No 3765 4 0.001061289
Yes 156 2 0.987341772

Gambar 57 Confusion Matrix Model Random forest Ketiga

Setelah itu, akan dibentuk histogram dari matriks prediksi dengan menggunakan syntax sebagai berikut.

#Pembentukan matriks prediksi


predictions <-predict(forest3,newdata = data_test,type = 'prob')

predictions <- predictions[,2]

histogram(predictions)
Gambar 58 Syntax R untuk Membentuk Histogram dari Matriks Prediksi

Berikut merupakan hasil dari syntax untuk histogram dari matriks prediksi.

Gambar 59 Matriks Prediksi Model Random forest


Shergio Rizkyputra - 13419061 28
Ujian Akhir Semester: TI4141 – Analitika Data

Langkah berikutnya adalah pembentukan Confusion Matrix dengan menggunakan matriks prediksi yang
telah dikomputasi pada langkah sebelumnya. Berikut merupakan syntax dari pembentukan confusion matrix.

#Pembentukan confusion matrix


g <- predict(forest3, newdata = data_test[,-12])
cf <- confusionMatrix(data_test$stroke,g)
cf

Gambar 60 Syntax R untuk Pembentukan Confusion Matrix Model Random forest

Berikut merupakan hasil dari syntax pembentukan Confusion Matrix dan didapatkan nilai akurasi
0,9481, tetapi nilai untuk specificity tidak diketahui dikarenakan tidak memiliki real predictive power untuk
memprediksi pasien memiliki stroke atau tidak. Maka, diperlukan langkah selanjutnya yaitu tahap oversampling
yang akan dijabarkan pada bagian berikut.

Confusion Matrix and Statistics

Reference
Prediction No Yes
No 931 0
Yes 51 0

Accuracy : 0.9481
95% CI : (0.9323, 0.9611)
No Information Rate : 1
P-Value [Acc > NIR] : 1

Kappa : 0

Mcnemar's Test P-Value : 2.534e-12

Sensitivity : 0.9481
Specificity : NA
Pos Pred Value : NA
Neg Pred Value : NA
Prevalence : 1.0000
Detection Rate : 0.9481
Detection Prevalence : 0.9481
Balanced Accuracy : NA

'Positive' Class : No
Gambar 61 Evaluasi Model Random forest

data2 <- ovun.sample(stroke~.,data = dataset_stoke_clean, method = 'over',p =


0.3)$data

Gambar 62 Syntax R untuk Menentukan Oversampling pada Dataset

Berikut merupakan hasil dari syntax untuk oversampling data.


No Yes
4700 2050
Gambar 63 Hasil Pengolahan Data Terkait Oversampling Data
Shergio Rizkyputra - 13419061 29
Ujian Akhir Semester: TI4141 – Analitika Data

Setelah mendapatkan oversampling data, maka akan dilakukan partisi oversampling data menjadi data
training dan data testing, lalu dibentuk model random forest pertama dengan oversampling data dengan syntax
sebagai berikut.

sample_index <- sample(nrow(data2),nrow(data2)*0.8)


data_train2 <- data2[sample_index,] data_test2 <-
data2[-sample_index,]

#Creating a new RF with the oversampled data


forest1 <- randomForest(stroke~.-id,data = data_train2,ntree = 2000,mtry =
5) forest1

Gambar 64 Syntax R untuk Membentuk Model Random forest dengan Oversampling Data

Berikut merupakan hasil dari syntax untuk random forest pertama dengan oversampling data dan
didapatkan OOB estimate of error rate sebesar 1.11% dan Confusion Matrix sebagai berikut.
Call:
randomForest(formula = stroke ~ . - id, data = data_train2, ntree = 2000,
mtry = 5)
Type of random forest: classification
Number of trees: 2000
No. of variables tried at each split: 5
OOB estimate of error rate: 1.11%
Confusion matrix:
No Yes class.error
No 3659 60 0.01613337
Yes 0 1681 0.00000000

Gambar 65 Hasil Pengolahan Data berupa Model Random forest dengan Oversampling Data

Selanjutnya, akan dilakukan iterasi jumlah variabel optimal pada model random forest pertama dan
dibentuk plot untuk melihat error values terendah dengan syntax sebagai berikut.

errorvalues <- vector() for (i in 3:10){


temprf <- randomForest(stroke~.-id,data = data_train2,ntree = 2000,mtry
= i) errorvalues[i] <- temprf$err.rate[nrow(temprf$err.rate),1]
}
plot(errorvalues)

Gambar 66 Syntax R untuk Membentuk Plot dengan Error Values Terendah pada Model Random
forest Pertama

Berikut merupakan hasil dari syntax untuk melihat jumlah variabel optimal pada model random forest
pertama. Didapatkan jumlah variabel paling optimal adalah lima variabel independen, karena pada index
dengan nilai 5 memiliki error values paling rendah.

Shergio Rizkyputra - 13419061 30


Ujian Akhir Semester: TI4141 – Analitika Data

Gambar 67 Jumlah Variabel Optimal pada Model Random forest Pertama

Setelah diketahui jumlah variabel optimal yang dapat digunakan, maka akan dilakukan pembentukan
model random forest kedua dengan syntax sebagai berikut.

forest2 <- randomForest(stroke~.-id,data = data_train2,ntree = 2000,mtry =


5) forest2

Gambar 68 Syntax R untuk Pemebntukan Model Random forest dengan Jumlah Variabel Optimal

Berikut merupakan hasil dari syntax untuk pembentukan model random forest kedua. Didapatkan nilai
OOB estimate of error rate sebesar 1,06% dan Confusion Matrix sebagai berikut.
Call:
randomForest(formula = stroke ~ . - id, data = data_train2, ntree = 2000,
mtry = 4)
Type of random forest: classification
Number of trees: 2000
No. of variables tried at each split: 5
OOB estimate of error rate: 1.06%
Confusion matrix:
No Yes class.error
No 3662 57 0.0153267
Yes 0 1681 0.0000000

Gambar 69 Confusion Matrix Model Random forest Kedua dengan Jumlah Variabel Optimal

Setelah itu, akan dilakukan pencarian dan plotting jumlah decision tree yang optimal pada model random
forest kedua dengan syntax sebagai berikut.

Shergio Rizkyputra - 13419061 31


Ujian Akhir Semester: TI4141 – Analitika Data

<- data.frame(
Trees = rep(1:nrow(forest2$err.rate)),
Error = forest2$err.rate[,'OOB']
)
minerrorpoints <- errorrate$Trees[errorrate$Error == min(errorrate$Error)]

minerrorpoints

errorrate%>%
ggplot(aes(x = Trees, y = Error))+geom_line(color
= 'hotpink')+geom_vline(xintercept = minerrorpoints[1])

Gambar 70 Syntax R untuk Pencarian Jumlah Decision tree Optimal pada Model Random forest
Kedua

Berikut merupakan hasil dari syntax dari plotting jumlah decision tree yang optimal pada model random
forest kedua.

Gambar 71 Grafik yang Menunjukkan Jumlah Decision tree dengan OOB Error Terendah pada Model
Random Foresr Kedua

> minerrorpoints <- errorrate$Trees[errorrate$Error ==


min(errorrate$Error)]
> minerrorpoints
[1] 203 206 207 211 218 221

Selanjutnya, akan dibentuk model random forest ketiga dengan menggunakan jumlah decision tree
optimal dan jumlah variabel optimal dengan syntax sebagai berikut.

forest3 <- randomForest(stroke~.-id,data = data_train2,ntree =


minerrorpoints[1],mtry = 5) forest3

Gambar 72 Syntax R untuk Pemebntukan Model Random forest Ketiga dengan Jumlah Variabel
Optimal

Shergio Rizkyputra - 13419061 32


Ujian Akhir Semester: TI4141 – Analitika Data

Berikut merupakan hasil dari syntax untuk pembentukan model random forest ketiga dengan
menggunakan jumlah decision tree optimal dan jumlah variabel optimal. Didapatkan nilai OOB estimate of error
sebesar 1.22% dan Confusion Matrix sebagai berikut.
Call:
randomForest(formula = stroke ~ . - id, data = data_train2, ntree =
minerrorpoints[1], mtry = 5)
Type of random forest: classification
Number of trees: 203
No. of variables tried at each split: 5
OOB estimate of error rate: 1.22%
Confusion matrix:
No Yes class.error
No 3653 66 0.01774671
Yes 0 1681 0.00000000

Gambar 73 Confusion Matrix Model Random forest Ketiga dengan Jumlah Variabel Optimal

Setelah memiliki model random forest ketiga, maka akan dibentuk Confusion Matrix untuk memprediksi
pasien memiliki penyakit stroke dengan syntax sebagai berikut.

g <- predict(forest3, newdata = data_test[,-12])


cf <- confusionMatrix(data_test$stroke,g)
cf

Gambar 74 Confusion Matrix untuk Model Random forest Ketiga

Berikut merupakan hasil dari syntax untuk Confusion Matrix dari model random forest ketiga untuk
memprediksi pasien memiliki penyakit stroke. Didapatkan nilai akurasi sebesar 0,9969, nilai sensitivitas sebesar
1.0 dan nilai spesifisitas sebesar 0,9444.

Confusion Matrix and Statistics

Reference
Prediction No Yes
No 928 3
Yes 0 51

Accuracy : 0.9969
95% CI : (0.9911, 0.9994)
No Information Rate : 0.945
P-Value [Acc > NIR] : <2e-16

Kappa : 0.9698

Mcnemar's Test P-Value : 0.2482

Sensitivity : 1.0000
Specificity : 0.9444
Pos Pred Value : 0.9968
Neg Pred Value : 1.0000
Prevalence : 0.9450
Detection Rate : 0.9450
Detection Prevalence : 0.9481

Shergio Rizkyputra - 13419061 33


Ujian Akhir Semester: TI4141 – Analitika Data

Balanced Accuracy : 0.9722


'Positive Class : No

Gambar 75 Evaluasi Model Random forest Ketiga

5.4 Evaluasi Model Naïve Bayes


Cara yang paling umum dalam melakukan evaluasi model adalah dengan membuat confusion matrix.
Pertama-tama, dibangun model prediksi dan dievaluasi melalui parameter-parameter tertentu pada confusion
matrix. Berikut adalah syntax pada RStudio untuk membangun Confusion Matrix pada model Naïve Bayes

model = naiveBayes(stroke~., data = training_set)


summary(model)
prediksi = predict(model, testing_set)
confusionMatrix(table(prediksi, testing_set$stroke))

Gambar 76 Syntax R untuk Membangun Model Confusion Matrix Model Naïve Bayes

Berikut adalah hasil perhitungan Confusion Matrix untuk model Naïve Bayes.
Confusion Matrix and Statistics

prediksi
0 1 0
1100 34
1 76 17

Accuracy : 0.9104
95% CI : (0.893, 0.9257)
No Information Rate : 0.9584
P-Value [Acc > NIR] : 1

Kappa : 0.1928

Mcnemar's Test P-Value : 9.26e-05

Sensitivity : 0.9354
Specificity : 0.3333
Pos Pred Value : 0.9700
Neg Pred Value : 0.1828
Prevalence : 0.9584
Detection Rate : 0.8965
Detection Prevalence : 0.9242
Balanced Accuracy : 0.6344

'Positive' Class : 0

Gambar 77 Evaluasi Model Naïve Bayes

Naïve Bayes membangun model dengan menghitung probabilitas untuk setiap kejadian. Probabilitas
setiap kejadian untuk setiap variabel dihitung, untuk masing-masing sample yang mengalami stroke dan non-
penderita stroke. Kemudian, hasilnya dikali dengan probabilitas kejadian stroke atau non-stroke keseluruhan.
Model membandingkan nilai hasil perkalian probabilitas tersebut. Jika nilainya lebih besar untuk penderita
stroke, maka akan diprediksikan data tersebut adalah orang yang mengalami stroke, begitu pula sebaliknya.

Shergio Rizkyputra - 13419061 34


Ujian Akhir Semester: TI4141 – Analitika Data
BAB VI
IMPLIKASI MANAJERIAL DAN REKOMENDASI PERBAIKAN

6.1 Analisis Model Alternatif Pada Task Prediction


Pada decision tree, telah diperoleh akurasi sebesar 83.5%, nilai sensitivitas sebesar 59.42%, serta nilai
spesifisitas 84.68%. Pada nilai akurasi, nilai ini terbilang cukup tinggi. Namun demikian, model ini memiliki
sensitivitas yang kurang baik. Sensitivitas menunjukkan seberapa baik model dalam memprediksi seseorang
yang betul-betul memiliki stroke terdeteksi memiliki stroke. Namun, spesifisitas pada model menunjukkan
bahwa model memprediksi seseorang tanpa penyakit stroke tidak terkena stroke. Model ini cukup baik dari segi
spesifitasnya. Dari hasil decision tree yang ada, diperoleh fakta menarik bahwa yang berpengaruh signifikan dan
dapat menjadi variabel prediktor penyakit stroke adalah variabel independen usia (age), rata-rata kadar gula
dalam darah (avg_glucose_level), dan body mass index (bmi).

Dengan menggunakan metode random forest, didapatkan nilai akurasi sebesar 99.69%, nilai sensitivitas
sebesar 100%, dan nilai spesifisitas sebesar 94.44%. Nilai sensitivitas sebesar 100% menandakan bahwa model
dapat memprediksi 100% dengan tepat bahwa pasien memiliki penyakit stroke ke dalam klasifikasi pasien
memiliki penyakit stroke. Nilai spesifisitas sebesar 94.44 menandakan bahwa model dapat memprediksi sebesar
94.44% dengan tepat bahwa pasien tidak memiliki penyakit stroke ke dalam klasifikasi pasien tidak memiliki
penyakit stroke. Maka, didapatkan nilai akurasi yang menandakan bahwa model prediksi menggunakan random
forest ini dapat memprediksi klasifikasi dengan tepat sebesar 99.69%. Tidak hanya itu, dari model prediksi
menggunakan random forest ini didapatkan tiga variable importance tertinggi yaitu ‘age’, ‘avg_glucose_level’,
dan ‘bmi’ sebagai variabel independen. Variabel ‘age’ adalah usia pasien, variabel ‘avg_glucose_level’ adalah
rata-rata kadar glukosa dalam darah, dan variabel ‘bmi’ adalah indeks massa tubuh pasien. Variabel ini sama
halnya dengan yang ditemukan pada model decision tree.

Jika dilakukan prediksi menggunakan model binary logistic regression, persentase akurasi yang
didapatkan adalah sebesar 95,72%, nilai sensitivitas sebesar 0% dan spesifisitas sebesar 100%. Nilai spesifisitas
atau dapat disebut juga dengan true negative rate (TNR) sebesar 100% menandakan bahwa seluruh pasien yang
tidak memiliki penyakit stroke diklasifikasikan ke dalam kelompok pasien yang tidak memiliki penyakit stroke.
Akan tetapi, didapatkan nilai sensitivitas sebesar 0% yang berarti tidak ada sama sekali penderita penyakit
stroke yang diklasifikasikan ke dalam kelompok penderita penyakit stroke. Hal ini dapat terjadi karena beberapa
faktor, salah satunya proporsi data yang digunakan untuk training dan juga testing sehingga model ‘mencoba’
untuk meningkatkan percentage of accurate classification (PAC) (Yarnold, 2018).

Sementara itu, dengan menggunakan metode Naïve Bayes, didapatkan nilai akurasi sebesar 91,04%, nilai
sensitivitas sebesar 93,54%, dan nilai spesifisitas sebesar 33,33%. Nilai akurasi sebesar 91,04% menandakan
bahwa dari data testing yang diuji, 91,04%-nya dapat diklasifikasikan sesuai data aslinya, nilai ini diperoleh dari
𝑇𝑃+𝑇𝑁
. Meskipun nilainya cukup baik, namun nilai keakuratan tersebut tidak cukup untuk menilai
𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁
validitas suatu model. Maka, peninjauan dari sensitivity dan specificity diperlukan. Dari keduanya, parameter
yang tidak cukup baik adalah specificity. Interpretasinya adalah dari data yang diklasifikasikan bukan sebagai
penderita stroke, ternyata 66,66% (100% - 33,33%) di antaranya justru merupakan penderita stroke. Hal ini
dapat disebabkan karena dataset tersebut yang mengandung sample penderita stroke yang imbalance dengan
penderita non-stroke. Akibatnya, prevalensi penderita stroke dari seluruh sample sebagai faktor pengali yang
digunakan mempengaruhi hasil akhir perkalian dalam menemukan probabilitas sebuah data dimasukkan ke
klasifikasi stroke atau tidak. Pada dunia kesehatan, nilai specitivity yang rendah ini berbahaya karena penderita
stroke mengetahui bahwa dirinya tidak menderita stroke di saat orang tersebut sebenarnya membutuhkan
penanganan/perawatan yang tepat. Beberapa keuntungan dari penggunaan tools ini adalah Naïve Bayes
bekerja dengan cepat dan cocok untuk memecahkan masalah prediksi multi-class. Jika asumsi independensi
antar variabelnya benar, tools ini dapat bekerja lebih baik daripada model lain dan hanya membutuhkan lebih
sedikit data pelatihan. Maka dari itu, jika peneliti sudah mengetahui bahwa terdapat beberapa variabel yang
signifikan dan tidak signifikan dalam suatu dataset, lebih baik menghindari penggunaan tools Naïve Bayes.
Selain itu, Naïve Bayes lebih cocok untuk variabel input yang berjenis faktor dibandingkan variabel numerik.
Shergio Rizkyputra - 13419061 35
Ujian Akhir Semester: TI4141 – Analitika Data

Berikut adalah rekapitulasi nilai akurasi, sensitivitas, dan spesifisitas untuk masing-masing model
alternatif sebagai bagian dari task prediction yang digunakan.

Tabel 8 Rekapitulasi Nilai Akurasi, Sensitivitas, dan Spesifisitas Model Alternatif

Model Alternatif Akurasi (%) Sensitivitas (%) Spesifisitas (%)


Decision Tree 83,5 59,42 84,68
Random Forest 99,69 100 94,44
Binary Logistic Regression 95,72 0 100
Naïve Bayes 91,04 93,54 33,33
Kesimpulan: Nilai akurasi dan sensitivitas terbaik dimiliki oleh model random forest dan nilai spesifisitas
terbaik dimiliki oleh model binary logistic regression. Berdasarkan pertimbangan tersebut, peneliti akan
menggunakan model random forest untuk merumuskan strategi yang relevan terkait prediksi gejala stroke.

6.2 Implikasi Manajerial


Didapatkan bahwa model prediksi dengan menggunakan metode random forest merupakan model yang
memiliki nilai akurasi tertinggi sebesar 99,.69%. Maka, diketahui dengan menggunakan model tersebut dalam
memprediksi pasien memiliki penyakit stroke di masa depan akan dapat memprediksi 99.69% secara tepat.
Dengan diketahuinya tiga variabel independen terpenting, yaitu variabel yang menunjukkan usia pasien, rata-
rata kadar glukosa dalam darah, dan indeks massa tubuh pasien, dalam mengklasifikasikan pasien memiliki
penyakit stroke atau tidak, maka Kementrian Kesehatan Republik Indonesia dan Badan Penelitian dan
Pengembangan Kesehatan Republik Indonesia dapat mengutamakan variabel tersebut dalam merumuskan
strategi pencegahan dan pengendalian penyakit tidak menular (PTM) stroke.
Salah satu contoh strategi pencegahan dan pengendalian penyakit stroke masyarakat Indonesia
menggunakan variabel rata-rata kadar glukosa dalam darah yang dapat dirumuskan adalah menjaga pola makan
dan hindari konsumsi minumam beralkohol. Salah satu contoh strategi pencegahan dan pengendalian penyakit
stroke masyarakat Indonesia menggunakan variabel indeks massa tubuh pasien yang dapat dirumuskan adalah
olahraga secara teratur. Dengan ketiga variabel penting yang telah diidentifikasi, diharapkan Kementrian
Kesehatan Republik Indonesia dapat merumuskan, menetapkan, mengimplementasikan, dan melakukan
monitor terhadap strategi pencegahan dan pengendalian penyakit stroke masyarakat Indonesia sehingga
penyakit stroke dapat diminimalisir secara optimal dan tidak membebankan masyarakat Indonesia secara
finansial terutama masyarakat yang memasuki usia pensiun karena tidak lagi memiliki penghasilan tetap. Untuk
selengkapnya, berikut adalah strategi yang dapat diterapkan pihak Kementerian Kesehatan Republik Indonesia
(RI) dan Badan Penelitian dan Pengembangan Kesehatan RI untuk mencegah potensi dan risiko terkena stroke
baik pada tingkat individu, lingkungan masyrakat, perusahaan, ataupun lingkungan sosial lainnya.

Tabel 9 Strategi Preventif PTM Stroke di Indonesia


Target Key Performance Indicator
Strategi Preventif Kondisi Terkini (2020)
Strategi (2025-2026)
36,3% target strategi Penurunan konsumsi produk
Penurunan konsumsi
mengonsumsi produk berbahan berbahan dasar tembakau di
tembakau
dasar tembakau bawah 30% dari target strategi
 Maksimal 10% target
Masyarakat  15,4% target strategi
strategi diaktegorikan
Penurunan tingkat Indonesia dikategorikan
mengalami obesitas
pengidap diabetes yang berusia mengalami obesitas
 Maksimal 5% target
dan obesitas lebih dari 35  7,2% target strategi
strategi mengidap
tahun mengidap diabetes
diabetes
Penurunan konsumsi 4,6% target strategi
 Penurunan konsumsi
makanan dan mengonsumsi produk
produk beralkohol di
minuman beralkohol beralkohol di atas batas wajar
Shergio Rizkyputra - 13419061 36
Ujian Akhir Semester: TI4141 – Analitika Data

bawah 2,5% dari target


strategi
Rata-rata konsumsi garam Penurunan rata-rata konsumsi
Penurunan asupan
target strategi adalah lebih dari garam menjadi maksimal 2,5
garam
5 gram per hari gram per hari
Hanya 27,61% target strategi Terjadi peningkatan aktivitas
Peningkatan aktivitas berolahraga secara rutin selama fisik secara rutin 150 menit per
fisik minimal 30 menit pada 5 hari minggu dilakukan oleh minimal
(150 menit per minggu) 35% dari target strategi
Terdapat 1.525 unit
laboratorium diagnosis di
Indonesia dengan persentase
kepemilikan sebagai berikut. PIhak Kemenkes RI membangun
 0,3% milik Kemenkes laboratorium diagnosis minimal
Peningkatan cakupan
RI 4 laboratorium untuk tiap pulau
pengobatan esensial
 1,8% milik Pemerintah besar di Indonesia (Sumatera,
dan teknologi
Provinsi Kalimantan, Jawa & Bali,
 14,9% milik Sulawesi, Papua)
Pemerintah
Kabupaten/Kota
 83,1% milik swasta
33,3% target strategi memiliki
Penurunan target strategi yang
tekanan darah tinggi di atas
Penurunan tekanan memiliki tekanan darah tinggi di
batas wajar (sistolis 130-139
darah tinggi atas batas wajar menjadi 25%
mmHg atau diastolis 85-89
dari target strategi
mmHg)
 Minimal jumlah
 Jumlah pusat puskesmas per
kesehatan masyarakat kecamatan sebanyak 2
(puskesmas) di puskemas, sehingga
Peningkatan cakupan Indonesia per 2020 seharusnya terdapat
farmakologis dan adalah 10.203 unit 14.460 puskesmas di
konseling  Terdapat 6,9% Indonesia
puskesmas yang tidak  Maksimal 1%
memiliki tenaga ahli puskemas yang tidak
dokter dan konselor memiliki tenaga ahli
dokter dan konselor

Strategi ini diharapkan dapat menghasilkan keluaran yang diinginkan untuk 3-4 tahun mendatang, yaitu
2025-2026. Data terkini pada tabel bersumber dari data tahunan Badan Penelitian dan Pengembangan
Kesehatan Republik Indonesia pada tahun 2020. Konsiderasi pemilihan target strategi tersebut adalah memiliki
tingkat konversi kematian di atas 1% dari populasi per kelasnya pada bagian latar belakang. Nilai persentase atau
jumlah pada key performance indicator (KPI) bersifat estimasi dari minimal lebih dari rata-rata perubahan
persentase atau jumlah yang terjadi per tahunnya untuk tiap strategi, sehingga strategi tidak terlalu mudah
ataupun terlalu sulit untuk digapai. Selain itu, nilai persentase atau jumlah pada KPI bersifat tentatif karena harus
disesuaikan dengan faktor lainnya, seperti alokasi anggaran pemerintah untuk bidang kesehatan.

6.3 Kesimpulan
Berdasarkan penelitian yang dilakukan, laporan penelitian ini dimulai dengan mencari informasi
mengenai latar belakang permasalahan dan akar permasalahannya. Dalam permasalahan ini, peneliti berperan
sebagai problem solver, sedangkan Kementerian Kesehatan Republik Indonesia (RI) dan Badan Penelitian dan
Shergio Rizkyputra - 13419061 37
Ujian Akhir Semester: TI4141 – Analitika Data

Pengembangan Kesehatan RI sebagai problem solver. Lalu, penelitian dilanjutkan dengan mencari landasan teori
yang relevan dengan permasalahan yang terjadi. Untuk menyelesaikan permasalahan spesifik ini, peneliti
menggunakan task prediction dengan beberapa model alternatif. Pengolahan data dilakuakn untuk mengetahui
karakteristik data, baik dari nilai dan tipe datanya. Untuk mengetahui informasi pada dataset, peneliti melakukan
eksplorasi data dan melakukan analisis data melalui beberapa model alternatif. Setelah dilakukan pengolahan
data, peneliti mengevaluasi setiap model alternatif yang digunakan. Pertimbangan dalam memilih model
alternatif terbaik adalah nilai akurasi, sensitivitasm dan spesifisitasnya. Model alternatif terpilih akan digunakan
untuk membantui stakeholder dalam menentukan strategi preventif terkait penyakit stroke.
Secara garis besar, kesimpulan penelitian ini dinyatakan dalam poin-poin berikut.
1. Pre-processing data terdiri dari pembesihan data. Tahap-tahap yang perlu dilakukan dalam
pembersihan data tersebut adalah menghilangkan data yang terduplikasi, mengganti jenis value pada
variabel yang kurang tepat, dan menghilangkan missing value. Untuk selengkapnya, pre-processing
dijabarkan pada subbab 3.2.
2. Visualisasi (eksplorasi) data dilakukan pada faktor-faktor tertentu pada dataset. Berdasarkan eksplorasi
data didapatkan fakta sebagai berikut.
a) Penyakit tidak menular stroke umumnya diderita oleh seseorang berumur lebih dari 60 tahun.
Fakta pada dataset ini identik dengan kondisi sebenarnya yang ada di Indonesia, di mana
tingkat konversi kematian akibat stroke adalah sebesar 4,6% untuk seseorang berusia lebih dari
65 tahun dan semakin meningkat seiring pertambahan usia.
b) Seseorang yang memiliki tingkat gula darah yang tinggi memiliki kemungkinan besar untuk
menderita stroke. Nilai tengah dari persebaran tingkat gula darah rata-rata penderita stroke
umumnya lebih dari 120 bmi.
c) Rasio antara pengidap stroke berdasarkan status pernikahannya adalah 1,88 kali lipat
seseorang yang telah menikah mengidap stroke.
d) Rasio antara pengidap stroke berdasarkan jenis kelaminnya adalah 1,44 kali lipat berjenis
kelamin perempuan.
Berkaitan dengan eksplorasi dan visualisasi data, peneliti menjabarkan bagian tersebut selengkapnya
pada subbab 4.1.
3. Langkah – langkah pemodelan data dengan task prediction menggunakan beberapa model alternatif,
yaitu model decision tree, binary logistic regression (binomial logit), random forest, dan Naïve Bayes.
Setiap model akan dijabarkan langkah-langkah pembuatannya hingga ditampilkan tools visualisasinya.
Untuk selengkapnya, penjabaran langkah-langkah pembangunan model hingga evaluasi model terdapat
pada subbab 4.2, subbab 5.1, subbab 5.2, subbab 5.3, dan subbab 5.4.
4. Tools yang terbaik untuk memprediksi (prediction) permasalahan memprediksi gejala stroke pada
pasien adalah model random forest dengan nilai akurasi sebesar 99.69%, nilai sensitivitas sebesar 100%,
dan nilai spesifisitas sebesar 94.44%. Untuk selengkapnya, penjabaran analisis dan evaluasi untuk tiap
model terdapat pada subbab 6.1.
5. Berdasarkan hasil prediksi, tiga faktor signifikan yang mempengaruhi penyakit stroke adalah usia pasien,
rata-rata kadar glukosa dalam darah, dan indeks massa tubuh pasien. Ketiga faktor tersebut dapat
menjadi perhatian dari Kementerian Kesehatan Republik Indonesia dan Badan Penelitian dan
Pengembangan Kesehatan Republiki Indonesia untuk merumuskan strategi pencegahan stroke. Peneliti
merekomendasikan beberapa strategi bersifat perventif yang dapat digunakan oleh stakeholder yaitu
sebagai berikut.
a) Penurunan konsumsi tembakau
b) Penurunan tingkat pengidap diabetes dan obesitas
c) Penurunan konsumsi makanan dan minuman beralkohol
d) Penurunan asupan garam
e) Peningkatan aktivitas fisik
f) Peningkatan cakupan pengobatan esensial dan teknologi
g) Penurunan tekanan darah tinggi
h) Peningkatan cakupan farmakologis dan konseling

Shergio Rizkyputra - 13419061 38


Ujian Akhir Semester: TI4141 – Analitika Data

Detail rekomendasi strategi, baik kondisi terkini dan ukuran pencapain masing-masing strategi tersebut,
selengkapnya dijabarkan pada subbab 6.2.

6.4 Saran Perbaikan


Untuk penelitian selanjutnya, pada tahap pre-processing data diperlukan identifikasi outlier terlebih
dahulu. Pada tahap pengolahan data, dapat dibuat model prediksi menggunakan model-model lainnya seperti
misalnya support vector machine. Setelah itu, dapat digunakan ROC (Receiver Operation Characteristics Curve)
dan AUC (Area Under Curve) untuk menentukan classifier yang terbaik, seperti yang dapat dilihat pada gambar
di bawah ini.

Gambar 78 Hubungan ROC dan AUC (Juliani, Cyril & Ellefmo, Steiner, 2019)

Proporsi testing dan training dataset juga perlu diperhatikan agar didapatkan nilai spesifisitas dan nilai
spesifikasi yang baik. Hal ini dikarenakan logika yang ingin dibangun peneliti pada algoritma adalah membiarkan
alogirtma tersebut mempelajari data terdahulu untuk kemudian diuji di test dataset. Maka, pada training
dataset, algoritma akan mencari korelasi antara variabel-variabel pada dataset. Setelah korelasi ini terbentuk,
peneliti akan mengujinya ke test dataset. Jika algoritma mempelajari data terlalu keras, algoritma akan
melalukan overfitting yang akan menghasilkan korelasi yang terlalu sempurnan atau bahkan tidak terbentuk
sama sekali.

Shergio Rizkyputra - 13419061 39


Ujian Akhir Semester: TI4141 – Analitika Data

DAFTAR PUSTAKA

Badan Litbangkes Kementerian Kesehatan Indonesia. (2018 & 2020). Penyakit Tidak Menular. Retrieved from
Litbang Kemenkes: https://www.litbang.kemkes.go.id
Daellenbach, H., & McNickle, D. (2005). Management Science: Decision Making Through System Thinking. New
York: Palgrave McMillan.
Gartner Newsroom. (2012). Gartner Survey Shows Organizations Are Slow to Advance in Data and Analytics.
Retrieved from Gartner: goo.gl/pAhfbt
Hair, J., Black, W., Babin, B., & Anderson, R. (2014). Multivariate Data Analysis. Harlow: Pearson Education.
O'Brien, J., & Marakas, G. (2011). Management Information System (10th ed.). New York: McGraw-Hill/Irwin.
Salgado, C., Azevedo, C. &., & Hugo & Vieira, S. (2016). Missing Data.
Stolcke, A., Zheng, J., Wang, W., & Abrash, V. (2011). Srilm at sixteen: update and outlook. In Proceedings of IEEE
Automatic Speech Recognition and Understanding Workshop.
Techwalla. (n.d.). Advantages & Disadvantages of Microsoft SQL. Retrieved from Techwalla:
https://www.techwalla.com/articles/advantages-disadvantages-of-microsoft-sql
Whitten, J. L., & Bentley, L. D. (2007). Systems Analysis and Design Methods (7th ed.). New York: McGraw-Hill.
Yarnold, P. (2018). Visualizing Application and Summarizing Accuracy of ODA Models. 85-89.

Shergio Rizkyputra - 13419061 40


Ujian Akhir Semester: TI4141 – Analitika Data

Shergio Rizkyputra - 13419061 41

Anda mungkin juga menyukai