KLASIFIKASI STATUS GIZI BALITA MENGGUNAKAN METODE … · 2021. 2. 22. · Status gizi merupakan...
Transcript of KLASIFIKASI STATUS GIZI BALITA MENGGUNAKAN METODE … · 2021. 2. 22. · Status gizi merupakan...
KLASIFIKASI STATUS GIZI BALITA
MENGGUNAKAN METODE RANDOM FOREST
Oleh:
Johan Satria Kesuma
165314045
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
i
KLASIFIKASI STATUS GIZI BALITA
MENGGUNAKAN METODE RANDOM FOREST
Oleh:
Johan Satria Kesuma
165314045
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
CLASSIFICATION OF CHILD NUTRITION STATUS
USING RANDOM FOREST ALGORITHM
Oleh:
Johan Satria Kesuma
165314045
INFORMATICS STUDY PROGRAM
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN
“Jatining Urip Iku Katresnan”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Penanganan masalah gizi erat kaitannya dengan bagaimana terciptanya
sumber daya manusia yang sehat, cerdas, dan produktif. Salah satu upaya dalam
meningkatkan SDM yang sehat, cerdas, dan produktif adalah dengan melakukan
penanganan terhadap pertumbuhan anak dengan asupan gizi yang baik. Anak usia
di bawah lima tahun (balita) merupakan periode perkembangan yang rentan
terhadap masalah kesehatan dan gizi. Oleh karena itu, pemenuhan gizi pada balita
perlu diperhatikan. Status gizi dapat diukur secara antropometri dengan indikator
berat badan terhadap umur (BB/U), tinggi badan terhadap umur (TB/U), dan berat
badan terhadap tinggi badan (BB/TB). Penelitian ini bertujuan untuk memudahkan
dan mempercepat proses penentuan status gizi. Penelitian ini menggunakan 853
data balita yang diperoleh dari data PSG balita 2017 di Kabupaten Sintang dan data
PSG 2019 dari Kelurahan Bener. Atribut yang digunakan adalah jenis kelamin,
berat badan, tinggi badan, posisi diukur, dan umur. Klasifikasi dilakukan untuk
menentukan status gizi berdasarkan BB/U, TB/U, dan BB/TB. Pengujian dilakukan
dengan menggunakan data PSG 2017 dengan beberapa variasi jumlah fold dan
pohon. Akurasi tertinggi untuk klasifikasi BB/U, TB/U, dan BB/TB masing-masing
adalah 92,11% dengan 10 fold dan 200 pohon, 80,46% dengan 7 fold dan 600
pohon, dan 86,11% dengan 10 fold dan 10 pohon. Selain itu, pengujian dilakukan
dengan data testing menggunakan data PSG 2019. Pengujian dilakukan dua kali
menggunakan model dari data training data PSG 2017, yaitu model dengan jumlah
fold dan pohon optimal, dan model dengan training seluruh data PSG 2017 (dengan
jumlah pohon optimal). Model dengan data training seluruh data PSG 2017
memiliki akurasi yang lebih baik dengan perbaikan akurasi untuk masing-masing
klasifikasi adalah 93,64% menjadi 93,93%, 77,48% menjadi 78,78%, dan 89,09%
menjadi 93,93%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Handling nutritional problems is closely related to how the creation of
healthy, intelligent, and productive human resources. One effort to improve healthy,
smart and productive human resources is by handling the growth of children with
good nutrition. Children under five years old are periods of development that are
vulnerable to health and nutrition problems. Therefore, the fulfillment of nutrition
in infants needs to be considered. Nutritional status can be measured
anthropometrically with indicators of body weight over age (BB / U), height over
age (TB / U), and weight over height (BB / TB). This study aims to facilitate and
accelerate the process of determining nutritional status. This study uses 853 data
obtained from PSG 2017 data in Sintang District and PSG 2019 data from
Kelurahan Bener. The attributes used are gender, weight, height, position measured,
and age. Classification is done to determine the nutritional status based on BB / U,
TB / U, and BB / TB. The test was carried out using PSG 2017 data with several
variations in the number of folds and trees. The highest accuracy for BB / U, TB /
U, and BB / TB classification is 92.11% with 10 fold and 200 trees, 80.46% with 7
fold and 600 trees, and 86.11% with 10 fold and 10 trees. In addition, testing is
carried out with testing data using 2019 PSG data. Testing is carried out twice using
models from the PSG 2017 training data, the model with the optimal number of fold
and trees, and the model with training of all PSG 2017 data (with optimal number
of trees) . The model with training data of all PSG 2017 data has better accuracy
with improved accuracy for each classification is 93.64% to 93.93%, 77.48% to
78.78%, and 89.09% to 93, 93%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis haturkan kepada Tuhan Yang Maha Esa karena
berkat rahmat dan karunianya, penulisan dapat menyelesaikan tugas akhir ini yang
berjudul “Klasifikasi Status Gizi Balita Menggunakan Metode Random
Forest”.
Dalam penyelesaian tugas akhir ini, penulis bermaksud menghaturkan
terima kasih kepada seluruh pihak yang telah memberikan dukungan, motivasi, dan
doa, ucapan terima kasih penulis sampaikan kepada :
1. Bapak JB. Budi Darmawan, S.T., M.Sc. selaku dosen pembimbing yang
telah memberikan waktu, arahan, serta bimbingan kepada penulis
selama menyelesaikan tugas akhir ini.
2. Orang tua penulis yang selalu memberikan dukungan kepada penulis.
3. Seluruh teman-teman Informatika 2016 yang sudah membantu dan
mendukung penulis dalam pembuatan tugas akhir ini.
4. Seluruh pihak yang sudah mendukung penulis dalam menyelesaikan
dalam menyelesaikan tugas akhir ini.
Semoga penelitian ini dapat berguna bagi pembaca, terutama bagi teman-
teman Informatika.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
DAFTAR ISI
HALAMAN JUDUL……………………………………………………………….i
HALAMAN PERSETUJUAN ............................................................................... iii
HALAMAN PENGESAHAN ................................................................................ iv
HALAMAN PERSEMBAHAN .............................................................................. v
PERNYATAAN KEASLIAN KARYA ................................................................ vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH . vii
ABSTRAK ........................................................................................................... viii
ABSTRACT ........................................................................................................... ix
KATA PENGANTAR ............................................................................................. x
DAFTAR ISI .......................................................................................................... xi
BAB I PENDAHULUAN ........................................................................................ 1
1.1. Latar Belakang ......................................................................................... 1
1.2. Rumusan Masalah .................................................................................... 2
1.3. Tujuan ...................................................................................................... 3
1.4. Batasan Masalah....................................................................................... 3
1.5. Metodologi Penelitian .............................................................................. 3
1.6. Sistematika Penulisan .............................................................................. 4
BAB II TINJAUAN PUSTAKA .............................................................................. 5
2.1. Penambangan Data (Data Mining)........................................................... 5
2.2. Klasifikasi ................................................................................................ 7
2.3. Metode Random Forest ............................................................................ 7
2.4. Classification And Regression Tree ......................................................... 9
2.5. Evaluasi Kerja ........................................................................................ 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
2.5.1. Confusion Matrix ......................................................................... 10
2.5.2. Cross Validation .......................................................................... 11
2.6. Pemantauan Status Gizi (PSG) .............................................................. 12
BAB III METODE PENELITIAN......................................................................... 18
3.1. Data ........................................................................................................ 18
3.2. Tahap-tahap Penelitian ........................................................................... 19
3.2.1. Studi Pustaka ............................................................................... 20
3.2.2. Pengumpulan Data ....................................................................... 20
3.2.3. Knowledge Discovery in Database (KDD) ................................. 20
3.3. Desain Alat Uji ....................................................................................... 22
3.3.1. Preprocessing ............................................................................... 22
3.3.2. Pembagian Data ........................................................................... 25
3.3.3. Pemisahan data ............................................................................ 25
3.3.4. Modeling ...................................................................................... 26
3.3.5. Akurasi......................................................................................... 34
3.3.6. Diagram Use Case ....................................................................... 35
3.4. Desain Pengujian .................................................................................... 35
3.5. Desain Interface Alat Uji ....................................................................... 39
3.5.1. Halaman Awal ............................................................................. 39
3.5.2. Halaman Dataset .......................................................................... 40
3.5.3. Halaman Normalisasi .................................................................. 41
3.5.4. Halaman Random Forest ............................................................. 41
3.5.5. Halaman Hasil ............................................................................. 42
3.6. Peralatan Penelitian ................................................................................ 45
BAB IV IMPLEMENTASI DAN ANALISIS HASIL ......................................... 46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
4.1. Implementasi Perangkat Lunak .............................................................. 46
4.1.1. Preprocessing ............................................................................... 46
4.1.2. Modeling ...................................................................................... 48
4.1.3. Akurasi......................................................................................... 50
4.2. Analisa Hasil .......................................................................................... 51
4.2.1. Pengujian Perangkat Lunak ......................................................... 51
4.2.2. Pengujian Perangkat Lunak dengan Menggunakan Dataset ....... 54
5.1. Kesimpulan ............................................................................................ 71
5.2. Saran ....................................................................................................... 72
DAFTAR PUSTAKA ............................................................................................ 73
LAMPIRAN I: NARASI USE CASE ..................................................................... 75
LAMPIRAN II: PROSEDUR PENGUJIAN KASUS UJI .................................... 85
LAMPIRAN III: PERHITUNGAN MANUAL AKURASI .................................. 95
LAMPIRAN IV: CODE MENYIMPAN DAN MEMBACA MODEL .............. 103
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Penanganan masalah gizi erat kaitannya dengan bagaimana membangun
sumber daya manusia yang sehat, cerdas, dan produktif. Salah satu upaya dalam
meningkatkan SDM yang sehat, cerdas, dan produktif adalah dengan melakukan
penanganan terhadap pertumbuhan anak dengan asupan gizi yang baik.
Anak usia di bawah lima tahun (balita) merupakan periode perkembangan
yang rentan terhadap masalah kesehatan dan gizi. Menurut Hartono (2016),
masalah gizi di Indonesia yang terbanyak adalah gizi kurang. Anak balita (0-5
tahun) merupakan kelompok umur yang paling sering menderita akibat kekurangan
gizi atau termasuk salah satu kelompok masyarakat yang rentan gizi. Oleh karena
itu, pemenuhan gizi pada balita perlu diperhatikan.
Status gizi merupakan salah satu indikator tingkat kesejahteraan masyarakat.
Di Indonesia, status gizi secara umum diukur secara antropometri. Indikator
antropometri yang digunakan untuk penilaian status gizi adalah berat badan
terhadap umur (BB/U), tinggi badan terhadap umur (TB/U), dan berat badan
terhadap tinggi badan (BB/TB). Dari beberapa indikator antropometri tersebut,
indikator yang paling umum digunakan adalah BB/U karena lebih mudah dan lebih
cepat dimengerti oleh masyarakat umum.
Standar rujukan yang dipakai untuk penentuan klasifikasi status gizi dengan
antropometri berdasarkan SK Menkes No. 1995/Menkes/SK/XII/2010 tentang
Standar Antropometri Penilaian Status Gizi Anak.
Dalam penentuan status gizi balita, terdapat standar yang sudah diberikan
oleh WHO (World Health Organization). Standar tersebut berbeda-beda tergantung
umur balita. Akan tetapi, terdapat beberapa data yang tidak ada di dalam standar
status gizi dari WHO. Machine learning bisa digunakan untuk membantu
menentukan status gizi balita dari data yang tidak terdapat dalam standar status gizi.
Masalah mengenai status gizi balita pernah diteliti menggunakan algoritma
Naïve Bayes Classification oleh Putra (2018). Penelitian tersebut berjudul
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
“Klasifikasi Status Gizi Balita Menggunakan Naïve Bayes Classification (Studi
Kasus Posyandu Ngudi Luhur)” dengan menggunakan data 17 balita dengan
rentang waktu 2 tahun pengukuran. Dalam penelitian tersebut diperoleh akurasi
sebesar 93,1%.
Ada beberapa penelitian yang sudah dilakukan menggunakan metode
Random Forest, salah satunya adalah penelitian yang dilakukan oleh Samudra
(2019). Dalam penelitiannya, dilakukan peramalan harga tembakau rajangan di
Kabupaten Temanggung. Atribut yang digunakan adalah suhu rata-rata,
kelembapan rata-rata, curah hujan, lama penyimpanan, seri, grade dan harga. Data
yang digunakan adalah data iklim dan penjualan tembakau sebanyak 1244. Dari
penelitian tersebut diperoleh akurasi 82,39%.
Penelitian lain dengan menggunakan metode Random Forest juga dilakukan
oleh Adnyana (2016). Dalam penelitiannya dilakukan prediksi lama studi
mahasiswa STIKOM Bali. Data yang digunakan adalah data lulusan 2 tahun
terakhir. Dari hasil percobaan diperoleh akurasi sebesar 83,54%.
Berdasarkan latar belakang tersebut, dalam tugas akhir ini penulis
menggunakan metode Random Forest untuk mengklasifikasi status gizi balita.
Diharapkan dengan diterapkannya Random Forest tersebut dapat membantu untuk
mengklasifikasikan status gizi balita untuk mengetahui perkembangan
pertumbuhan balita.
1.2. Rumusan Masalah
Berdasarkan latar belakang masalah di atas, maka didapat rumusan masalah
sebagai berikut.
1. Bagaimana menerapkan metode Random Forest untuk mengklasifikasi
status gizi balita?
2. Berapa akurasi Random Forest dalam menentukan status gizi balita
menggunakan data Pemantauan Status Gizi tahun 2017?
3. Berapa akurasi Random Forest dalam menentukan status gizi balita
menggunakan data training dari data Pemantauan Status Gizi tahun 2017
dan data testing dari data Pemantauan Status Gizi tahun 2019?
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
4. Bagaimana metode Random Forest mengklasifikasi status gizi balita
yang hasil perhitungan atributnya tidak ada di dalam tabel standar status
gizi balita?
1.3. Tujuan
a) Menerapkan metode Random Forest untuk mengklasifikasi status gizi
balita.
b) Menguji akurasi Random Forest dalam mengklasifikasi status gizi
balita menggunakan data Pemantauan Status Gizi tahun 2017.
c) Menguji akurasi Random Forest dalam mengklasifikasi status gizi
balita menggunakan data training dari data Pemantauan Status Gizi
tahun 2017 dan data testing dari data Pemantauan Status Gizi tahun
2019.
d) Menguji metode Random Forest untuk mengklasifikasi status gizi
balita yang hasil perhitungan atributnya tidak ada di dalam tabel
standar status gizi balita.
1.4. Batasan Masalah
Dalam Penelitian ini, masalah yang dibatasi adalah:
a) Merancang model dengan menggunakan metode Random Forest untuk
mengklasifikasi status gizi balita.
b) Ambang batas pengkategorian parameter tinggi, berat, dan BMI
berdasarkan pada Keputusan Menteri Kesehatan Republik Indonesia
Nomor: 1995/Menkes/SK/XII/2010 tentang Standar Antropometri
Penilaian Status Gizi Anak.
1.5. Metodologi Penelitian
Dalam melakukan penelitian ini langkah-langkah yang dilakukan adalah
sebagai berikut:
a) Studi Pustaka
Pada langkah ini, peneliti mempelajari teori-teori melalui buku,
artikel, jurnal yang berkaitan dengan algoritma Random Forest dan
metode-metode lain yang dibutuhkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
b) Pembuatan alat uji
Melakukan perancangan terhadap sistem yang dibangun, mulai dari
perancangan untuk user interface dan list program.
c) Evaluasi dan Analisis Hasil
Peneliti melakukan penarikan kesimpulan setelah melakukan uji
coba pada sistem.
1.6. Sistematika Penulisan
a) BAB I Pendahuluan
Dalam bab ini diuraikan tentang latar belakang masalah, rumusan
masalah, Batasan masalah, tujuan penelitian, manfaat penelitian,
metode penelitian, dan sistematika penelitian.
b) BAB II Tinjauan Pustaka
Pada bab ini diuraikan landasan teori dan masalah yang berhubungan
dengan metode data mining khususnya metode Random Forest
dengan peneliti terkait.
c) BAB III Metodologi Penelitian
Dalam bab ini akan dijelaskan data dan rencana langkah-langkah yang
akan dilakukan dalam melakukan penelitian ini. Selain itu dijelaskan
juga bagaimana proses penerapan/implementasi dan analisis dari
penerapan metode Random Forest untuk mengklasifikasi status gizi
balita. Juga memaparkan desain model yang akan digunakan dalam
penelitian ini.
d) BAB IV Implementasi dan Analisis Hasil
Pada bab ini akan diuraikan hasil implementasi dari desain yang sudah
dirancang dan analisis dari hasil yang didapatkan.
e) BAB V Penutup
Pada bab ini akan diuraikan kesimpulan dari hasil percobaan-
percobaan yang sudah dilakukan dan juga terdapat saran dari penulis
untuk pengembangan dari penelitian ini.
f) Daftar Pustaka
Berisi tentang daftar referensi dan buku-buku yang digunakan dalam
melakukan penelitian ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
TINJAUAN PUSTAKA
2.1. Penambangan Data (Data Mining)
Definisi dari penambangan data menurut Han dan Kamber (2012)
yaitu “Sebuah penggalian (mining) suatu pengetahuan (knowledge) dari
sekumpulan data yang besar/banyak”. Beberapa mengistilahkan data
mining dengan sebutan lain yaitu Knowledge Discovery from Data (KDD).
Menurut Han dan Kamber (2012) dalam proses pencarian suatu knowledge
ada beberapa langkah yang perlu dilakukan, yaitu:
1) Data cleaning
Pada langkah ini yang dilakukan adalah menghilangkan noise
dari data dan data-data yang tidak konsisten.
2) Data integration
Melakukan kombinasi atau penyatuan data jika memiliki lebih
dari satu sumber data.
3) Data selection
Pemilihan data yang sesuai dan relevan dengan tujuan analisis.
4) Data transformation
Perubahan/transformasi data ke dalam bentuk yang sesuai untuk
dilakukan mining dengan cara melakukan operasi penjumlahan atau
agregasi.
5) Data mining
Proses penting di mana dilakukan penerapan sebuah metode
intelijen untuk mencari pola data.
6) Pattern evaluation
Mengidentifikasi pola yang merepresentasikan sebuah
knowledge berdasarkan beberapa ukuran menarik (interestingness
measure).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
7) Knowledge presentation
Langkah penggunaan Teknik visualisasi dan representasi sebuah
knowledge yang didapat untuk menyajikan knowledge tersebut ke
user.
Penambangan data dibagi berdasarkan tugas yang dapat dilakukan,
yaitu (Kursrini & Kuthfi, 2009):
1. Deskripsi
Menggambarkan pola dan kecenderungan yang terdapat dalam
data. Deskripsi dari pola dan kecenderungan sering memberikan
kemungkinan penjelasan untuk suatu pola atau kecenderungan.
2. Estimasi
Metode ini hampir sama dengan metode klasifikasi, namun pada
variable target, estimasi lebih ke arah numerik dari pada ke arah
kategori. Peninjauan estimasi nilai dari variable target dibuat
berdasarkan nilai prediksi.
3. Peramalan
Metode ini hampir sama dengan metode klasifikasi dengan
estimasi. Namun dalam prediksi nilai dari hasil akan merujuk ke
masa yang akan mendatang.
4. Klasifikasi
Proses penemuan model atau fungsi yang menjelaskan atau
membedakan konsep atau kelas data, dengan tujuan untuk dapat
memperkirakan kelas dari suatu objek yang labelnya tidak
diketahui.
5. Clustering
Merupakan pengelompokan record, pengamatan, atau
memperhatikan dan membentuk kelas objek-objek yang
memiliki kemiripan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
6. Asosiasi
Tugas asosiasi dalam penambangan data adalah menemukan
atribut yang muncul dalam satu waktu. Dalam dunia bisnis lebih
umum disebut analisis keranjang belanja.
2.2. Klasifikasi
Klasifikasi adalah sebuah proses untuk mencari model atau fungsi
yang menjelaskan dan membedakan kelas atau konsep dari data, dengan
tujuan untuk menggunakan model dan melakukan prediksi dari kelas suatu
objek di mana tidak diketahui label dari kelas tersebut. Model yang ada
berasal dari analisis kumpulan training data (objek data di mana kelas label
diketahui) (Han dan Kamber, 2006). Terdapat banyak metode yang dapat
digunakan untuk melakukan klasifikasi, salah satunya adalah metode
Random Forest.
2.3. Metode Random Forest
Gambar 2.1 Random Forest
Random Forest merupakan sebuah metode ensemble. Metode
ensemble merupakan cara untuk meningkatkan akurasi metode klasifikasi
dengan cara mengkombinasikan metode klasifikasi (Han, 2012). Random
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Forest mengkombinasikan prediksi yang dibuat oleh banyak decision tree
(Tan, 2006). Ilustrasi random forest dapat dilihat pada Gambar 2.1.
Random Forest merupakan metode klasifikasi yang supervised.
Sesuai dengan Namanya, metode ini menciptakan sebuah hutan (forest)
dengan sejumlah pohon (tree). Secara umum, semakin banyak pohon
(tree) pada sebuah hutan (forest) maka semakin kuat juga hutan tersebut
terlihat. Pada kasus yang sama, semakin banyak tree, maka semakin besar
pula akurasi yang didapatkan (Polamuri, 2017).
Decision Tree akan menggunakan information gain dan gini index
untuk perhitungan dalam menentukan root node dan role. Sama halnya
dengan Random Forest yang akan menggunakan information gain dan gini
index untuk perhitungan dalam membangun tree, hanya saja Random
Forest akan membangun lebih dari satu tree (Han, 2012). Dalam
membangun setiap tree, masing-masing tree dibangun menggunakan set
data yang berbeda-beda. Set data tersebut diperoleh secara random dari
dataset yang ada, dengan replacement. Teknik ini dikenal sebagai
bootstrapping. Setiap set data memiliki jumlah data yang sama dengan
dataset asli. Selama proses klasifikasi setiap tree akan memberikan voting
kelas yang paling popular.
Berikut ini adalah algoritma dari metode random forest. Algoritma
dibagi menjadi dua bagian, bagian pertama adalah pembuatan “n: pohon
(tree) untum membentuk hutan (forest) yang acak (random). Bagian kedua
adalah algoritma untuk melakukan prediksi dari random forest yang sudah
dibuat (Han, 2012).
Input:
- D, dataset yang tediri dari d baris
- k, angka dari jumlah tree
Langkah-langkah metode Random Forest:
1. Buat data sampel data Di dengan mengambil acak dari dataset
D dengan pengembalian (replacement)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
2. Gunakan sampel data Di untuk membangun tree ke I (I = 1, 2,
..k)
3. Ulangi langkah satu dan dua sebanyak k
Pohon keputusan dalam Random Forest dibangun menggunakan
metode CART (Classification And Regression Tree). Metode CART
menggunakan information gain dalam menentukan setiap node pada tree.
Perhitungan information gain dapat dihitung menggunakan rumus 2.1.
Setelah pohon keputusan terbentuk, maka dilakukan tahap prediksi
terhadap data test. Berikut langkah-langkah memprediksi data test dalam
Random Forest.
1) Ambil data test dan gunakan rule dari setiap tree untuk
memprediksi keluaran klasifikasi dari data tersebut, simpan hasil
yang didapat
2) Hitung suara (vote) untuk setiap target yang diprediksi dari setiap
tree
3) Pertimbangkan target prediksi yang terpilih dengan memilih
target kelas yang paling banyak diprediksi sebagai hasil prediksi
akhir dari metode random forest
2.4. Classification And Regression Tree
Pembangunan tree dalam metode Random Forest menggunakan
metodologi yang sama yang digunakan oleh Classification And Regression
Tree (CART) (Han, 2012). CART menggunakan information gain untuk
mengukur pemilihan atribut yang akan digunakan pada setiap node sebuah
tree. Katakanlah N adalah node yang akan digunakan untuk memisahkan
setiap kelas dengan menggunakan atribut dan dataset D. atribut dengan
information gain yang tertinggi akan digunakan untuk memisahkan (split)
node N. Perhitungan nilai information gain dapat dicari menggunakan
rumus sebagai berikut:
𝐺𝑎𝑖𝑛(𝐴) = 𝐼𝑛𝑓𝑜(𝐷) − 𝐼𝑛𝑓𝑜𝐴(𝐷)……………………….(2.1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Di mana nilai 𝐼𝑛𝑓𝑜(𝐷) dapat dicari menggunakan rumus 2.2 dan
𝐼𝑛𝑓𝑜𝐴(𝐷) dicari menggunakan rumus 2.3 di bawah ini.
𝐼𝑛𝑓𝑜(𝐷) = − ∑ 𝑃𝑖𝑚𝑖=1 𝑙𝑜𝑔2 (𝑃𝑖)…………...………….(2.2)
Keterangan:
𝑚 : jumlah kelas target
𝑃𝑖 : probabilitas munculnya kelas ke i pada partisi D
𝐼𝑛𝑓𝑜𝐴(𝐷) = ∑|𝐷𝑗|
|𝐷|
𝑣𝑗=1 × 𝐼𝑛𝑓𝑜(𝐷𝑗)…………………...(2.3)
Keterangan:
𝑣 : jumlah partisi
𝐷𝑗 : total partisi ke j
𝐷 : jumlah tuple/baris pada semua partisi
𝐼𝑛𝑓𝑜(𝐷𝑗) : entropy dari D ke j
𝐼𝑛𝑓𝑜𝐴(𝐷) : entropy dari D sesudah dipartisi dengan A
Untuk menghitung information gain dari atribut yang memiliki nilai
kontinu (numerik), maka harus ditentukan nilai pembelah (split-point)
terbaik untuk mengelompokkan nilai dari atribut tersebut. Untuk mencari
split-poin terbaik maka data dari atribut tersebut harus diurutkan terlebih
dahulu. Nilai tengah antara setiap pasangan nilai yang berdekatan
dianggap sebagai kemungkinan yang bisa dijadikan split-point (Han,
2012).
2.5. Evaluasi Kerja
2.5.1. Confusion Matrix
Confusion matrix digunakan untuk melihat seberapa baik
atau seberapa besar akurasi yang dihasilkan dari model klasifikasi
yang sudah dibuat untuk memprediksi atau mengklasifikasi kelas
dari data testing. Rincian hasil klasifikasi berupa prediksi kelas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
ditampilkan di atas dan kelas yang aktual di bawah kiri. Lihat Tabel
2.1.
Tabel 2.1 Matrik klasifikasi untuk model dua kelas
Kelas Prediksi
Kelas
Aktual
Kelas=Positif Kelas=Negatif
Kelas=Positif
TP
(True
Positive)
FN
(False
Negative)
Kelas=Negatif
FP
(False
Positive)
TN
(True
Negative)
Nilai akurasi dapat dihitung dengan menggunakan
rumus(2.4) yang didefinisikan sebagai berikut:
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑇𝑃+𝑇𝑁
𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁…………………….(2.4)
Di mana:
TP : jumlah kelas positif yang diklasifikasikan sebagai positif
FP : jumlah kelas negatif yang diklasifikasikan sebagai positif
TN : jumlah kelas negatif yang diklasifikasikan sebagai negatif
FP : jumlah kelas positif yang diklasifikasikan sebagai negatif
2.5.2. Cross Validation
Cross Validation adalah metode statistik yang dapat
digunakan untuk mengevaluasi kinerja model atau algoritma di
mana data dipisahkan menjadi dua subset yaitu data proses
pembelajaran dan data validitas/evaluasi. Model atau algoritma
dilatih oleh subset pembelajaran dan divalidasi oleh subset
validasi. Selanjutnya pemilihan jenis cross validation dapat
didasarkan pada ukuran dataset k-fold cross-validation digunakan
karena dapat mengurangi waktu komputasi dengan tetap menjaga
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
keakuratan estimasi (Antoni Wibowo, 2017). Misalnya model
dilatih menggunakan 4-fold, maka data dibagi menjadi 4 bagian
dengan ukuran yang sama. Untuk masing-masing dari 4 bagian
data tersebut, 3 bagian digunakan sebagai data latih dan 1 bagian
sebagai data uji yang diilustrasikan pada gambar 2.2.
Gambar 2.2 Cross Validation
2.6. Pemantauan Status Gizi (PSG)
Pemantauan Status Gizi (PSG) merupakan kegiatan pemantauan
perkembangan status gizi balita yang dilaksanakan setiap tahun secara
berkesinambungan untuk memberikan gambaran tentang kondisi status gizi
balita (Kementerian Kesehatan, 2018).
Pelaksanaan PSG bertujuan untuk mengawal upaya perbaikan gizi
masyarakat agar lebih efektif dan efisien, melalui monitoring perubahan
status gizi maupun kinerja program dari waktu ke waktu, sehingga kita dapat
dengan tepat menetapkan upaya tindakan, perubahan formulasi kebijakan
dan perencanaan program (Kementerian Kesehatan, 2018).
Status gizi balita dinilai menurut indeks, yaitu Berat Badan Menurut
Umur (BB/U), Tinggi Badan Menurut Umur (TB/U), Berat Badan Menurut
Tinggi Badan (BB/TB).
1. BB/U adalah berat badan anak yang dicapai pada umur tertentu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
2. TB/U adalah tinggi badan anak yang dicapai pada umur tertentu.
3. BB/TB adalah berat badan anak dibandingkan dengan tinggi
badan yang dicapai
Ketiga nilai indeks status gizi di atas dibandingkan dengan baku
pertumbuhan WHO.
Menurut Riskedas (2013), berikut sifat indikator status gizi.
1. Indeks Berat Badan menurut Umur (BB/U)
Memberikan indikasi masalah gizi secara umum karena
berat badan berkolerasi positif dengan umur dan tinggi badan.
Berat badan menurut umur rendah dapat disebabkan karena
pendek (masalah gizi kronis) atau menderita penyakit infeksi
(masalah gizi akut).
2. Indeks Tinggi Badan menurut Umur (TB/U)
Memberikan indikasi masalah gizi yang sifatnya kronis
sebagai akibat dari keadaan yang berlangsung lama. Misalnya
kemiskinan, perilaku hidup tidak sehat, dan asupan makanan
kurang dalam waktu yang lama sehingga mengakibatkan anak
menjadi pendek.
3. Indeks Berat Badan menurut Tinggi Badan (BB/TB)
Memberikan indikasi masalah gizi yang sifatnya akut
sebagai akibat dari peristiwa yang terjadi dalam waktu yang
tidak lama (singkat). Misalnya terjadi wabah penyakit dan
kekurangan makan (kelaparan) yang menyebabkan anak
menjadi kurus. Indikator BB/TB dan IMT/U dapat digunakan
untuk identifikasi kurus dan gemuk. Masalah kurus dan gemuk
pada umur dini dapat berakibat pada resiko berbagai penyakit
degenerative pada saat dewasa (Teori Barker).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Berikut adalah cara untuk menghitung setiap indikator status gizi
balita.
1. Indeks Berat Badan menurut Umur (BB/U)
Indeks berat badan menurut umur diperoleh dengan
membandingkan berat badan dengan standar gizi buruk BB/U,
standar gizi baik BB/U 1, dan standar gizi baik BB/U 2. Setiap
standar gizi diperoleh dari tabel standar BB/U berdasarkan
Kode. Pada tabel standar BB/U, standar gizi buruk diperoleh
dari kolom “Buruk”, standar gizi baik 1 diperoleh dari kolom
“Kurang”, dan standar gizi baik 2 diperoleh dari kolom
“Baik1”. Perhitungan Kode dapat dilihat pada rumus 2.5.
Kode = 𝐽𝑒𝑛𝑖𝑠 𝐾𝑒𝑙𝑎𝑚𝑖𝑛 × 100 + 𝐵𝑒𝑟𝑎𝑡 𝐵𝑎𝑑𝑎𝑛………..(2.5)
Berikut ini rumus untuk menghitung klasifikasi BB/U.
a. Jika berat badan kurang dari standar gizi buruk BB/U,
maka indeks berat badan menurut umurnya adalah
“Buruk”.
b. Jika berat badan lebih besar sama dengan standar gizi
buruk BB/U dan kurang dari standar gizi baik BB/U 1,
maka indeks berat badan menurut umurnya adalah
“Kurang”.
c. Jika berat badan lebih besar sama dengan standar gizi baik
BB/U 1 dan kurang dari sama dengan standar gizi baik
BB/U 2, maka indeks berat badan menurut umurnya adalah
“Baik”.
d. Jika berat badan lebih dari standar gizi baik BB/U 2, maka
indeks berat badan menurut umurnya adalah “Lebih”.
2. Indeks Tinggi Badan menurut Umur (TB/U)
Indeks tinggi badan menurut umur diperoleh dengan
membandingkan konfersi TB/PB dengan standar pendek
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
TB/U, standar normal TB/U 1, dan standar normal TB/U 2.
Setiap standar gizi TB/U diperoleh dari tabel standar TB/U
berdasarkan Kode1. Melihat tabel standar TB/U, standar gizi
pendek diperoleh dari kolom “Sangat pendek”, standar gizi
normal 1 diperoleh dari kolom “Pendek”, dan standar gizi
normal 2 diperoleh dari kolom “Normal1”. Perhitungan
masing-masing dapat dilihat pada rumus 2.6.
Kode1 = 𝐽𝑒𝑛𝑖𝑠 𝐾𝑒𝑙𝑎𝑚𝑖𝑛 × 100 + 𝐵𝑒𝑟𝑎𝑡 𝐵𝑎𝑑𝑎𝑛……..(2.6)
Perhitungan konversi TB/PB dapat dihitung berdasarkan
PB/TB, posisi diukur, dan umur. Berikut cara menghitung
konversi TB/PB.
a. Jika umur kurang dari 24 bulan dan posisi diukur
sama dengan 3 (telentang), maka konversi TB/PB
sama dengan PB/TB.
b. Jika umur lebih besar sama dengan 24 bulan dan
posisi diukur sama dengan 4 (berdiri), maka konversi
TB/PB sama dengan PB/TB.
c. Jika umur kurang dari 24 dan posisi diukur sama
dengan 4, maka konversi TB/PB sama dengan PB/TB
+ 0,7.
d. Selain itu, konversi TB/PB sama dengan PB/TB –
0,7.
Berikut ini rumus untuk menghitung klasifikasi TB/U.
a. Jika konversi TB/PB kurang dari standar pendek TB/U,
maka klasifikasinya adalah “Sangat Pendek”.
b. Jika konversi TB/PB lebih besar sama dengan standar
pendek TB/U dan kurang dari standar normal TB/U 1,
maka klasifikasinya adalah “Pendek”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
c. Jika konversi TB/PB lebih besar sama dengan standar
normal TB/U 1 dan kurang dari sama dengan standar
normal TB/U 2, maka klasifikasinya adalah “Normal”.
d. Jika konversi TB/PB lebih dari standar normal TB/U 2,
maka klasifikasinya adalah “Tinggi”.
3. Indeks Berat Badan menurut Tinggi Badan (BB/TB)
Indeks berat badan menurut tinggi badan diperoleh
dengan membandingkan berat badan dengan standar kurus
BB/TB, standar normal BB/TB 1, dan standar normal BB/TB
2. Setiap standar gizi BB/TB diperoleh dari tabel standar
BB/TB berdasarkan Kode2. Melihat tabel standar BB/TB,
standar gizi kurus diperoleh dari kolom “Kurus Sekali”,
standar gizi normal 1 diperoleh dari kolom “Kurus”, dan
standar gizi normal 2 diperoleh dari kolom “Normal1”.
Perhitungan Kode2 dapat dilihat pada rumus 2.7.
Kode2 = (𝐽𝑒𝑛𝑖𝑠 𝐾𝑒𝑙𝑎𝑚𝑖𝑛 × 10000) + (𝐾𝑒𝑙𝑜𝑚𝑝𝑜𝑘 𝑈𝑚𝑢𝑟 ×
1000) + 𝐾𝑜𝑛𝑓𝑒𝑟𝑠𝑖 𝑇𝐵/𝑃𝐵………………….(2.7)
Kelompok umur diperoleh dengan cara sebagai berikut.
a. Kelompok umur sama dengan 1, jika umur kurang
dari 24 bulan.
b. Kelompok umur sama dengan 2, jika umur lebih
besar sama dengan 24 bulan.
Berikut adalah rumus untuk menghitung klasifikasi
BB/TB.
a. Jika berat badan kurang dari standar kurus BB/TB,
maka klasifikasinya adalah “Sangat Kurus”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
b. Jika berat badan lebih besar sama dengan standar
kurus BB/TB dan kurang dari standar normal
BB/TB 1, maka klasifikasinya adalah “Kurus”.
c. Jika berat badan lebih besar sama dengan standar
normal BB/TB 1 dan kurang dari sama dengan
standar normal BB/TB 2, klasifikasinya adalah
“Normal”.
d. Jika berat badan lebih dari standar normal BB/TB 2,
maka klasifikasinya adalah “Gemuk”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
BAB III
METODE PENELITIAN
3.1. Data
Data yang digunakan pada penelitian ini adalah data Pemantauan
Status Gizi (PSG) Balita di Kabupaten Sintang, Provinsi Kalimantan Barat
tahun 2017. Dari proses pengumpulan data, diperoleh data sebanyak 853.
File diperoleh dalam bentuk dokumen Microsoft Excel (xlsx). Pada Tabel
3.1 berikut adalah penjelasan dari masing-masing atribut beserta contoh data
sejumlah 5 atribut.
Tabel 3.1 Penjelasan Atribut dan Contoh Data Posyandu
No Nama Atribut Keterangan Contoh
Data
1 Js.L/P Jenis kelamin balita 2
2 Berat B. Berat badan balita 5,7
3 PB / TB Tinggi badan balita 63,0
4 Posisi diukur Posisi balita ketika diukur 3
5 Umur Umur balita 11
Terdapat tiga klasifikasi yang dilakukan pada penelitian ini, yaitu
klasifikasi berat badan terhadap umur (BB/U), panjang badan terhadap umur
(TB/U), dan berat badan terhadap panjang badan atau berat badan terhadap
tinggi badan (BB/TB). Pada tabel 3.2 berikut adalah penjelasan dari masing-
masing klasifikasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Tabel 3.2 Penjelasan Atribut yang digunakan untuk masing-masing
klasifikasi beserta kelasnya
No Klasifikasi Atribut yang
digunakan
Kelas
1 BB/U Js.L/P, Berat B., Umur Lebih, baik, kurang, buruk
2 TB/U Js.L/P, Berat B., PB /
TB, Posisi diukur,
Umur
Tinggi, normal, pendek,
sangat pendek
3 BB/TB Js.L/P, Berat B., PB /
TB, Posisi diukur,
Umur
Gemuk, normal, kurus,
sangat kurus
3.2. Tahap-tahap Penelitian
Langkah-langkah penelitian digambarkan pada skema penelitian yang
digambarkan pada gambar 3.1 berikut.
Gambar 3.1 Skema Penelitian
Pengumpulan
Data
Data Cleaning
(Penanggulangan
missing data)
Normalisasi
Data
Pengujian dengan data
training dan testing
menggunakan data
PSG 2017 dengan
membandingkan data
training menggunakan
k-fold
Data Selection
(Pemilihan Atribut)
Data Mining
menggunakan Metode
Random Forest
Pengujian dengan data training
data PSG 2017 dan data testing
menggunakan data PSG 2019
dengan membandingkan data
training menggunakan k-fold
optimal dan semua data 2017
Evaluasi dengan
Confusion Matrix
dan Presentasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
3.2.1. Studi Pustaka
Penulis mempelajari berbagai literatur yang berkaitan dengan
metode decision tree pada penambangan data khususnya mengenai
algoritma Random Forest dan literatur lainnya yang digunakan
sebagai acuan membangun sistem.
3.2.2. Pengumpulan Data
Data diperoleh dari PSG Balita Kecamatan Kelam Permai,
Kabupaten Sintang, Provinsi Kalimantan Barat.
3.2.3. Knowledge Discovery in Database (KDD)
Dengan mengacu proses KDD menurut Han(2006), Berikut ini
adalah proses KDD yang dilakukan pada penelitian ini:
a) Data cleaning
Proses data cleaning merupakan proses
menghilangkan noise data dan data yang tidak konsisten.
Pada penelitian dilakukan perbaikan terhadap data yang
tidak lengkap (missing data). Sebanyak 3 data tidak
mempunyai label BB/TB dikarenakan hasil perhitungan
atribut tidak ada di tabel standar status gizi. Missing data
sebanyak 0,352% dari total data sehingga dihilangkan dari
dataset.
b) Data selection
Proses data selection merupakan proses pemilihan
atau penghapusan data atau atribut yang tidak digunakan
pada dataset. Pada tahap ini penulis melakukan secara
manual menggunakan aplikasi Microsoft Excel.
c) Data transformation
Proses data transformation merupakan proses
perubahan data ke dalam bentuk bentuk yang berbeda dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
bentuk sebelumnya untuk mendukung proses penggalian
informasi data (data mining). Pada penelitian ini
dilakukan normalisasi data, yaitu mengemas data atribut
ke dalam skala kecil.
d) Data mining
Proses data mining adalah proses penggalian
informasi dari data yang ada. Penggalian informasi pada
penelitian ini berupa klasifikasi. Dalam penelitian ini
proses klasifikasi dilakukan menggunakan metode
Random Forest.
e) Pattern evaluation dan Knowledge presentation
Pada tahap ini dilakukan identifikasi pola dari hasil
penambangan data (pattern evaluation) dan proses
penyajian hasil dari penambangan data (Knowledge
presentation). Dalam proses ini penulis melakukan
evaluasi dan memberikan penjelasan terkait hasil dari
penambangan data. Penjelasan tersebut dilakukan agar
informasi yang didapat mudah dipahami dan bermanfaat
bagi pihak yang membutuhkan. Pada penelitian ini,
evaluasi dilakukan menggunakan confusion matrix.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
3.3. Desain Alat Uji
Alur atau tahapan proses yang dilakukan pada alat uji dapat dilihat
pada Gambar 3.2.
Gambar 3.2 Tahapan proses alat uji
3.3.1. Preprocessing
Pada tahap ini dilakukan data cleaning, data selection, dan data
transformation.
Data cleaning pada penelitian ini dilakukan untuk mengatasi adanya
missing value. Data cleaning dilakukan secara manual dengan
menggunakan aplikasi Microsoft Excel 2019. Data yang tidak lengkap atau
error dihapus dari dataset. Sebanyak 3 dari 853 data atau 0,352% data tidak
mempunyai label BB/TB dikarenakan hasil perhitungan atribut tidak ada di
tabel standar status gizi. Jumlah missing data kecil sehingga dihilangkan
dari dataset.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Data selection dilakukan penghapusan terhadap atribut yang tidak
relevan dalam penelitian ini. Data selection dilakukan secara manual dengan
menggunakan aplikasi Microsoft Excel 2019. Atribut yang dipakai adalah
atribut yang digunakan di dalam rumus untuk menghitung status gizi balita
dan atribut tersebut tidak diperoleh dari hasil hitungan atribut lainnya.
Rumus untuk menghitung status gizi balita dapat dilihat di BAB II sub bab
2.6. Berikut adalah atribut yang dihapus.
1. Nama
2. Tanggal Lahir
3. Proses perhitungan umur
4. Konfersi TB/PB
5. Kelompok Umur
6. Kode 1
7. Kode 2
8. Kode 3
9. Standar Gizi Buruk BB/U
10. Standar Gizi Baik BB/U
11. Standar Pendek PB/U atau TB/U
12. Standar Normal PB/U atau TB/U
13. Standar Kurus BB/PB atau BB/PB
14. Standar Normal BB/PB atau BB/PB
Normalisasi data dilakukan menggunakan kelas MinMaxScaler
dengan mengisi parameter min dan max. Berikut adalah contoh perhitungan
normalisasi. Data yang digunakan dalam perhitungan ini disajikan dalam
tabel 3.3.
Tabel 3.3 Data Sebelum Normalisasi
Js.L/P Berat B. PB / TB Posisi
diukur
Umur
1 8.0 66.2 3 9
1 7.8 63.0 3 8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
1 10.1 77.0 3 8
2 6.1 63.0 4 6
2 4.6 56.6 3 6
Rumus yang digunakan dalam MinMaxScaler adalah 𝑋_𝑠𝑐𝑎𝑙𝑒𝑑 =
((𝑋 – 𝑋. 𝑚𝑖𝑛(𝑎𝑥𝑖𝑠 = 0)) / (𝑋. 𝑚𝑎𝑥(𝑎𝑥𝑖𝑠 = 0) – 𝑋. 𝑚𝑖𝑛(𝑎𝑥𝑖𝑠 = 0))) ×
(𝑚𝑎𝑥 − 𝑚𝑖𝑛) + 𝑚𝑖𝑛 . X_scaled adalah nilai setelah dinormalisasi, X
adalah nilai yang akan dinormalisasi, X.max(axis=0) adalah nilai maksimal
dari kolom tempat data X berada, X.min(axis=0) adalah nilai minimal dari
kolom tempat X berada, min adalah nilai minimal data setelah normalisasi,
dan max adalah nilai maksimal data setelah normalisasi.
Melakukan perhitungan terhadap kolom umur pada Tabel 3.3. Nilai
minimal umur adalah 6 dan nilai maksimal umur adalah 9. Minimal dan
maksimal data setelah normalisasi masing-masing adalah 0 dan 1. Pada data
pertama memiliki umur 9, setelah dinormalisasi menjadi ((9 − 8)/(9 −
6)) × (1 − 0) + 0 = 1. Begitu dengan data yang lain dan atribut yang
lainnya. Data setelah dilakukan normalisasi dapat dilihat pada Tabel 3.4.
Tabel 3.4 Contoh data setelah normalisasi
Js.L/P Berat B. PB / TB Posisi
diukur
Umur
0 0.618182 0.470588 0 1
0 0.581818 0.313725 0 0.666667
0 1 1 0 0.666667
1 0.272727 0.313725 1 0
1 0 0 0 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
3.3.2. Pembagian Data
Pada tahap ini data dibagi menjadi data testing dan data training
menggunakan k-fold validation. Jumlah k akan diinputkan oleh user. Pada
penelitian ini dilakukan 5 percobaan, yaitu 3, 5, 7, 9, dan 10 fold. Di setiap
percobaan, data dibagi sejumlah k dan masing-masing bagian memiliki jumlah
data yang sama. Kemudian 1 bagian dijadikan sebagai data testing dan yang lain
sebagai data training. Untuk setiap percobaan akan ditukar data training dan
data testing-nya.
Pembagian data menggunakan fungsi KFold dengan parameter n_splits,
yaitu banyaknya fold. Berikut langkah-langkah dalam pembagian data.
Langkah 1 : X = dataset, n = jumlah fold
Langkah 2 : inisiasi k fold, kf = KFold(n_splits = n)
Langkah 3 : untuk setiap train_index, test_index di dalam kf.splits(X)
lakukan langkah 4 dan 5
Langkah 4 : masukkan indeks data training ke variabel, X_train_index =
train_index
Langkah 5 : masukkan indeks data testing ke variabel X_test_index =
test_index
3.3.3. Pemisahan data
Data testing akan dibagi menjadi 2 bagian. Bagian pertama adalah data
testing tanpa label yang berisi jenis kelamin, berat badan, tinggi badan, posisi
diukur, dan umur. Bagian kedua berisi label atau kelas. Bagian kedua ini dibagi
lagi menjadi tiga bagian yaitu label BB/U, TB/U, dan BB/TB. Berikut
merupakan langkah-langkah dalam pemisahan data.
Langkah 1 : buat variable x_test, y_test
Langkah 2 : i = indeks kolom kelas
Langkah 3 : masukkan data feature (tanpa label) ke x_test, x_test =
dataTesting[:, 1:i]
Langkah 4 : masukkan data label ke variable y_test, testing_labels =
dataTesting[:, i]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
3.3.4. Modeling
Pada tahap ini dilakukan penambangan data menggunakan algoritma
Random Forest. Setelah data melalui proses preprocessing pembagian data, dan
pemisahan data, data diolah menggunakan algoritma. Jumlah pohon pada
Random Forest diinputkan oleh user. Pada penelitian ini dilakukan 7 percobaan
menggunakan Random Forest dengan jumlah pohon yang berbeda. Jumlah
pohon dalam setiap percobaan bisa mewakili kondisi dari model yang dibangun
dengan sedikit pohon sampai model yang dibangun menggunakan jumlah pohon
yang besar. Hal ini dilakukan untuk melihat adanya peningkatan akurasi pada
model dengan jumlah pohon yang lebih tinggi. Pada Table 3.5 dijelaskan
mengenai percobaan yang dilakukan pada penelitian ini.
Tabel 3.5 Percobaan metode Random Forest
Percobaan Jumlah Pohon
1 10
2 20
3 60
4 100
5 200
6 400
7 600
Algoritma pembentukan pohon dengan Random Forest terdapat pada
Bab II sub bab 2.3.
Membangun model Random Forest menggunakan Kelas
RandomForestClassification. Parameter yang dimasukkan adalah data testing
(tanpa label), data training, bootstrap, random_state, criterion, max_features,
dan n_estimator. Dimana n_estimator adalah jumlah pohon yang akan dibangun,
random_state bernilai 0, criterion adalah “entropy”, max_feature bernilai “sqrt”
bootstrap bernilai true. Nilai bootstrap digunakan untuk menentukan apakah
dalam membangun pohon akan digunakan bootstrap dan replacement. Jika
bootstrap bernilai false maka akan menggunakan semua data set untuk
membangun pohon.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Berikut adalah contoh membangun model Random Forest untuk
klasifikasi BB/U. Data yang digunakan untuk membangun model dapat dilihat
pada Tabel 3.6.
Tabel 3.6 Data untuk Membangun Model
Js.L/P Berat B. Umur BB/U
0 0.432432 0.117647 Baik
1 0.027027 0.019608 Baik
0 0.702703 0.470588 Kurang
0 0.702703 0.470588 Kurang
0 0.702703 0.470588 Kurang
1 1 0.176471 Lebih
0 0.22973 0.058824 Baik
1 0.864865 1 Buruk
1 0.864865 1 Buruk
1 0 0 Baik
• Menentukan Node 1
Perhitungan information gain. Rumus untuk menghitung entropy,
information, dan gain dapat dilihat di BAB II sub bab 2.4.
Node 1
Atribute Partisi Total
Kasus lebih baik buruk kurang entropy information gain
total 10 1 4 2 3 1.84644
Js.L/P
<= 0,5 5 0 2 0 3 0
0 1.84644 > 0,5 5 1 2 2 0 0
Berat B.
<= 0,702 4 0 4 0 0 0
0 1.84644 > 0,702 6 1 0 2 3 0
Umur
<= 0,323 5 1 4 2 3 0
0 1.84644 > 0,323 5 0 0 0 0 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Atribut yang dipilih adalah berat badan karena memiliki gain yang
paling besar. Apabila ada yang memiliki gain yang sama maka dipilih salah satu.
• Menentukan node 2
Js.L/P Berat B. Umur BB/U
0 0.432432 0.117647 Baik
1 0.027027 0.019608 Baik
0 0.702703 0.470588 Kurang
0 0.702703 0.470588 Kurang
0 0.702703 0.470588 Kurang
0 0.22973 0.058824 Baik
1 0 0 Baik
Perhitungan information gain.
Node 2
Atribut Partisi Total
Kasus lebih baik buruk kurang entropy information gain
total 7 - 4 - 3 0.98523
Jenis Kelamin
<= 0 5 - 2 - 3 0.97095
0.69354
0.29
169 > 0 2 - 2 - 0 0
Berat Badan
<= 0,4324 4 - 4 - 0 0
0
0.98
523 > 0,4324 3 - 0 - 3 0
Umur
<= 0,1176 4 - 4 - 0 0
0
0.98
523 > 0,1176 3 - 0 - 3 0
Berat Badan
<= 0,702
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Atribut yang dipilih adalah Umur karena memiliki gain yang paling
besar. Apabila ada yang memiliki gain yang sama maka dipilih salah satu.
• Menentuan node 3
Js.L/P Berat B. Umur BB/U
0 0.432432 0.117647 Baik
1 0.027027 0.019608 Baik
0 0.22973 0.058824 Baik
1 0 0 Baik
Ketika data yang tersisa memiliki kelas yang sama, maka atribut
kelas dijadikan sebagai leaf node.
Berat Badan
<= 0,702
Umur
<= 0,1176
True
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
.
• Menentukan node 4
Js.L/P Berat B. Umur BB/U
0 0.702703 0.470588 Kurang
0 0.702703 0.470588 Kurang
0 0.702703 0.470588 Kurang
Ketika data yang tersisa memiliki kelas yang sama, maka atribut
kelas dijadikan sebagai leaf node.
Berat Badan
< 0,702
Baik
True
Umur
<= 0,1176
Berat Badan
< 0,702
Baik
True
Umur
<= 0,1176
Kurang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
• Menentukan node 5
Js.L/P Berat B. Umur BB/U
1 1 0.176471 Lebih
1 0.864865 1 Buruk
1 0.864865 1 Buruk
Perhitungan information gain.
Node 3
Atribute Partisi Total
Kasus lebih baik buruk kurang entropy information gain
total 3 1 - 2 - 0.9183
Js.L/P
<= 1 3 1 - 2 - 0.9183
0.9183 0 > 1 0 0 - 0 - 0
Berat B.
<= 0,8648 2 0 - 2 - 0
0 0.9183 > 0,8648 1 1 - 0 - 0
Umur
<= 1 3 1 - 2 - 0.9183
0.9183 0 > 1 0 0 - 0 - 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Atribut yang dipilih adalah Berat B karena memiliki gain yang paling
besar.
• Menentukan node 6
Js.L/P Berat B. Umur BB/U
1 0.864865 1 Buruk
1 0.864865 1 Buruk
Ketika data yang tersisa memiliki kelas yang sama, maka atribut
kelas dijadikan sebagai leaf node.
Berat Badan
< 0,702
Baik
True
Umur
<= 0,1176
Kurang
Berat B.
<= 0,8648
False
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
• Menentukan node 7
Js.L/P Berat B. Umur BB/U
1 1 0.176471 Lebih
Ketika data yang tersisa memiliki kelas yang sama, maka atribut kelas
dijadikan sebagai leaf node.
Berat Badan
< 0,702
Baik
True
Umur
<= 0,1176
Kurang
Berat B.
<= 0,8648
False
Buruk
Berat Badan
< 0,702
Baik
True
Umur
<= 0,1176
Kurang
Berat B.
<= 0,8648
False
Buruk Lebih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
3.3.5. Akurasi
Pada tahap ini dilakukan perhitungan akurasi menggunakan confusion
matrix. Akurasi diperoleh dengan menjumlahkan data yang diprediksi benar
dibagi jumlah dilakukan prediksi (jumlah data testing) dikali 100%.
Confusion matrix dibuat menggunakan fungsi consfusion_matrix
dengan tiga parameter, yaitu label testing, label hasil prediksi, dan kategori dari
label. Setelah matrix berhasil dibangun, selanjutnya adalah menghitung akurasi.
Berikut langkah-langkah menghitung akurasi menggunakan confusion matrix.
Langkah 1 : buat variabel N = 0, true_predict
Langkah 2 : untuk setiap elemen (i,j) pada matrix, lakukan langkah 3
sampai 4
Langkah 3 : jika i == j, tambahkan matrix[i][j] ke true_predict,
true_predict += matrix[i][j]
Langkah 4 : tambahkan matrix[i][j] ke variabel N, N += matrix[i][j]
Langkah 5 : hitung akurasi = true_predict / N * 100
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
3.3.6. Diagram Use Case
Diagram use case alat uji dapat dilihat pada gambar 3.3.
Gambar 3.3 Diagram Use Case Alat Uji
3.3.6.1. Narasi Use Case
Narasi use case berisi Langkah-langkah aksi dari pengguna
dan reaksi sistem dari setiap use case. Narasi use case alat uji dapat
dilihat pada Lampiran I.
3.4. Desain Pengujian
Pengujian dilakukan sebanyak k sesuai dengan k-fold yang digunakan.
Setiap fold dilakukan tujuh percobaan, yaitu percobaan dengan 10 pohon,
20 pohon, 60 pohon, 100 pohon, 200 pohon, 400 pohon, dan 800 pohon.
Berikut ini merupakan tabel pembagian data testing dan data training untuk
masing-masing fold.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Tabel 3.7 Pembagian 3 fold
Pengujian Training Testing
1 1, 2 3
2 1, 3 2
3 2, 3 1
Tabel 3.7 merupakan tabel pembagian 3 fold. Data akan dibagi 3 sama rata.
Setiap bagian data bergantian sebagai data testing dan data training.
Tabel 3.8 Pembagian 5 fold
Pengujian Training Testing
1 1, 2, 3, 4 5
2 1, 2, 3, 5 4
3 1, 2, 4, 5 3
4 1, 3, 4, 5 2
5 2, 3, 4, 5 1
Tabel 3.8 merupakan tabel pembagian 5 fold. Data akan dibagi 5 sama
rata. Setiap bagian data bergantian sebagai data testing dan data training.
Tabel 3.9 Pembagian 7 fold
Pengujian Training Testing
1 1, 2, 3, 4, 5, 6 7
2 1, 2, 3, 4, 5, 7 6
3 1, 2, 3, 4, 6, 7 5
4 1, 2, 3, 5, 6, 7 4
5 1, 2, 4, 5, 6, 7 3
6 1, 3, 4, 5, 6, 7 2
7 2, 3, 4, 5, 6, 7 1
Tabel 3.9 merupakan tabel pembagian 7 fold. Data akan dibagi 7 sama
rata. Setiap bagian data bergantian sebagai data testing dan data training.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Tabel 3.10 Pembagian 9 fold
Pengujian Training Testing
1 1, 2, 3, 4, 5, 6, 7, 8 9
2 1, 2, 3, 4, 5, 6, 7, 9 8
3 1, 2, 3, 4, 6, 7, 8, 9 7
4 1, 2, 3, 5, 5 , 7, 8, 9 6
5 1, 2, 3, 4, 6, 7, 8, 9 5
6 1, 2, 3, 5, 6, 7, 8, 9 4
7 1, 2, 4, 5, 6, 7, 8, 9 3
8 1, 3, 4, 5, 6, 7, 8, 9 2
9 2, 3, 4, 5, 6, 7, 8, 9 1
Tabel 3.10 merupakan tabel pembagian 9 fold. Data akan dibagi 9
sama rata. Setiap bagian data bergantian sebagai data testing dan data
training.
Tabel 3.11 Pembagian 10 fold
Pengujian Training Testing
1 1, 2, 3, 4, 5, 6, 7, 8, 9 10
2 1, 2, 3, 4, 5, 6, 7, 8, 10 9
3 1, 2, 3, 4, 5, 6, 7, 9, 10 8
4 1, 2, 3, 4, 6, 7, 8, 9, 10 7
5 1, 2, 3, 5, 5, 7, 8, 9, 10 6
6 1, 2, 3, 4, 6, 7, 8, 9, 10 5
7 1, 2, 3, 5, 6, 7, 8, 9, 10 4
8 1, 2, 4, 5, 6, 7, 8, 9, 10 3
9 1, 3, 4, 5, 6, 7, 8, 9, 10 2
10 2, 3, 4, 5, 6, 7, 8, 9, 10 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Tabel 3.11 merupakan tabel pembagian 10 fold. Data akan dibagi 10
sama rata. Setiap bagian data bergantian sebagai data testing dan data
training.
Selain itu pengujian juga dilakukan menggunakan data testing dari 33
data PSG tahun 2019. Pengujian ini dilakukan sebanyak dua kali, yaitu
pengujian dengan menggunakan model dengan data training (data PSG
2017) dari fold dan jumlah pohon yang paling optimal untuk setiap
klasifikasi, dan pengujian dengan model dengan data training dari semua
data PSG 2017 dan jumlah pohon yang paling optimal untuk setiap
klasifikasi.
Melakukan uji data tunggal terhadap 3 missing data dan beberapa data
PSG tahun 2019. Data-data yang termasuk dalam 3 missing data adalah data
status gizi balita yang perhitungan atributnya tidak tersedia di dalam tabel
standar status gizi balita. Pengujian ini dilakukan sebanyak dua kali, yaitu
pengujian dengan menggunakan model dengan data training (data PSG
2017) dari fold dan jumlah pohon yang paling optimal untuk setiap
klasifikasi, dan pengujian dengan model dengan data training dari semua
data PSG 2017 dan jumlah pohon yang paling optimal untuk setiap
klasifikasi. Data yang digunakan dalam pengujian ini dapat dilihat pada
Tabel 3.12 Dan Tabel 3.13.
Tabel 3.12 Data Sampel PSG 2019
No Data Js.L/P Berat B.
PB /
TB
Posisi
diukur Umur BB/TB
1 2 29.1 107 4 52 Gemuk
2 2 9.6 88 3 20 Kurus
3 1 13 93 4 33 Normal
4 2 10.3 95 4 30 Sangat Kurus
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Tabel 3.13 Data PSG 2017 tidak berlabel BB/TB
No.
Data
Js.L/P Berat
B.
PB
/
TB
Posisi
diukur
Umur Klasifikasi
BB/U TB/U BB/TB
1 1 9.5 9.4 3 18 Baik Sangat
Pendek
-
2 1 10.2 8.1 3 16 Baik Sangat
Pendek
-
3 1 7.9 7.5 3 13 Baik Sangat
Pendek
-
3.5. Desain Interface Alat Uji
3.5.1. Halaman Awal
Gambar 3.4 Halaman Dataset
Dalam halaman awal terdapat tombol Open Dataset. Tombol Open
Dataset berfungsi untuk membuka dataset yang bertipe excel kemudian
ditampilkan ke tabel.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
3.5.2. Halaman Dataset
Gambar 3.5 Halaman Dataset
Dalam halaman Dataset terdapat tiga tombol, yaitu tombol Open
Dataset, tombol Normalisasi, dan tombol Random Forest. Tombol Open
Dataset berfungsi untuk membuka dataset yang bertipe excel kemudian
ditampilkan ke tabel. Tombol Normaliasi berfungsi untuk menjalankan
dialog normalisasi. Tombol Random Forest digunakan untuk membuka
dialog Random Forest.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
3.5.3. Halaman Normalisasi
Gambar 3.6 Halaman Normalisasi
Dalam halaman ini terdapat dua field, yaitu field min, dan max. kedua
field tersebut digunakan sebagai parameter dalam melakukan normalisasi min
max. Tombol OK digunakan untuk melakukan proses normalisasi.
3.5.4. Halaman Random Forest
Gambar 3.7 Halaman Random Forest
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Dalam halaman Random Forest terdapat field untuk memasukkan
parameter dan tombol Proses. Field yang digunakan yaitu field jumlah pohon,
Cross Validation (jumlah fold), Bootstrap, Max Features, dan Kelas. Field
jumlah pohon digunakan sebagai parameter banyaknya pohon yang akan
dibangun menggunakan Random Forest. Field Cross Validation merupakan
parameter untuk jumlah fold yang akan dilakukan dalam pengujian nanti.
Field Max Features digunakan untuk menentukan banyaknya feature dalam
membuat split node. Field kelas digunakan untuk memilih kelas klasifikasi.
Checkbox Bootstrap digunakan untuk menentukan apakah dalam
membangun pohon dilakukan dengan bootstrap. Tombol Proses digunakan
untuk menjalankan atau membangun model Random Forest. Setelah
dijalankan Random Forest maka akan muncul halaman hasil.
3.5.5. Halaman Hasil
Gambar 3.8 Halaman Hasil
Dalam halaman hasil, terdapat teks yang menampilkan akurasi dari
klasifikasi yang telah dilakukan. Dalam halaman ini terdapat tiga tab, yaitu
tab Pohon, tab Uji Data Banyak, dan tab Uji Data Tunggal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
3.5.5.1. Tab Pohon
Gambar 3.9 Tab Pohon
Gambar 3.9 merupakan tab Pohon digunakan untuk
menampilkan pohon berdasarkan model dan index pohon. Dalam tab
pohon terdapat frame gambar pohon, dua combobox dan satu tombol,
yaitu combobox Model, combobox Index Pohon, dan tombol Tampil.
Combobox Model digunakan untuk memilih model, combobox Index
Pohon digunakan untuk memilih indeks pohon yang akan
ditampilkan, dan tombol Tampil digunakan untuk menampilkan
pohon di dalam frame gambar pohon.
3.5.5.2. Tab Uji Data Banyak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Gambar 3.10 Tab Uji Data Banyak
Gambar 3.10 merupakan tab Uji Data Banyak yang
digunakan untuk melakukan uji data testing berupa file. Dalam tab ini
terdapat tombol “OPEN DATA” yang digunakan untuk membuka file
data testing sekaligus memproses data testing tersebut. Selain itu
terdapat label akurasi yang digunakan untuk menampilkan hasil
akurasi.
3.5.5.3. Tab Uji Data Tunggal
Gambar 3.10 Tab Uji Data Tunggal
Gambar 3.10 merupakan tab prediksi digunakan untuk
melakukan uji data tunggal. Dalam tab ini terdapat beberapa field dari
atribut yang digunakan untuk melakukan klasifikasi. Tombol Prediksi
digunakan untuk melakukan proses klasifikasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
3.6. Peralatan Penelitian
Implementasi dalam penelitian ini menggunakan aplikasi yang
dibangun oleh penulis menggunakan pemrograman Python. Implementasi
ini dilakukan dengan menggunakan komputer yang memiliki spesifikasi
sebagai berikut:
1. Perangkat Keras
a. Prosesor : Intel i5
b. RAM : 8 GB
c. HDD : 750 GB
2. Perangkat Lunak
a. Microsoft Windows 10 (x64)
b. Microsoft Excel 2019
c. Linux Manjaro
d. Visual Studio Code
e. Qt Designer
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
BAB IV
IMPLEMENTASI DAN ANALISIS HASIL
4.1. Implementasi Perangkat Lunak
4.1.1. Preprocessing
Preprocessing dilakukan data cleaning, data selection, dan
normalisasi data. Data cleaning dan data selection dilakukan secara
manual, sedangkan normalisasi data dilakukan dengan alat uji.
Normalisasi data dilakukan menggunakan library dari scikit learn,
yaitu kelas MinMaxScaler dengan mengisi dua parameter, yaitu
parameter min dan max. Kelas ini dipanggil di method minMaxNorm.
Method minMaxNorm memiliki 3 parameter, yaitu min, max, dan
dataset. Min dan max merupakan variabel tipe integer yang nantinya
digunakan untuk mengisi parameter konstruktor di kelas
MinMaxScaler. Parameter dataset merupakan dataset berupa data
frame dari library pandas yang akan dinormalisasi. Method
minMaxNorm terdapat di file preprocessing.py. Antar muka
normalisasi diimplementasikan di kelas NormalisasiDialog yang
berada di file normalisasidialog.py. Listing program untuk melakukan
normalisasi dapat dilihat pada Gambar 4.1.
1 def minMaxNorm(min: int, max: int, dataset: pd.DataFrame):
2 data = dataset.values
3
4 scaler = MinMaxScaler(feature_range=(min, max),
5 copy=True).fit(data)
6 result = scaler.transform(data)
7
8 x = pd.DataFrame(result, columns=dataset.columns,
9 index=dataset.index)
10 dataset.update(x)
11
12 return scaler
Gambar 4.1 Listing Program Normalisasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Normalisasi dilakukan dengan mengubah dataset yang berupa
pandas data frame menjadi bentuk numpy dengan mengambil atribut
“values” (baris 2). Kemudian membuat instance MinMaxScaler untuk
menormalisasi dataset (baris 4 sampai 6). Ganti data dari dataset
dengan data yang sudah dinormalisasi (baris 8 sampai 10).
Pembagian dan pemisahan data dilakukan di method
randomForest. Method randomForest ada di file randomforest.py.
Pembagian data dilakukan dengan menggunakan kelas KFold dari
libray scikit learn. Penggunakan kelas KFold dengan mengisi
parameter n_splits. Pemisahan data dilakukan dengan memisahkan
dataset menjadi dua bagian, yaitu data yang berisi atribut tanpa label
dan dataset yang hanya berisi label. Antar muka pembagian dan
pemisahan data diimplementasikan di kelas RFDialog yang berada di
file rfDialog.py. Listing program untuk melakukan pembagian dan
pemisahan data dapat dilihat pada Gambar 4.2.
1 kf = KFold(n_splits=n_validation)
2 data_attr = dataset[attr]
3 data_label = dataset[kelas]
Gambar 4.2 Listing Program Pembagian dan Pemisahan Data
Pembagian data dilakukan dengan membuat objek KFold
(baris 1). Kemudian dataset dibagi menjadi dua, yaitu data_attr dan
data_label. Data_attr mengambil data atribut dari dataset, data_label
mengambil data label atau kelas dari dataset (baris 2 sampai 3).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
4.1.2. Modeling
Membangun model Random Forest menggunakan kelas
RandomForestClassification dari library scikit learn. Pembuatan
model ini dilakukan di method randomForest. Method ini ada file
randomforest.py. Method randomForest memiliki beberapa parameter
sebagai berikut.
1. dataset, merupakan dataset yang akan ditambang.
2. attr, merupakan atribut yang digunakan untuk melakukan
klasifkasi.
3. kelas, merupakan label dari klasifikasi.
4. jumlah_pohon, merupakan jumlah pohon yang digunakan untuk
membangun Random Forest.
5. n_validation, merupakan banyaknya fold yang digunakan dalam
klasifikasi.
6. bootstrap, merupakan variabel boolean untuk menentukan
apakah digunakan bootsrap dalam membangun Random Forest.
7. max_features, merupakan banyaknya feature yang digunakan
untuk membuat node dalam pohon Random Forest.
Antar muka modeling diimplementasikan di kelas RFDialog yang
ada di file rfDialog.py.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Listing program untuk membangun model Random Forest dengan
menggunakan kelas RandomForestClassifier dapat dilihat pada Gambar 4.3.
1 for train_index, test_index in kf.split(data_attr):
2 # index training dan testing
3 print("TRAIN:", train_index, "TEST:", test_index)
4
5 # ambil data training
6 x_train, y_train = data_attr.iloc[train_index,:],
7 data_label.iloc[train_index]
8
9 #ambil data testing
10 x_test, y_test = data_attr.iloc[test_index,:],
12 data_label.iloc[test_index]
12
13 rf = RandomForestClassifier(n_estimators=jumlah_pohon,
14 bootstrap=bootstrap, random_state=0,
15 criterion='entropy', max_features=max_features)
16 rf.fit(x_train, y_train)
17 rf_list.append(rf)
18 print('feature', rf.n_features_)
19
20 categories = data_label.astype('category').cat.categories
21
22 # uji data testing dengan model random forest
23 y_predict = rf.predict(x_test)
Gambar 4.3 Listing program Membangun Model Random Forest
Untuk setiap fold, pisahkan data menjadi data training dan data
testing baik data atribut maupun label atau kelas (baris 5 sampai 12).
Kemudian bangun model Random Forest menggunakan
RandomForestCalssifier dari data training dan data testing untuk setiap fold
(baris 13 sampai 16). Setelah model dibangun, klasifikasikan data testing dan
masukkan label hasil klasifikasi ke dalam variable y_predict (baris 23).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
4.1.3. Akurasi
Menghitung akurasi dari sebuah confusion matrix. Confusion
matrix dibangun dengan menggunakan fungsi confusion_matrix dari
library scikit learn dengan memasukkan tiga parameter, yaitu y_true
(label testing), y_pred (label hasil prediksi), dan labels (label atau
kelas). Fungsi ini dipanggil di fungsi randomForest, yaitu setelah
melakukan klasifikasi dengan model Random Forest. Listing program
untuk membangun confusion matrix.
1 matrix = metrics.confusion_matrix(y_true=y_test,
2 y_pred=y_predict, labels=categories)
Gambar 4.4 Listing program Membangun Confusion Matrix
Setelah confusion matrix berhasil dibuat, maka dilakukan
perhitungan akurasi dengan fungsi _hitung_akurasi dengan
memasukkan confusion_matrix ke dalam parameter. Fungsi
_hitung_akurasi memiliki nilai balik akurasi. Fungsi ini ada di file
randomforest.py. Listing program untuk menghitung akurasi dapat
dilihat pada Gambar 4.5.
1 def _hitung_akurasi(confusion_matrix):
2 jumlah_data = 0
3 jumlah_benar = 0
4 panjang_matrix = len(confusion_matrix)
5 for i in range(panjang_matrix):
6 for j in range(panjang_matrix):
7 jumlah_data += confusion_matrix[i][j]
8 if i == j:
9 jumlah_benar += confusion_matrix[i][j]
10 # endif
11 # endfor
12 # endfor
13
14 return jumlah_benar / jumlah_data
Gambar 4.5 Listing program Menghitung Akurasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
akurasi dihitung dengan menjumlahkan data yang ada di
diagonal confusion matrix (baris 5 sampai 9). Jumlah data ini
dimasukkan ke dalam variable jumlah_benar. Kemudian
jumlah_benar dibagi dengan total data (variable jumlah_data).
Model Random Forest yang memiliki akurasi optimal
disimpan ke dalam sebuah file. Model yang sudah disimpan di dalam
file bisa dibaca dan digunakan untuk mengklasifikasi status gizi balita.
Code untuk menyimpan dan membaca model dapat dilihat pada
Lampiran IV.
4.2. Analisa Hasil
4.2.1. Pengujian Perangkat Lunak
4.2.1.1. Rencana Pengujian
Rencana pengujian perangkat lunak dapat dilihat pada
tabel 4.1.
Tabel 4.1 Rencana Pengujian Perangkat Lunak
No. Use Case Butir Uji
1 Open Dataset Pengujian dengan
memasukkan file
berekstensi .xlsx
Pengujian dengan
memasukkan file
berekstensi .csv
2 Normalisasi Pengujian dengan
melakukan normalisasi
dengan nilai min dan
max kosong
Pengujian dengan
melakukan normalisasi
dengan nilai min dan
max bukan angka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Pengujian dengan
melakukan normalisasi
dengan nilai min dan
max berupa angka
3 Proses
Klasifikasi
dengan
Metode
Random
Forerst
(pembagian
data training
dan testing
dengan k-
fold)
Pengujian proses
klasifikasi dengan
mengisi tree dan k-fold
dengan angka
Pengujian proses
klasifikasi dengan
mengisi tree dan k-fold
dengan bukan angka
Pengujian proses
klasifikasi dengan
tidak mengisi tree dan
k-fold
4 Proses
Klasifikasi
dengan
Metode
Random
Forerst (data
training
menggunakan
dataset dan
data testing
memilih
manual)
Pengujian proses
klasifikasi dengan
mengisi tree dengan
angka dan membuka
file testing
Pengujian proses
klasifikasi dengan
mengisi tree dengan
bukan angka
Pengujian proses
klasifikasi dengan
tidak mengisi tree dan
data testing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
5 Lihat Pohon
dari Model
Random
Forest
Pengujian
menampilkan pohon
dari model Random
Forest
6 Uji Data
Banyak
Pengujian dengan
membuka file data
testing berekstensi
.xlsx
Pengujian dengan
membuka file data
testing berekstensi .csv
7 Uji Data
Tunggal
Pengujian uji data
tunggal dengan
mengisi atribut berupa
angka
Pengujian uji data
tunggal dengan
mengisi atribut dengan
bukan angka
Pengujian uji data
tunggal dengan tidak
mengisi atribut
4.2.1.2. Prosedur Pengujian dan Kasus Uji
Berdasarkan rencana pengujian pada Tabel 4.1, penulis
melakukan pengujian serta kasus uji yang dapat dilihat pada
Lampiran I.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
4.2.1.3. Evaluasi Pengujian
Berdasarkan hasil pengujian, menunjukkan bahwa
perangkat sudah berjalan dengan baik dan sesuai dengan rencana
yang telah dibuat. Hal ini dapat dilihat Ketika perangkat lunak
mampu menjalankan setiap use case dengan baik dan sesuai
rencana. Perangat lunak mampu menangani berbagai kesalahan
input yang dilakukan oleh pengguna dan menampilkan pesan
kesalahan.
4.2.2. Pengujian Perangkat Lunak dengan Menggunakan Dataset
Pada pengujian ini dilakukan pengujian klasifikasi BB/U, TB/U,
BB/TB dengan menggunakan 3, 5, 7, 9, dan 10 fold. Setiap fold diuji
dengan kombinasi jumlah pohon yang berbeda, yaitu 10, 20, 60, 100, 200,
400, dan 600 pohon.
4.2.2.1. Pengujian Klasifikasi BB/U dari Dataset PSG Balita 2017
Pengujian klasifikasi BB/U dilakukan dengan
menggunakan 4, 5, 7, 9, dan 10 fold masing-masing dapat dilihat
di Tabel 4.2 sampai Tabel 4.6.
Tabel 4.2 Pengujian Klasifikasi BB/U dengan Menggunakan 3 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 89,76
2 20 90,70
3 60 90,82
4 100 90,46
5 200 90,58
6 400 90,58
7 600 90,8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Tabel 4.3 Pengujian Klasifikasi BB/U dengan Menggunakan 5 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 90,82
2 20 91,41
3 60 91,05
4 100 91,17
5 200 91,41
6 400 91,41
7 600 91,05
Tabel 4.4 Pengujian Klasifikasi BB/U dengan Menggunakan 7 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 90,11
2 20 90,82
3 60 91,29
4 100 91,41
5 200 91,64
6 400 91,76
7 600 91,88
Tabel 4.5 Pengujian Klasifikasi BB/U dengan Menggunakan 9 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 91,17
2 20 90,93
3 60 91,29
4 100 91,40
5 200 91,64
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
6 400 91,41
7 600 91,29
Tabel 4.6 Pengujian Klasifikasi BB/U dengan Menggunakan 10 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 91,17
2 20 90,82
3 60 91,29
4 100 91,76
5 200 92,11
6 400 92,00
7 600 92,00
Grafik akurasi hasil pengujian klasifikasi BB/U dapat
dilihat pada gambar 4.6
Gambar 4.6 Grafik Akurasi Hasil Pengujian Klasifikasi BB/U
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
4.2.2.2. Pengujian Klasifikasi TB/U dari Dataset PSG Balita 2017
Pengujian klasifikasi TB/U dilakukan dengan
menggunakan 4, 5, 7, 9, dan 10 fold masing-masing dapat dilihat
di Tabel 4.7 sampai Tabel 4.11.
Tabel 4.7 Pengujian Klasifikasi TB/U dengan Menggunakan 3 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 77,76
2 20 77,64
3 60 77,40
4 100 77,88
5 200 77,52
6 400 77,64
7 600 77,76
Tabel 4.8 Pengujian Klasifikasi TB/U dengan Menggunakan 5 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 75,29
2 20 77,05
3 60 78,11
4 100 79,05
5 200 80,23
6 400 80,00
7 600 79,88
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Tabel 4.9 Pengujian Klasifikasi TB/U dengan Menggunakan 7 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 77,05
2 20 78,47
3 60 80,11
4 100 80,23
5 200 80,39
6 400 80,46
7 600 80,46
Tabel 4.10 Pengujian Klasifikasi TB/U dengan Menggunakan 9 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 75,17
2 20 77,40
3 60 79,28
4 100 80,10
5 200 79,63
6 400 79,75
7 600 79,87
Tabel 4.11 Pengujian Klasifikasi TB/U dengan Menggunakan 10 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 75,41
2 20 77,05
3 60 78,35
4 100 78,82
5 200 80,00
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
6 400 79,52
7 600 80,11
Grafik akurasi hasil pengujian klasifikasi TB/U dapat dilihat
pada gambar 4.7.
Gambar 4.7 Grafik Akurasi Hasil Pengujian Klasifikasi TB/U
4.2.2.3. Pengujian Klasifikasi BB/TB dari Dataset PSG Balita 2017
Pengujian klasifikasi BB/TB dilakukan dengan
menggunakan 4, 5, 7, 9, dan 10 fold masing-masing dapat dilihat
di Tabel 4.12 sampai Tabel 4.16.
Tabel 4.12 Pengujian Klasifikasi BB/TB dengan Menggunakan 3 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 83,05
2 20 83,76
3 60 84,47
4 100 84,45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
5 200 84,23
6 400 84,11
7 600 84,47
Tabel 4.13 Pengujian Klasifikasi BB/TB dengan Menggunakan 5 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 83,76
2 20 83,41
3 60 84,11
4 100 83,99
5 200 83,99
6 400 83,88
7 600 83,52
Tabel 4.14 Pengujian Klasifikasi BB/TB dengan Menggunakan 7 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 84,46
2 20 85,41
3 60 85,41
4 100 85,29
5 200 84,82
6 400 84,70
7 600 84,82
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Tabel 4.15 Pengujian Klasifikasi BB/TB dengan Menggunakan 9 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 84,70
2 20 85,17
3 60 84,70
4 100 84,93
5 200 85,29
6 400 85,64
7 600 85,40
Tabel 4.16 Pengujian Klasifikasi BB/TB dengan Menggunakan 10 Fold
No. Jumlah
Pohon
Akurasi
(%)
1 10 86,11
2 20 85,41
3 60 84,82
4 100 85,41
5 200 85,05
6 400 85,05
7 600 85,05
Grafik Akurasi hasil pengujian klasifikasi BB/TB dapat dilihat
pada gambar 4.8.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Gambar 4.8 Grafik Akurasi Hasil Pengujian Klasifikasi BB/TB
4.2.2.4. Evaluasi Hasil Pengujian
Berdasarkan hasil akurasi dan grafik akurasi dari
pengujian klasifikasi BB/U, TB/U, dan BB/TB, dapat dilihat
bahwa terjadi beberapa variasi hasil. Setiap klasifikasi memiliki
rentang akurasi masing-masing.
Dari gambar 4.6 terlihat bahwa pada klasifikasi BB/U
hasil akurasi cenderung meningkat dengan seiring dengan
naiknya jumlah pohon yang digunakan untuk melakukan
klasifikasi. Akurasi tertinggi pada klasifikasi BB/U diperoleh dari
10 fold dengan 200 pohon, yaitu 92,11%. Contoh pohon yang
dibangun pada klasifikasi BB/U dapat dilihat pada Gambar 4.9.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Gambar 4.9 Sebagian dari Pohon ke-1 model 1 Klasifikasi BB/U
Pada gambar 4.7 terlihat bahwa hasil akurasi pada
klasifikasi TB/U cenderung meningkat seiring dengan naiknya
jumlah pohon yang digunakan untuk melakukan klasifikasi.
Akurasi tertinggi dari klasifikasi TB/U diperoleh dari 7 fold
dengan 600 pohon, yaitu 80,46%. Contoh pohon yang dibangun
pada klasifikasi TB/U dapat dilihat pada Gambar 4.10.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
Gambar 4.10 Sebagian dari Pohon ke-7 model 1 Klasifikasi TB/U
Pada hasil klasifikasi BB/TB di Gambar 4.8, semakin
banyak jumlah pohon yang digunakan untuk melakukan
klasifikasi tidak selalu menaikkan hasil akurasi. Akurasi tertinggi
dari klasifikasi BB/TB diperoleh dari 10 fold dan 10 pohon, yaitu
86,11%. Contoh pohon yang dibangun pada klasifikasi BB/TB
dapat dilihat pada Gambar 4.11.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Gambar 4.11 Sebagian dari Pohon ke-9 model 1 Klasifikasi
BB/TB
Confusion matrix untuk setiap klasifikasi menggunakan
jumlah fold dan jumlah pohon yang optimal dapat dilihat pada
Lampiran III.
Penulis juga melakukan pengujian terhadap 33 data PSG
tahun 2019 menggunakan model dari jumlah fold dan jumlah
pohon yang paling optimal untuk setiap klasifikasi. Hasil
pengujian tersebut dapat dilihat pada tabel 4.17.
Tabel 4.17 Hasil Akurasi Pengujian Data PSG Tahun 2019
No Klasifikasi Akurasi (%)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
1 BB/U dengan 10 fold dan 200 pohon 93,64
2 TB/U dengan 7 fold dan 600 pohon 77,48
3 BB/TB dengan 10 fold dan 10 pohon 89,09
Selain itu pengujian juga dilakukan dengan data training
menggunakan 850 data PSG tahun 2017 dan data testing
menggunakan 33 data PSG tahun 2019. Pengujian tersebut
dilakukan menggunakan jumlah pohon dengan akurasi yang
paling optimal dari pengujian sebelumnya untuk setiap
klasifikasi. Hasil pengujian dapat dilihat pada tabel 4.18.
Tabel 4.18 Hasil Akurasi Pengujian Menggunakan 850 Data PSG
2017 sebagai Data Training dan 33 Data PSG 2019 sebagai Data
Testing
No Klasifikasi Akurasi (%)
1 BB/U dengan 200 pohon 93,93
2 TB/U dengan 600 pohon 78,78
3 BB/TB dengan 10 pohon 93,93
Dari hasil pengujian dengan data testing dari data PSG
2019, model dengan data training seluruh data PSG 2017 (850
data) memiliki akurasi yang lebih baik dibandingkan dengan
model dari data training data PSG 2017 dengan k-fold optimal.
Model dengan data training seluruh data PSG 2017 memiliki
akurasi yang lebih baik untuk setiap klasifikasi, yaitu klasifikasi
BB/U akurasinya naik 0,29% menjadi 93,93%, klasifikasi TB/U
akurasinya naik 1,3% menjadi 78,78%, dan klasifikasi BB/TB
akurasinya naik 4,84% menjadi 93,93%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Pengujian klasifikasi BB/TB dilakukan terhadap beberapa
data PSG tahun 2019 yang dapat dilihat di BAB III Tabel 3.12.
Hasil pengujian dengan menggunakan model dengan data
training data PSG 2017 dengan 10 fold dan 10 pohon disajikan
pada Tabel 4.19, dan pengujian dengan model dengan data
training seluruh data PSG 2017 dan 10 pohon disajikan pada
Tabel 4.20.
Tabel 4.19 Hasil Pengujian Klasifikasi BB/TB terhadap Beberapa
Data PSG 2019 Menggunakan Model dengan Data Training Data
PSG 2017 dengan 10 Fold dan 10 Pohon.
No.
Data
Model Hasil
Klasifikasi
1 model 1 Gemuk
model 2 Gemuk
model 3 Gemuk
model 4 Gemuk
model 5 Gemuk
model 6 Gemuk
model 7 Gemuk
model 8 Gemuk
model 9 Gemuk
model 10 Gemuk
2 model 1 Kurus
model 2 Normal
model 3 Kurus
model 4 Kurus
model 5 Kurus
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
model 6 Kurus
model 7 Kurus
model 8 Normal
model 9 Kurus
model 10 Kurus
3 model 1 Normal
model 2 Normal
model 3 Normal
model 4 Normal
model 5 Normal
model 6 Normal
model 7 Normal
model 8 Normal
model 9 Normal
model 10 Normal
4 model 1 Sangat Kurus
model 2 Kurus
model 3 Kurus
model 4 Kurus
model 5 Kurus
model 6 Kurus
model 7 Sangat Kurus
model 8 Kurus
model 9 Sangat Kurus
model 10 Sangat Kurus
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Tabel 4.20 Hasil Pengujian Klasifikasi BB/TB terhadap Beberapa
Data PSG 2019 Menggunakan Model dengan Data Training
Seluruh Data PSG 2017 dan 10 pohon
No
Data
Hasil
Prediksi
1 Gemuk
2 kurus
3 Normal
4 Sangat
Kurus
Dari hasil pengujian klasifikasi BB/TB terhadap beberapa
data PSG tahun 2019, model dengan 10 fold dan 10 pohon
menghasilkan klasifikasi yang salah pada data nomor 2 dan 4.
Model 3 dan model 8, yaitu model yang memiliki akurasi terbaik
(91,76%), menghasilkan klasifikasi yang salah pada data nomor
4 yang seharunya memiliki label Sangat Kurus. Pada data nomor
2, model 8 mengklasifikasi Normal yang seharusnya Kurus. Pada
pengujian menggunakan model dengan data training seluruh data
PSG 2017, hasil klasifikasinya semua benar. Dengan begitu,
model dengan data training seluruh data PSG 2017 memiliki hasil
klasifikasi yang lebih baik dibanding dengan model optimal yang
menggunakan 10 fold untuk data training data PSG 2017.
Pengujian dilakukan terhadap 3 data yang terdapat pada
BAB III Tabel 3.13 menggunakan model dengan data training
dari semua data PSG 2017 dan menggunakan 10 pohon.
Pengujian dilakukan dengan model tersebut karena dari
pengujian dengan 33 data PSG 2019 maupun pengujian dengan
data sampel data PSG 2019, model dengan data training seluruh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
data PSG 2017 memiliki hasil klasifikasi yang lebih baik
dibanding dengan model yang menggunakan 10 fold. Hasil
pengujian terhadap 3 missing data dapat dilihat pada Tabel 4.21.
Tabel 4.21 Hasil klasifikasi data yang tidak memiliki label BB/TB menggunakan
model dengan data training dari semua data PSG 2017
No.
Data
Js.L/P Berat
B.
PB
/
TB
Posisi
diukur
Umur Hasil Klasifikasi
BB/U
(200
pohon)
TB/U
(600
pohon)
BB/TB
(10
pohon)
1 1 9.5 9.4 3 18 Baik Sangat
Pendek
Sangat
Kurus
2 1 10.2 8.1 3 16 Baik Sangat
Pendek
Sangat
Kurus
3 1 7.9 7.5 3 13 Baik Sangat
Pendek
Gemuk
Pada Tabel 4.21, 3 missing data yang tidak memiliki label
BB/TB berhasil diklasifikasi menggunakan model dengan data
training dari semua data PSG 2017 dan menggunakan 10 pohon.
Dari hasil klasifikasi BB/U dan TB/U, model tersebut mampu
mengklasifikasi 3 data dengan benar. Pada hasil Klasifikasi
BB/TB, Data nomor 1 diklasifikasi “Sangat Kurus”, data nomor
2 diklasifikasi “Sangat Kurus”, dan data nomor 3 diklasifikasi
“Gemuk”. Dari hasil tersebut, model yang digunakan untuk
pengujian dapat mengklasifikasi BB/TB dari data PSG yang
perhitungan atributnya tidak ada di dalam tabel standar status gizi
balita.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
BAB V
PENUTUP
5.1. Kesimpulan
Berdasarkan hasil penelitian menggunakan metode Random Forest
untuk mengklasifikasi status gizi balita, diperoleh kesimpulan sebagai
berikut.
1. Metode Random Forest telah berhasil digunakan untuk mengklasifikasi
status gizi balita dengan baik, baik untuk klasifikasi BB/U, TB/U, dan
BB/TB.
2. Akurasi terbaik dari klasifikasi status gizi balita menggunakan metode
Random Forest dengan data training dan data testing menggunakan data
PSG tahun 2017 adalah sebagai berikut.
a. Klasifikasi BB/U menggunakan 10 fold dan 200 pohon dengan
akurasi 92,11%.
b. Klasifikasi TB/U menggunakan 7 fold dan 600 pohon dengan
akurasi 80,46%.%.
c. Klasifikasi BB/TB menggunakan 10 fold dan 10 pohon dengan
akurasi 86,11%.
3. Pada klasifikasi status gizi balita menggunakan metode Random Forest
dengan data training menggunakan data PSG tahun 2017 dan data
testing menggunakan data PSG tahun 2019, model dengan data training
seluruh data PSG 2017 memiliki akurasi yang lebih baik dibandingkan
dengan model dari data training data PSG 2017 dengan k-fold optimal
untuk setiap klasifikasi, baik klasifikasi BB/U, TB/U, dan BB/TB.
Berikut ini adalah perbaikan akurasi klasifikasi dari model dengan k-
fold optimal dan model dengan data training seluruh data PSG 2017.
a. Klasifikasi BB/U, model dengan k-fold mendapatkan akurasi
93,64% sedangkan model dengan data training seluruh data PSG
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
2017 mendapatkan akurasi 93,93%. Hasil akurasi naik sebesar
0,29%.
b. Klasifikasi TB/U, model dengan k-fold mendapatkan akurasi 77,48
sedangkan model dengan data training seluruh data PSG 2017
mendapatkan akurasi 78,78 %. Hasil akurasi naik sebesar 1,3%.
c. Klasifikasi BB/TB, model dengan k-fold mendapatkan akurasi
89,09% sedangkan model dengan data training seluruh data PSG
2017 mendapatkan akurasi 93,93%. Hasil akurasi naik sebesar
4.84%.
4. Metode Random Forest bisa mengklasifikasi status gizi balita yang tidak
dapat dilakukan pada perhitungan manual dan hasil perhitungan
atributnya tidak ada di dalam tabel standar status gizi balita.
5.2. Saran
Berdasarkan penelitian klasifikasi status gizi balita menggunakan
metode Random Forest, penulis memberikan saran sebagai berikut.
1. Perangkat lunak dapat menyimpan hasil uji data tunggal.
2. Dilakukan penelitian selanjutnya mengenai status gizi balita dengan
metode lain untuk melihat kemungkinan didapatkan akurasi yang lebih
tinggi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
DAFTAR PUSTAKA
[1] Adnyana, I Made Budi.2016.Prediksi Lama Studi Mahasiswa Dengan Metode
Random Forest(Studi Kasus : STIKOM Bali) di
http://103.15.240.150/ojs/index.php/CSRID/article/view/95 (diakses
Desember 2019)
[2] Anggraeni, Reni dan Indrarti, Aviarini.2010.Klasifikasi Status Gizi Balita
Berdasarkan Indeks Antropometri (BB/U)) Menggunakan Jaringan Saraf
Tiruan di http://repository.gunadarma.ac.id/853/ (diakses September 2019)
[3] Han, Jiawe.2012. Data Mining Concepts and Techniques Third Edition. USA:
Elsevier
[4] Hartono.2016.Status Gizi Balita dan Interaksinya di
http://sehatnegeriku.kemkes.go.id/baca/blog/20170216/0519737/status-gizi-
balita-dan-interaksinya/ (diakses Desember 2019)
[5] I-king-of-ml.2019.Random Forest and how it works di
https://medium.com/@rdhawan201455/random-forest-and-how-it-works-
67f408e43a43 (diakses Desember 2019)
[6] Kementerian Kesehatan Republik Indonesia.2017.Buku Saku Pemantauan
Status Gizi tahun 2017.
[7] Kusrini, Luthfi, Taufiq, dan Emha.2009.Algoritma Data Mining. Yogyakarta:
Andi
[8] Manna, Siladittya. 2020. K-Fold Cross Validation for Deep Learning Models
using Keras di
https://medium.com/the-owl/k-fold-cross-validation-in-keras-3ec4a3a00538
(diakses April 2020)
[9] Polimaru, Saimadhu.2017.How Random Forest Algorithm Works In Machine
Learning di https://dataaspirant.com/2017/05/22/random-forest-algorithm-
machine-learing/ (diakses November 2019)
[10] Tan, Pang-Ning, Michael Steinbach, dan Vipin Kumar.2006.Introduction to
Data Mining. Boston: Pearson Addison Wesley
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
LAMPIRAN I: NARASI USE CASE
1. Narasi Use Case Open Dataset
Use-Case Name Open Dataset
Use case ID UC005
Priority High
Source
Primary Business
Actor
User
Other Participation
Actors
-
Description Use case ini merupakan proses user memilih dataset
berupa file dan memasukkannya ke sistem sebagai model
yang digunakan untuk melakukan proses klasifikasi
Precondition Aktor berhasil login dan berada pada halaman home
Typical Course of
Events
Actor Action System Response
Langkah 1 : Aktor
mengklik “OPEN
DATASET”
Langkah 2: Menampilkan
FileOpenDialog
Langkah 3: memilih file
Langkah 4: Menampilkan
halaman utama dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
2. Narasi Use Case Normalisasi
memasukkan data ke dalam
tabel
Postcondition Sistem menampilkan dataset pada tabel di halaman utama
Use-Case Name Normalisasi
Use case ID UC005
Priority High
Source
Primary Business
Actor
User
Other Participation
Actors
-
Description Use case ini merupakan proses user melakukan
normalisasi terhadap dataset yang sudah dimasukkan
Precondition Dataset sudah dimasukkan ke dalam sistem dan user
berada di halaman utama
Typical Course of
Events
Actor Action System Response
Langkah 1 : Aktor
mengklik
“NORMALISASI”
Langkah 2: Menampilkan
dialog normalisasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
3. Narasi Use Case Proses Klasifikasi dengan Metode Random Forest
(pembagian data training dan testing dengan k-fold)
Langkah 3: memasukkan
nilai pada field “min” dan
“max”
Langkah 4: klik tombol
“OK”
Langkah 5: memproses
normalisasi
Postcondition Dataset berhasil dinormalisasi
Use-Case Name Proses Klasifikasi dengan Metode
Random Forest (pembagian data
training idan testing dengan k-fold)
Use case ID UC005
Priority High
Source
Primary Business
Actor
User
Other Participation
Actors
-
Description Use case ini merupakan proses user melakukan
klasifikasi terhadap dataset yang sudah dimasukkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
Precondition Dataset sudah dimasukkan ke dalam sistem dan user
berada di halaman utama
Trigger User sudah masuk ke dalam sistem dan berada di
halaman awal
Typical Course of
Events
Actor Action System Response
Langkah 1 : Aktor
mengklik “RANDOM
FOREST”
Langkah 2: Menampilkan
dialog Random Forest
Langkah 3: memasukkan
nilai pada field yang
tersedia pada dialog
Random Forest
Langkah 4: klik tombol
“PROSES”
Langkah 5: memproses
klasifikasi dengan metode
Random Forest
Postcondition Sistem menampilkan akurasi hasil klasifikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
4. Narasi Use Case Proses Klasifikasi dengan Metode Random Forerst (data
training menggunakan dataset dan data testing memilih manual)
Use-Case Name Proses Klasifikasi dengan Metode
Random Forest (data training
menggunakan dataset dan data
testing memilih manual)
Use case ID UC005
Priority High
Source
Primary Business
Actor
User
Other Participation
Actors
-
Description Use case ini merupakan proses user melakukan
klasifikasi terhadap dataset yang sudah dimasukkan
Precondition Dataset sudah dimasukkan ke dalam sistem dan user
berada di halaman utama
Trigger User sudah masuk ke dalam sistem dan berada di
halaman awal
Typical Course of
Events
Actor Action System Response
Langkah 1 : Aktor
mengklik “RANDOM
FOREST”
Langkah 2: Menampilkan
dialog Random Forest
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
5. Narasi Use Case Lihat Pohon dari Model Random Forest
Langkah 3: memilih file
data testing dan
memasukkan nilai pada
field yang tersedia pada
dialog Random Forest
Langkah 4: klik tombol
“PROSES”
Langkah 5: memproses
klasifikasi dengan metode
Random Forest
Postcondition Sistem menampilkan akurasi hasil klasifikasi
Use-Case Name Lihat Pohon dari Model Random
Forest
Use case ID UC005
Priority High
Source
Primary Business
Actor
User
Other Participation
Actors
-
Description Use case ini merupakan proses user melihat pohon yang
dihasilkan dari model Random Forest
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
Precondition Klasifikasi suda dilakukan dan user berada di halaman
hasil
Trigger User sudah masuk ke dalam sistem dan berada di
halaman awal
Typical Course of
Events
Actor Action System Response
Langkah 1 : Aktor
mengklik tab “Lihat
Pohon”
Langkah 2: Menampilkan
tab “Lihat Pohon”
Langkah 3: mengklik
Combo Box “Model”
untuk memilih model
Langkah 4: mengklik
Combo Box “Index Pohon”
untuk memilih index pohon
Langkah 5: klik tombol
“Tampil”
Langkah 6: menampilkan
pohon
Postcondition Sistem menampilkan pohon
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
6. Narasi Use Case Uji Data Banyak
Use-Case Name Uji Data Banyak
Use case ID UC005
Priority High
Source
Primary Business
Actor
User
Other Participation
Actors
-
Description Use case ini merupakan proses user melakukan
klasifikasi terhadap data testing dari sebuah filei
Precondition Klasifikasi suda dilakukan dan user berada di halaman
hasil
Trigger User sudah masuk ke dalam sistem dan berada di
halaman awal
Typical Course of
Events
Actor Action System Response
Langkah 1 : Aktor
mengklik tab “Uji Data
Banyak”
Langkah 2: Menampilkan
tab “ Uji Data Banyak”
Langkah 4: mengklik
tombol “OPEN DATA”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
7. Narasi Use Case Uji Data Tunggal
Langkah 5: menampilkan
akurasi hasil klasifikasi
Postcondition Sistem menampilkan akurasi hasil kalsifikasi
Use-Case Name Uji Data Tunggal
Use case ID UC005
Priority High
Source
Primary Business
Actor
User
Other Participation
Actors
-
Description Use case ini merupakan proses user melakukan
klasifikasi terhadap satu data testing
Precondition Klasifikasi suda dilakukan dan user berada di halaman
hasil
Trigger User sudah masuk ke dalam sistem dan berada di
halaman awal
Typical Course of
Events
Actor Action System Response
Langkah 1 : Aktor
mengklik tab “Uji Data
Tunggal”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
Langkah 2: Menampilkan
tab “ Uji Data Tunggal”
Langkah 3: mengisi field
yang tersedia
Langkah 4: mengklik
tombol “Proses”
Langkah 5: menampilkan
kelas hasil klasifikasi
Postcondition Sistem menampilkan kelas hasil kalsifikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
LAMPIRAN II: PROSEDUR PENGUJIAN KASUS UJI
Use Case Deskripsi Prosedur Pengujian Masukan Keluaran
yang
diharapkan
Hasil yang
didapat
Catatan Proses
Pengembangan
Open Dataset Pengujian
dengan
memasukkan
file
berekstensi
.xlsx
1. Jalankan sistem
2. Klik tombol “Open
Dataset”
3. Pilih file dari
direktori komputer
4. Klik tombol Open
datatest.xlsx Data pada
dataset.xlsx
ditampilkan
di tabel
Data pada
dataset.xlsx
ditampilkan
di tabel
Tidak ada
perbaikan
Pengujian
dengan
memasukkan
file
berekstensi
.csv
datatest.csv Data pada
dataset.csv
ditampilkan
di tabel
Data pada
dataset.csv
ditampilkan
di tabel
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
Normalisasi Pengujian
dengan
melakukan
normalisasi
dengan nilai
min dan max
kosong
1. Klik tombol
“NORMALISASI”
2. Kosongkan field
“min” dan “max”
3. Klik tombol “OK”
Kosongkan
field “min”
dan “max
Muncul pesan
error input
tidak valid.
Muncul
pesan error
input tidak
valid.
Tidak ada
perbaikan
Pengujian
dengan
melakukan
normalisasi
dengan nilai
min dan max
bukan angka
1. Klik tombol
“NORMALISASI”
2. Masukan field “min”
dan “max” dengan
huruf
3. Klik tombol “OK”
Masukkan
hururf pada
field “min”
dan “max”
field “min”
dan “max”
tidak terisi
field “min”
dan “max”
tidak terisi
Tidak ada
perbaikan
Pengujian
dengan
melakukan
normalisasi
1. Klik tombol
“NORMALISASI”
Masukan
angka 0 pada
field “min”
dan angka 0
Proses
normalisasi
berjalan
Proses
normalisasi
berjalan
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
dengan nilai
min dan max
berupa angka
2. Masukkan angka 0
pada field “min”
dan angka 1 pada
field“max”
3. Klik tombol “OK”
pada field
“max”
Proses
Klasifikasi
dengan
Metode
Random
Forerst
(pembagian
data training
dan testing
Pengujian
proses
klasifikasi
dengan
mengisi tree
dan k-fold
dengan angka
1. Klik tombol
“Random Forest”
2. Klik tab “Cross
Validation”
3. Masukkan angka
atau nilai pada
field “Cross
Validation” dan
field “Jumlah
Pohon”
Masukkan
angka 3 pada
field “Cross
Validation”
dan angka
100 pada
field “Jumlah
Pohon”
Proses
klasifikasi
berjalan
Proses
klasifikasi
berjalan
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
dengan k-
fold)
4. Klik tombol
“PROSES”
Pengujian
proses
klasifikasi
dengan
mengisi tree
dan k-fold
dengan bukan
angka
1. Klik tombol
“Random Forest”
2. Klik tab “Cross
Validation”
3. Masukkan huruf
pada field “Cross
Validation” dan
field “Jumlah
Pohon”
4. Klik tombol
“PROSES”
Masukan
huruf “a”
pada field
“Cross
Validation”
dan field
“Jumlah
Pohon”
Muncul pesan
error input
tidak sesuai
Muncul
pesan error
input tidak
sesuai
Tidak ada
perbaikan
Pengujian
proses
klasifikasi
dengan tidak
1. Klik tombol
“Random Forest”
Kosongkan
field “Cross
Validation”
dan field
Muncul pesan
error input
tidak sesuai
Muncul
pesan error
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
mengisi tree
dan k-fold
2. Klik tab “Cross
Validation”
3. Kosongkan field
“Cross Validation”
dan field “Jumlah
Pohon”
4. Klik tombol
“PROSES”
“Jumlah
Pohon”
input tidak
sesuai
Proses
Klasifikasi
dengan
Metode
Random
Forerst (data
training
menggunakan
dataset dan
Pengujian
proses
klasifikasi
dengan
mengisi tree
dengan angka
dan membuka
file testing
1. Klik tombol
“Random Forest”
2. Klik tab
“Training/Testing”
3. Masukkan angka
pada field “Jumlah
Pohon” dan klik
Browse pada field
“Data Testing”
Masukkan
angka 4 pada
field “Jumlah
Pohon” buka
file data
testing
Proses
klasifikasi
berjalan
Proses
klasifikasi
berjalan
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
data testing
memilih
manual)
untuk membuka
file
4. Klik tombol
“PROSES”
Pengujian
proses
klasifikasi
dengan
mengisi tree
dengan bukan
angka
1. Klik tombol
“Random Forest”
2. Klik tab
“Training/Testing”
3. Masukkan huruf
pada field “Jumlah
Pohon”
4. Klik tombol
“PROSES”
Masukkan
huruf a pada
field “Jumlah
Pohon”
Muncul pesan
error input
tidak sesuai
Muncul
pesan error
input tidak
sesuai
Tidak ada
perbaikan
Pengujian
proses
klasifikasi
1. Klik tombol
“Random Forest”
Kosongkan
field “Jumlah
Pohon” dan
Muncul pesan
error input
tidak sesuai
Muncul
pesan error
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
dengan tidak
mengisi tree
dan data
testing
2. Klik tab
“Training/Testing”
3. Kosongkan field
“Jumlah Pohon”
dan field “Data
Testing”
4. Klik tombol
“PROSES”
field “Data
Testing”
input tidak
sesuai
Lihat Pohon
dari Model
Random
Forest
Pengujian
menampilkan
pohon dari
model
Random
Forest
1. Proses klasifikasi
sudah dilakukan
2. Klik tab “Pohon”
3. Klik Combo Box
model, Pilih model
4. Klik Combo Box
Index Pohon, pilih
index pohon
Pilih model 2
dan index
pohon 2
Tampil pohon
ke 2 pada
model 2
Tampil
pohon
index 2
pada model
2
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
5. Klik tombol
“Tampil”
Uji Data
Banyak
Pengujian
dengan
membuka file
data testing
berekstensi
.xlsx
1. Proses klasifikasi
sudah dilakukan
2. Klik tab “Uji Data
Banyak”
3. Klik tombol
“OPEN DATA”
dataPSG2019
.xlsx
Hasil akurasi
ditampilkan
Hasil
akurasi
ditampilkan
Tidak ada
perbaikan
Pengujian
dengan
membuka file
data testing
berekstensi
.csv
1. Proses klasifikasi
sudah dilakukan
2. Klik tab “Uji Data
Banyak”
3. Klik tombol
“OPEN DATA”
dataPSG2019
.csv
Hasil akurasi
ditampilkan
Hasil
akurasi
ditampilkan
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
Uji Data
Tunggal
Pengujian uji
data tunggal
dengan
mengisi
atribut berupa
angka
1. Proses klasifikasi
sudah dilakukan
2. Klik tab “Uji Data
Tunggal”
3. Masukkan angka
ke field text yang
tersedia
4. Klik tombol
“PROSES”
Masukan
berupa angka
pada field
yang tersedia
Proses uji
data tunggal
berjalan
Proses uji
data tunggal
berjalan
Tidak ada
perbaikan
Pengujian uji
data tunggal
dengan
mengisi
atribut dengan
bukan angka
1. Proses klasifikasi
sudah dilakukan
2. Klik tab “Uji Data
Tunggal”
3. Masukkan field
text yang tersedia
dengan huruf
Masukan
berupa huruf
pada field
text yang
tersedia
Muncul pesan
error input
tidak valid
Muncul
pesan error
input tidak
valid
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
4. Klik tombol
“PROSES”
Pengujian uji
data tunggal
dengan tidak
mengisi
atribut
1. Proses klasifikasi
sudah dilakukan
2. Klik tab “Uji Data
Tunggal”
3. Kosongkan yang
tersedia dengan
huruf
4. Klik tombol
“Proses”
Kosongkan
field text
yang tersedia
Muncul pesan
error input
tidak valid
Muncul
pesan error
input tidak
valid
Tidak ada
perbaikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
LAMPIRAN III: PERHITUNGAN MANUAL AKURASI
Tabel 5.1 Tabel Confusion Matriks 1 Klasifikasi BB/U dengan
200 Pohon
CALSSIFICATION PREDICTED CLASS
Baik Buruk Kurang Lebih
OBSERVED
CLASS
Baik 58 0 0 0
Buruk 0 1 3 0
Kurang 0 0 11 0
Lebih 0 0 0 4
Akurasi = 58+1+11+4
85 × 100% = 87,05%
Tabel 5.2 Tabel Confusion Matriks 2 Klasifikasi BB/U dengan
200 Pohon
CALSSIFICATION PREDICTED CLASS
Baik Buruk Kurang Lebih
OBSERVED
CLASS
Baik 64 0 1 0
Buruk 0 2 2 0
Kurang 2 0 12 0
Lebih 1 0 0 1
Akurasi = 64+2+12+1
85 × 100% = 92,94%
Tabel 5.3 Tabel Confusion Matriks 3 Klasifikasi BB/U dengan
200 Pohon
CALSSIFICATION PREDICTED CLASS
Baik Buruk Kurang Lebih
OBSERVED
CLASS
Baik 65 0 0 1
Buruk 0 0 1 0
Kurang 0 0 14 0
Lebih 2 0 0 2
Akurasi = 65+0+14+2
85 × 100% = 95,29%
Tabel 5.4 Tabel Confusion Matriks 4 Klasifikasi BB/U dengan
200 Pohon
CALSSIFICATION PREDICTED CLASS
Baik Buruk Kurang Lebih
OBSERVED
CLASS
Baik 63 0 1 1
Buruk 0 1 1 0
Kurang 1 0 7 0
Lebih 5 0 0 5
Akurasi = 63+1+7+5
85 × 100% = 89,41%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
Tabel 5.5 Tabel Confusion Matriks 5 Klasifikasi BB/U dengan
200 Pohon
CALSSIFICATION PREDICTED CLASS
Baik Buruk Kurang Lebih
OBSERVED
CLASS
Baik 67 0 0 0
Buruk 0 1 1 0
Kurang 1 0 14 0
Lebih 0 0 0 1
Akurasi = 67+1+14+1
85 × 100% = 97,64%
Tabel 5.6 Tabel Confusion Matriks 6 Klasifikasi BB/U dengan
200 Pohon
CALSSIFICATION PREDICTED CLASS
Baik Buruk Kurang Lebih
OBSERVED
CLASS
Baik 56 0 2 0
Buruk 1 2 2 0
Kurang 4 0 16 0
Lebih 1 0 0 1
Akurasi = 56+2+16+1
85 × 100% = 88,23%
Tabel 5.7 Tabel Confusion Matriks 7 Klasifikasi BB/U dengan
200 Pohon
CALSSIFICATION PREDICTED CLASS
Baik Buruk Kurang Lebih
OBSERVED
CLASS
Baik 69 0 0 0
Buruk 0 1 2 0
Kurang 2 0 9 0
Lebih 1 0 0 1
Akurasi = 69+1+9+1
85 × 100% = 94,11%
Tabel 5.8 Tabel Confusion Matriks 8 Klasifikasi BB/U dengan
200 Pohon
CALSSIFICATION PREDICTED CLASS
Baik Buruk Kurang Lebih
OBSERVED
CLASS
Baik 65 0 1 0
Buruk 0 2 1 0
Kurang 1 0 12 0
Lebih 0 0 0 3
Akurasi = 65+2+12+3
85 × 100% = 96,47%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
Tabel 5.9 Tabel Confusion Matriks 9 Klasifikasi BB/U dengan
200 Pohon
CALSSIFICATION PREDICTED CLASS
Baik Buruk Kurang Lebih
OBSERVED
CLASS
Baik 54 0 3 0
Buruk 0 2 3 0
Kurang 3 0 20 0
Lebih 0 0 0 0
Akurasi = 54+2+20+0
85 × 100% = 89,41%
Tabel 5.10 Tabel Confusion Matriks 10 Klasifikasi BB/U dengan
200 Pohon
CALSSIFICATION PREDICTED CLASS
Baik Buruk Kurang Lebih
OBSERVED
CLASS
Baik 60 0 1 0
Buruk 0 1 2 0
Kurang 5 0 13 0
Lebih 0 0 0 0
Akurasi = 60+1+13+1
85 × 100% = 90,58%
Rata-rata akurasi BB/U =
87,05+92,94+95,29+89,41+97,64+88,23+94,11+96,4+89,41+90,58
10= 92,11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
Tabel 5.11 Tabel Confusion Matriks 1 Klasifikasi TB/U dengan
600 Pohon
Classification Predicted Class
Normal Pendek Sangat
Pendek
Tinggi
Observed
Class
Normal 76 0 0 0
Pendek 8 14 1 0
Sangat
Pendek
3 4 10 0
Tinggi 4 0 0 2
Akurasi = 76+14+10+2
122 × 100% = 83,60%
Tabel 5.12 Tabel Confusion Matriks 2 Klasifikasi TB/U dengan
600 Pohon
Classification Predicted Class
Normal Pendek Sangat
Pendek
Tinggi
Observed
Class
Normal 79 3 0 0
Pendek 6 10 0 0
Sangat
Pendek
5 3 3 0
Tinggi 9 0 0 4
Akurasi = 79+10+3+4
122 × 100% = 78,68%
Tabel 5.13 Tabel Confusion Matriks 3 Klasifikasi TB/U dengan
600 Pohon
Classification Predicted Class
Normal Pendek Sangat
Pendek
Tinggi
Observed
Class
Normal 80 0 0 1
Pendek 12 6 1 0
Sangat
Pendek
2 4 8 0
Tinggi 3 0 0 5
Akurasi = 80+6+8+5
122 × 100% = 81,14%
Tabel 5.14 Tabel Confusion Matriks 4 Klasifikasi TB/U dengan
600 Pohon
Classification Predicted Class
Normal Pendek Sangat
Pendek
Tinggi
Observed
Class
Normal 82 3 0 0
Pendek 9 16 1 0
Sangat
Pendek
1 3 4 0
Tinggi 2 0 0 0
Akurasi = 82+16+4+0
121 × 100% = 84,29%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
Tabel 5.15 Tabel Confusion Matriks 5 Klasifikasi TB/U dengan
600 Pohon
Classification Predicted Class
Normal Pendek Sangat
Pendek
Tinggi
Observed
Class
Normal 86 3 2 1
Pendek 5 13 0 0
Sangat
Pendek
1 3 4 0
Tinggi 0 0 0 3
Akurasi = 86+13+4+3
121 × 100% = 87,60%
Tabel 5.16 Tabel Confusion Matriks 6 Klasifikasi TB/U dengan
600 Pohon
Classification Predicted Class
Normal Pendek Sangat
Pendek
Tinggi
Observed
Class
Normal 85 3 0 0
Pendek 6 12 2 0
Sangat
Pendek
2 4 5 0
Tinggi 1 0 0 1
Akurasi = 85+12+5+1
121 × 100% = 85,12%
Tabel 5.17 Tabel Confusion Matriks 7 Klasifikasi TB/U dengan
200 Pohon
Classification Predicted Class
Normal Pendek Sangat
Pendek
Tinggi
Observed
Class
Normal 51 2 0 0
Pendek 23 19 2 0
Sangat
Pendek
5 4 6 0
Tinggi 9 0 0 0
Akurasi = 51+19+6+0
121 × 100% = 62,80%
Rata-rata akurasi TB/U =
83,60+78,68+81,14+84,29+87,60+85,12+62,80
7= 80,46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
Tabel 5.18 Tabel Confusion Matriks 1 Klasifikasi BB/TB dengan
10 Pohon
Classification Predicted Class
Gemuk Kurus Normal Sangat
Kurus
Observed
Class
Gemuk 5 0 3 0
Kurus 0 5 3 0
Normal 2 2 64 0
Sangat
Kurus
1 0 0 0
Akurasi = 5+5+64+0
85 × 100% = 87,05%
Tabel 5.19 Tabel Confusion Matriks 2 Klasifikasi BB/TB dengan
10 Pohon
Classification Predicted Class
Gemuk Kurus Normal Sangat
Kurus
Observed
Class
Gemuk 1 0 4 0
Kurus 0 4 3 0
Normal 2 0 62 0
Sangat
Kurus
0 0 8 1
Akurasi = 1+4+62+1
85 × 100% = 80%
Tabel 5.20 Tabel Confusion Matriks 3 Klasifikasi BB/TB dengan
10 Pohon
Classification Predicted Class
Gemuk Kurus Normal Sangat
Kurus
Observed
Class
Gemuk 5 0 1 0
Kurus 0 3 2 0
Normal 1 1 70 0
Sangat
Kurus
0 2 0 0
Akurasi = 5+3+70+0
85 × 100% = 91,76%
Tabel 5.21 Tabel Confusion Matriks 4 Klasifikasi BB/TB dengan
10 Pohon
Classification Predicted Class
Gemuk Kurus Normal Sangat
Kurus
Observed
Class
Gemuk 6 0 3 0
Kurus 0 2 5 0
Normal 1 0 65 1
Sangat
Kurus
0 1 0 1
Akurasi = 6+2+65+1
85 × 100% = 87,05%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
Tabel 5.22 Tabel Confusion Matriks 5 Klasifikasi BB/TB dengan
10 Pohon
Classification Predicted Class
Gemuk Kurus Normal Sangat
Kurus
Observed
Class
Gemuk 2 0 2 0
Kurus 0 4 4 1
Normal 1 2 69 0
Sangat
Kurus
0 0 0 0
Akurasi = 2+4+69+0
85 × 100% = 88,23%
Tabel 5.23 Tabel Confusion Matriks 6 Klasifikasi BB/TB dengan
10 Pohon
Classification Predicted Class
Gemuk Kurus Normal Sangat
Kurus
Observed
Class
Gemuk 2 0 2 0
Kurus 0 2 4 0
Normal 0 0 71 1
Sangat
Kurus
1 1 1 0
Akurasi = 2+2+71+0
85 × 100% = 88,23%
Tabel 5.24 Tabel Confusion Matriks 7 Klasifikasi BB/TB dengan
10 Pohon
Classification Predicted Class
Gemuk Kurus Normal Sangat
Kurus
Observed
Class
Gemuk 4 0 3 0
Kurus 0 1 4 0
Normal 1 1 70 0
Sangat
Kurus
0 0 1 0
Akurasi = 4+1+70+0
85 × 100% = 88,23%
Tabel 5.25 Tabel Confusion Matriks 8 Klasifikasi BB/TB dengan
10 Pohon
Classification Predicted Class
Gemuk Kurus Normal Sangat
Kurus
Observed
Class
Gemuk 5 0 2 0
Kurus 0 2 3 0
Normal 1 0 69 0
Sangat
Kurus
0 0 1 2
Akurasi = 5+2+69+2
85 × 100% = 91,76%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
Tabel 5.26 Tabel Confusion Matriks 9 Klasifikasi BB/TB dengan
10 Pohon
Classification Predicted Class
Gemuk Kurus Normal Sangat
Kurus
Observed
Class
Gemuk 2 0 5 0
Kurus 0 9 5 1
Normal 0 3 47 0
Sangat
Kurus
0 8 4 1
Akurasi = 2+9+47+1
85 × 100% = 69,41%
Tabel 5.27 Tabel Confusion Matriks 10 Klasifikasi BB/TB
dengan 10 Pohon
Classification Predicted Class
Gemuk Kurus Normal Sangat
Kurus
Observed
Class
Gemuk 2 0 3 0
Kurus 0 3 1 0
Normal 2 1 70 0
Sangat
Kurus
0 0 2 1
Akurasi = 2+3+70+1
85 × 100% = 89,41%
Rata-rata akurasi BB/TB
B = 87,05+80+91,76+87,05+88,23+88,23+88,23+91,76+69,41+89,41
10= 86,11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
LAMPIRAN IV: CODE MENYIMPAN DAN MEMBACA MODEL
A. Menyimpan Model ke File
1. # Parameter
2. # data : model yang akan disimpan
3. # kelas : label klasifiasi, BB/U, TB/U, atau BB/TB
4. def save_model(data, kelas):
5. # jika kelas = BB/U
6. if kelas == 'BB/U':
7. # simpan model ke file optimal_model_bbu.sav
8. joblib.dump(data, 'optimal_model_bbu.sav')
9. return True
10.
11. # jika kelas = TB/U
12. elif kelas == 'TB/U':
13. # simpan model ke file optimal_model_tbu.sav
14. joblib.dump(data, 'optimal_model_tbu.sav')
15. return True
16.
17. # jika kelas = BB/TB
18. elif kelas == 'BB/TB':
19. # simpan model ke file optimal_model_bbtb.sav
20. joblib.dump(data, 'optimal_model_bbtb.sav')
21. return True
22.
23. return False
B. Membaca Model dari File
1. # Parameter
2. # kelas : label atau kelas klasifikasi
3. def load_model(kelas):
4.
5. # jika kelas = BB/U
6. if kelas == 'BB/U':
7. # baca model BB/U optimal dari file optimal_model_bbu.sav
8. return joblib.load('optimal_model_bbu.sav')
9.
10. # jika kelas = TB/U
11. elif kelas == 'TB/U':
12. # baca model TB/U optimal dari file optimal_model_tbu.sav
13. return joblib.load('optimal_model_tbu.sav')
14.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
15. # jika kelas = BB/TB
16. elif kelas == 'BB/TB':
17. # baca model BB/TB optimal dari file optimal_model_tbu.sav
18. return joblib.load('optimal_model_bbtb.sav')
19.
20. return None
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI