METODE RANDOM FOREST UNTUK MEMPREDIKSI PENGGUNAAN ALAT KONTRASEPSI
(Studi Kasus Puskesmas Nglipar II)
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Informatika
Oleh:
Aditya Galih Dika Siwi 165314031
PROGRAM STUDI INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
RANDOM FOREST METHOD TO PREDICT THE USAGE OF CONTRACEPTION
(Case Study at Puskesmas Nglipar II)
THESIS
Presented as Partial Fulfillment of the Requirement to Obtain the Sarjana Komputer Degree in Informatics Study Program
By:
Aditya Galih Dika Siwi 165314031
INFORMATICS STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
i
ii
iii
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya orang lain, kecuali yang telah disebutkan di dalam daftar pustaka sebagaimana layaknya karya ilmiah yang benar.
Yogyakarta, 31 Maret 2021
Penulis
iv
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma:
Nama : Aditya Galih Dika Siwi
Nomor Induk Mahasiswa : 165314031
Demi pengembangan ilmu pengetahuan, saya memberikan karya ilmiah ini kepada perpustakaan Universitas Sanata Dharma yang berjudul:
METODE RANDOM FOREST UNTUK MEMPREDIKSI PENGGUNAAN ALAT KONTRASEPSI
Dengan demikian, saya memberikan hal kepada perpustakaan Universitas Sanata Dharma untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk apa saja, mendistribusikan secara terbatas, dan mempublikasikan di internet atau media lain untuk kepentingan akademis tanpa perlu meminta izin saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 31 Maret 2021 Penulis
v
HALAMAN PERSEMBAHAN
“Barangsiapa yang mengerjakan kebaikan seberat dzarrahpun, niscaya dia akan melihat (balasan) nya.”
vi
ABSTRAK
Tingginya laju pertumbuhan penduduk di Indonesia dapat menimbulkan berbagai masalah jika tidak segera diatasi. Hal ini dapat memicu tingginya kepadatan penduduk, kejahatan, kemiskinan, dan banyak faktor lainnya. Maka dari itu, sejak lama pemerintah merancang program untuk membentuk keluarga yang sejahtera dengan membatasi jumlah kelahiran anak yaitu program Keluarga Berencana (KB). Namun terkadang permasalahan yang timbul adalah calon akseptor cenderung memilih alat kontrasepsinya berdasar coba-coba maupun hanya sekedar mendengar pendapat orang lain atas dasar kurangnya pemahaman mereka terhadap alat kontrasepsi yang akan digunakan. Hal itu menjadikan calon aseptor merasa bingung untuk memilih alat kontrasepsi yang akan digunakan.
Penelitian ini bermaksud untuk membantu para calon akseptor tersebut tentang pemilihan alat kontrasepsi yang sesuai untuk digunakan, khususnya di daerah Nglipar II, Gunungkidul. Penelitian ini mempergunakan teknik penambangan data dengan menerapkan algoritma Random Forest untuk memprediksi alat kontrasepsi yang sesuai bagi akseptor. Data yang digunakan adalah 326 data akseptor yang di dapat dari Puskesmas Nglipar II, Gunungkidul selama periode tahun 2020. Data tersebut terdiri dari umur, jumlah anak, dan berat badan akseptor. Dilakukan eksperimen terhadap data tersebut dengan variasi jumlah fold 5 dan 10, serta jumlah pohon 10-100 dengan kelipatan 10. Dari hasil eksperimen, didapatkan akurasi tertinggi sebesar 81.45% pada fold=10 dan jumlah pohon=30.
vii
ABSTRACT
The high rate of population growth today may cause various problems if not handled quickly. This problem can lead to high population density, crime, poverty, and many more. Therefore, since a long time ago the government has designed a program to plan happy family by limiting the number of child births, namely the Family Planning and Birth Control Program (Keluarga Berencana/KB). However, sometimes acceptors choose the contraceptives based on trial and error or just hearing other people's opinions because of their lack of understanding. This makes the acceptors confused to choose what contraceptive best to use.
This study aims to help acceptors in choosing the best contraceptive method to use, especially in area of Nglipar II, Gunungkidul. The data used were 326 acceptors data obtained from Puskesmas Nglipar II, Gunungkidul during the 2020 period. The data consisted of age, number of children, and body weight of acceptors. Experiment was conducted on the data with variations in the number of folds 5 and 10, and the number of trees from 10 to 100 with a multiple of 10. From the experimental results, the highest accuracy was 81.45% at fold=10 and the number of trees=30.
viii
KATA PENGANTAR
Puji syukur kepada Allah SWT. Tuhan Yang Maha Esa, atas berkat rahmat-Nya penulis mampu menyelesaikan penelitian tugas akhir ini yang berjudul “METODE RANDOM FOREST UNTUK MEMPREDIKSI PENGGUNAAN ALAT KONTRASEPSI”.
Tanpa adanya bantuan waktu dan tenaga yang diberikan kepada penulis, tentunya penelitian tugas akhir ini tidak bisa selesai sesuai dengan yang diharapkan, untuk itu penulis mengucapkan banyak terimakasih kepada:
1. Keluarga besar penulis, terlebih Bapak, Ibu, dan kedua adik saya yang semuanya memberi dukungan tidak henti-hentinya kepada penulis.
2. Ibu Paulina H. Prima Rosa, M.Sc., sebagai dosen pembimbing penulis yang dengan sabar membimbing penulis untuk menyelesaikan penelitian ini. 3. Bapak Robertus Adi Nugroho, S.T., M.Eng., selaku Ketua Program Studi
Informatika Universitas Sanata Dharma.
4. Romo Dr. Cyprianus Kuntoro Adi, S.J., M.A., M.Sc., selaku Dosen Pembimbing Akademik.
5. Rizky Anom Pangesti, yang telah dengan sabar dan sepenuh hati memberi dukungan kepada penulis.
6. Segenap anggota WhatsApp Group “Poloo-Poloo” yang telah memberi dukungan dan menghibur penulis dikala sedih atau patah semangat.
7. Johan dan Ega yang menyempatkan waktu untuk berdiskusi.
8. Teman-teman penghuni kos Asnawi atas pemberian semangat dan motivasinya.
9. Teman-teman Informatika 2016 atas kebersamaan selama ini.
ix
DAFTAR ISI
HALAMAN PERSETUJUAN ... i
HALAMAN PENGESAHAN ... ii
PERNYATAAN KEASLIAN KARYA ... iii
PERNYATAAN PERSETUJUAN PUBLIKASI………...iv
HALAMAN PERSEMBAHAN ... v
ABSTRAK ... vi
ABSTRACT ... vii
KATA PENGANTAR ... viii
DAFTAR ISI ... x
DAFTAR TABEL ... xi
DAFTAR GAMBAR ... xii
BAB I PENDAHULUAN ... 1 1.1. Latar Belakang ... 1 1.2. Rumusan Masalah ... 3 1.3. Tujuan Penelitian ... 3 1.4. Batasan Masalah ... 4 1.5. Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 6
2.1. Data Mining ... 6
2.2. Algoritma Random Forest ... 9
2.2. Classification and Regression Tree (CART) ... 11
2.3. Normalisasi Data ... 12
2.4. Cross Validation ... 13
2.5. Confusion Matrix ... 14
2.6. Alat Kontrasepsi ... 15
BAB III METODE PENELITIAN ... 18
3.1. Data Penelitian ... 18
3.2. Pre-processing ... 20
x
3.4. Pemodelan Random Forest ... 22
3.5. Diagram Use-Case ... 31
3.6. Desain Antarmuka ... 32
3.7. Narasi Use-Case ... 32
3.8. Implementasi Program ... 35
3.9. Alat Pengujian ... 37
BAB IV HASIL DAN PEMBAHASAN ... 39
4.1. Pengujian Data ... 39
4.1.1. Pengujian 5-fold ... 39
4.1.2. Pengujian 10-fold ... 40
4.2. Perbandingan Akurasi Optimal ... 41
4.3. Hubungan Antar Perhitungan ... 42
4.4. Uji Data Tunggal ... 43
BAB V KESIMPULAN DAN SARAN ... 45
5.1. Kesimpulan ... 45
5.2. Saran ... 45
xi
DAFTAR TABEL
Tabel 2.1. Tabel Confusion Matrix Dua Kelas ... 14
Tabel 3.1. Data Atribut... 18
Tabel 3.2. Tabel distribusi data atribut Umur. ... 19
Tabel 3.3. Tabel distribusi data atribut Jumlah Anak ... 19
Tabel 3.4. Tabel distribusi data atribut Berat Badan ... 19
Tabel 3.5. Tabel distribusi label Alat Kontrasepsi ... 20
Tabel 3.6. Contoh Data ... 20
Tabel 3.7. Contoh Data untuk Membangun Pohon Keputusan ... 23
Tabel 3.8. Perhitungan Iterasi 1 ... 24
Tabel 3.9. Data untuk Iterasi 2 ... 25
Tabel 3.10. Perhitungan Iterasi 2 ... 25
Tabel 3.11. Data untuk Iterasi 3 ... 26
Tabel 3.12. Perhitungan Iterasi 3 ... 27
Tabel 3.13. Data untuk Iterasi 4 ... 28
Tabel 3.14. Perhitungan Iterasi 4 ... 29
Tabel 3.15. Narasi Use-Case Upload Dataset ... 32
Tabel 3.16. Narasi Use-Case Pembangunan Random-Forest ... 33
Tabel 3.17. Narasi Use-Case Uji Data Tunggal ... 34
Tabel 3.18. Tabel Implementasi Program ... 35
Tabel 4.1. Hasil Pengujian 5-fold. ... 40
Tabel 4.2. Hasil Pengujian 10-fold. ... 40
xii
DAFTAR GAMBAR
Gambar 2.1. Random Forest (sumber: towardsdatascience.com) ... 10
Gambar 2.2. Ilustrasi 4-fold Cross Validation ... 13
Gambar 3.1. Source Code untuk proses Normalisasi ... 22
Gambar 3.2. Root hasil perhitungan ... 24
Gambar 3.3. Pohon Keputusan Iterasi 2... 26
Gambar 3.4. Pohon Keputusan Iterasi 3... 28
Gambar 3.5. Pohon Keputusan Iterasi 4... 30
Gambar 3.6. Diagram Use-Case ... 31
Gambar 3.7. Gambar Desain Antarmuka Aplikasi ... 32
Gambar 4.1. Jumlah Pohon vs Akurasi ... 42
Gambar 4.2. Hubungan Fold dan Akurasi ... 43
Gambar 4.3. Hasil Uji Data 1 ... 44
1
BAB I PENDAHULUAN
1.1. Latar Belakang
Indonesia merupakan salah satu negara berkembang yang memiliki penduduk sangat banyak. Menurut data dari Badan Perencanaan Pembangunan tahun 2018, jumlah penduduk Indonesia sebanyak 265 juta jiwa dengan rincian 133,17 juta jiwa berjenis kelamin laki-laki dan 131,88 juta jiwa berjenis kelamin perempuan.
Tingginya laju pertumbuhan penduduk yang tidak diiringi dengan peningkatan kualitas penduduk, membutuhkan upaya penanganan yaitu dengan program Keluarga Berencana (KB) (Lontaan, 2014). Keluarga Berencana (KB) dirumuskan sebagai upaya peningkatan kepedulian dan peran serta masyarakat melalui pembatasan usia perkawinan, pengaturan kelahiran, pembinaan ketahanan keluarga, peningkatan kesejahteraan keluarga untuk mewujudkan keluarga kecil bahagia sejahtera (BKKBN, 2008). Salah satu metode yang sering digalakkan pemerintah adalah dengan penggunaan alat kontrasepsi bagi para aseptor.
Penggunaan alat kontrasepsi telah meningkat banyak di bagian dunia. Menurut World Health Organization (WHO) pada tahun 2014, negara di Asia dan Amerika Latin memiliki kenaikan data statistic pengguna alat kontrasepsi yang beragam, dengan persentase jumlah pengguna yang terendahberada di Sub-Sahara Afrika. Di Afrika dari 23,6% menjadi 27,6%, di Asia meningkat dari 60,9%
menjadi 61,6%, sedangkan di Amerika Latin naik dari 66,7% menjadi 67%. Tak terkecuali di daerah Kapanewon Nglipar, Kabupaten Gunungkidul.
Di Kapanewon Nglipar, Kabupaten Gunungkidul, terdapat dua puskesmas yang membagi areanya menjadi dua cakupan, yaitu Puskesmas Nglipar I dan Puskesmas Nglipar II. Pada cakupan Puskesmas Nglipar II yang terdiri dari beberapa desa, pengguna program Keluarga Berencana cukup banyak. Hal ini memberikan tanda jika stok alat kontrasepsi harus selalu tersedia. Terkadang, calon pengguna alat kontrasepsi ragu akan menggunakan jenis alat kontrasepsi apa, dan biasanya perlu datang ke puskesmas terdekat untuk berkonsultasi terlebih dahulu. Selain itu, kader-kader puskesmas yang tersebar di setiap desa harus mengumpulkan informasi tentang rekap data pengguna alat kontrasepsi yang dimana dalam kondisi pandemik seperti ini para kader tidak dapat secara bebas untuk melakukan monitoring data ataupun melakukan edukasi kesehatan.
Dengan menggunakan pendekatan metode Random Forest, diharapkan penulis dapat menemukan pola pengguna yang menggunakan alat kontrasepsi pada cakupan wilayah Puskesmas Nglipar II, yang nantinya dapat bermanfaat untuk memberi gambaran tentang alat kontrasepsi apa yang kemungkinan baik digunakan oleh calon pengguna baru. Dari hasil penelitian ini juga memungkinkan untuk membangun sebuah aplikasi prediksi yang dapat digunakan sebagai alat edukasi kepada masyarakat. Para kader dapat memanfaatkan hasil penelitian ini untuk mengedukasi para calon pengguna alat kontrasepsi tentang alat kontrasepsi apa yang baik digunakan. Masyarakat hanya tinggal memberikan data yang dibutuhkan kepada kader melalui aplikasi online messaging apps seperti WhatsApp, dan
3
nantinya hasil prediksi akan diberikan kepada calon pengguna alat kontrasepsi tersebut.
Penelitian dengan topik ini juga pernah dilakukan oleh Rusda Wajhillah dan Ita Yulianti (2017) dari STMIK Nusa Mandiri Sukabumi dengan data yang didapat dari Posyandu Desa Nyangkowek, Cicurug dengan menggunakan algoritma C4.5 berbasis website dan dievaluasi menggunakan Cross Validation mendapatkan akurasi sebesar 85.38%. Penulis tertarik untuk melakukan penelitian ini menggunakan algoritma yang berbeda yaitu Random Forest dengan tujuan untuk menemukan akurasi dan kemudian dibandingkan dengan penelitian yang sudah ada tersebut mana yang lebih tinggi akurasinya.
1.2. Rumusan Masalah
Dari latar belakang di atas, beberapa permasalahan yang akan diselesaikan dalam penelitian ini antara lain:
1. Bagaimana metode Random Forest mampu memprediksi alat kontrasepsi yang akan digunakan oleh calon pengguna?
2. Berapa presentase akurasi yang diperoleh untuk hasil prediksi tersebut?
1.3. Tujuan Penelitian
Setelah menemukan beberapa permasalahan di atas, maka penelitian ini bertujuan antara lain:
1. Mengetahui kemampuan Random Forest untuk memprediksi alat kontrasepsi yang akan digunakan oleh calon pengguna.
2. Mengetahui tingkat akurasi hasil prediksi tersebut.
1.4. Batasan Masalah
Batasan-batasan yang ditentukan dalam penelitian ini antara lain:
1. Metode yang digunakan adalah Random Forest.
2. Data yang digunakan sebanyak 326 data dengan format file .xlsx.
3. Implementasi menggunakan bahasa pemrograman python.
1.5. Sistematika Penulisan
Penulisan penelitian ini dibagi menjadi 5 (lima) bab dengan sistematika penulisan sebagai berikut:
a. BAB I PENDAHULUAN
Bab ini berisi tentang latar belakang, rumusan masalah, tujuan penelitian, batasan masalah, dan sistematika penulisan.
b. BAB II LANDASAN TEORI
Bab ini berisi tentang penjelasan teori yang menjadi landasan penelitian dengan implementasi algoritma Random Forest.
5
c. BAB III METODE PENELITIAN
Bab ini berisi tentang sumber data, studi pustaka, observasi, pengolahan data, pembuatan rancangan alat uji, pembuatan alat uji, dan implementasi program.
d. BAB IV HASIL DAN PEMBAHASAN
Bab ini berisi tentang analisis hasil yang didapatkan pada penelitian.
e. BAB V KESIMPULAN DAN SARAN
Bab ini membahas tentang kesimpulan yang diperoleh dari hasil penelitian tugas akhir yang dilakukan dan saran yang berguna untuk penelitian dimasa mendatang.
6
BAB II
LANDASAN TEORI
2.1. Data Mining
Data mining adalah suatu istilah yang digunakan untuk menguraikan penemuan pengetahuan di dalam database. Data mining adalah proses yang menggunakan statistik, matematika, kecerdasan buatan, dan machine learning untuk mengekstraksi dan mengidentifikasi informasi yang bermanfaat dan pengetahuan yang terkait dari berbagai database besar (Turban, dkk. 2005). Definisi umum dari data mining itu sendiri adalah proses pencarian pola-pola yang tersembunyi (hidden patern) berupa pengetahuan (knowledge) yang tidak diketahui sebelumnya dari suatu sekumpulan data yang mana data tersebut dapat berada di dalam database, data warehouse, atau media penyimpanan informasi yang lain (Kusrini dan Emha Taufiq, 2009). Hal penting yang terkait dalam data mining adalah:
1. Data mining merupakan proses otomatis terhadap data yang sudah ada. 2. Data yang akan diproses berupa data yang sangat besar.
3. Tujuan data mining adalah mendapatkan hubungan atau pola yang mungkin memberikan indikasi yang bermanfaat.
Data mining dilakukan dengan tool khusus, yang mengeksekusi operasi data mining yang telah didefinisikan berdasarkan model analisis. Data mining merupakan proses analisis terhadap data dengan penekanan menemukan informasi
7
yang tersembunyi pada sejumlah data besar yang disimpan ketika menjalankan bisnis perusahaan. Larose (2005) menjelaskan kemajuan luar biasa yang terus berlanjut dalam bidang data mining didorong oleh beberapa faktor antara lain:
1. Pertumbuhan yang cepat dalam kumpulan data.
2. Penyimpanan data dalam data warehouse, sehingga seluruh perusahaan memiliki akses ke dalam database yang andal.
3. Adanya peningkataan akses data melalui navigasi web dan internet.
4. Tekanan kompetisi bisnis untuk meningkatkan penguasaan pasar dalam globalisasi ekonomi.
5. Perkembangan teknologi perangkat lunak untuk data mining (ketersediaan teknologi).
6. Perkembangan yang hebat dalam kemampuan komputasi dan pengembangan kapasitas media penyimpanan.
Istilah data mining dan knowledge discovery in databases (KDD) sering kali digunakan secara bergantian untuk menjelaskan proses penggalian informasi tersembunyi dalam suatu basis data yang besar. Sebenarnya kedua istilah tersebut memiliki konsep yang berbeda, tetapi berkaitan satu sama lainnya. Salah satu tahapan dalam keseluruhan proses KDD adalah data mining. Menurut Fayyad (1996), proses KDD itu ada 5 tahapan yang dilakukan secara terurut, yaitu:
1. Data Selection
Pemilihan (seleksi) data dari sekumpulan data operasional perlu dilakukan sebelum tahap penggalian informasi dalam KDD dimulai. Data hasil seleksi yang digunakan untuk proses data mining, disimpan dalam suatu berkas, terpisah dari basis data operasional.
2. Pre-processing / Cleaning
Sebelum proses data mining dapat dilaksanakan, perlu dilakukan proses cleaning pada data yang menjadi fokus KDD. Proses cleaning mencakup antara lain membuang duplikasi data, memeriksa data yang inkonsisten, dan memperbaiki kesalahan pada data.
3. Transformation
Coding adalah proses transformasi pada data yang telah dipilih, sehingga data tersebut sesuai untuk proses data mining. Proses coding dalam KDD merupakan proses kreatif dan sangat tergantung pada jenis atau pola informasi yang akan dicari dalam basis data.
4. Data Mining
Data mining adalah proses mencari pola atau informasi menarik dalam data terpilih dengan menggunakan teknik atau metode tertentu. Teknik, metode, atau algoritma dalam data mining sangat bervariasi. Pemilihan metode atau algoritma yang tepat sangat bergantung pada tujuan dan proses KDD secara keseluruhan.
9
5. Interpretation / Evalution
Pola informasi yang dihasilkan dari proses data mining perlu ditampilkan dalam bentuk yang mudah dimengerti oleh pihak yang berkepentingan. Tahap ini merupakan bagaian dari proses KDD yang disebut interpretation. Tahap ini mencakup pemeriksaan apakah pola atau informasi yang ditemukan bertentangan dengan fakta atau hipotesis yang ada sebelumnya.
2.2. Algoritma Random Forest
Random Forest merupakan salah satu metode yang paling popular dalam Machine Learning. Random Forest pertama kali diusulkan oleh Tin Kam Ho pada tahun 1995. Random Forest merupakan sebuah pendekatan ensemble yang juga dapat dianggap sebagai bentuk prediktor ketetanggaan terdekat (Breiman, 2001).
Random Forest merupakan metode ensemble. Maksud dari ensemble sendiri adalah pendekatan divide-and-conquer approach yang digunakan untuk meningkatkan performasi. Random Forest diawali dengan teknik pembelajaran Machine Learning dasar yaitu Decision Tree. Dalam Decision Tree, input dimasukkan pada bagian atas (root) kemudian turun kebagian bawah (leaf).
Adnyana (2015) sendiri mengemukakan, Random Forest merupakan pengembangan dari Decision Tree dengan menggunakan beberapa Decision Tree dimana setiap Decision Tree telah dilakukan training menggunakan sampel individu dan setiap atribut dipecah pada tree yang dipiliah antara atribut subset yang
bersifat acak, dan pada proses klasifikasi, individunya didasarkan pada vote dari suara terbanyak pada kumpulan populasi tree.
Sesuai dengan namanya, metode ini menciptakan sebuah hutan (forest) dengan sejumlah pohon (tree). Semakin banyak pohon (tree), maka semakin besar pula akurasi yang didapatkan (Polamuri, 2017).
Gambar 2.1. Random Forest (sumber: towardsdatascience.com)
Cara kerja algoritma Random Forest adalah sebagai berikut (Han, 2012):
1. Buat subset data menggunakan bootstrap dengan replacement.
2. Dengan menggunakan bootstrap, tree dibangun sampai maksimum (tanpa pemangkasan).
11
3. Ulangi langkah 1 dan 2 sebanyak k kali sehingga terbentuk sebuah hutan (forest) yang terdiri atas k pohon (tree).
4. Kumpulkan hasil prediksi dari pohon 1, 2, sampai pohon k, lalu tentukan hasil prediksi terbanyak yang muncul sebagai hasil akhir prediksi.
2.2. Classification and Regression Tree (CART)
Pembangunan tree dalam Random Forest menggunakan metodologi yang sama dengan yang digunakan oleh Classification and Regression Tree (CART). Untuk mengukur pemilihan atribut yang akan digunakan pada setiap node sebuah tree, digunakan nilai information gain, yang dapat dicari menggunakan rumus 2.1 sebagai berikut:
Gain(A) = Info(D) – InfoA(D) (2.1)
Dimana nilai Info(D) dapat dicari dengan rumus 2.2 dan nilai InfoA(D) dicari dengan rumus 2.3 di bawah ini:
Info(D) = − ∑𝑚𝑖=1 ip log2 (pi) (2.2)
Keterangan:
m : jumlah kelas target
InfoA(D) = ∑ 𝐷𝑗 𝐷 𝑣 𝑗=1 x Info (Dj) (2.3) Keterangan: v : jumlah partisi
Dj : total partisi ke-j
D : jumlah baris pada semua partisi
2.3. Normalisasi Data
Menurut Han & Kamber (2006), normalisasi merupakan proses pen-skalaan nilai atribut dari data sehingga jatuh pada range tertentu. Salah satu metode yang dapat digunakan yaitu min-max normalization (min-max normalisasi). Metode ini dapat dicari dengan menggunakan rumus 2.4 di bawah ini:
𝑁𝑑𝑎𝑡𝑎 = vi − minA
maxA− minA (𝑛𝑒𝑤_𝑚𝑎𝑥𝐴− 𝑛𝑒𝑤_𝑚𝑖𝑛𝐴) + 𝑛𝑒𝑤_𝑚𝑖𝑛𝐴 (2.4)
Keterangan:
Ndata : data hasil normalisasi
Vi : data yang akan dinormalisasi
minA : nilai minimum dari data
maxA : nilai maksimum dari data
new_maxA : skala maksimum yang diberikan
13
2.4. Cross Validation
Cross Validation adalah bentuk sederhana dari teknik statistik. Jumlah fold standar untuk memprediksi tingkat error dari data adalah dengan menggunakan 10-fold cross validation (Witten, 2011:153).
Gambar 2.2 di bawah ini merupakan contoh dari 4-fold cross validation:
Gambar 2.2. Ilustrasi 4-fold Cross Validation
Berikut ini merupakan langkah-langkah dalam pengujian data dengan 4-fold Cross Validation.
1. Dataset yang digunakan dibagi menjadi 4 bagian, yaitu D1, D2, D3, dan
D4. Dt, t = (1, 2, 3, 4) digunakan sebagai data testing dan dataset lainnya
sebagai data training.
2. Tingkat akurasi dihitung pada setiap iterasi (1, 2, iterasi-3, iterasi-4), kemudian dihitung rata-rata tingkat akurasi dari seluruh iterasi untuk mendapatkan tingkat akurasi data keseluruhan.
2.5. Confusion Matrix
Confusion Matrix digunakan untuk mengevaluasi hasil klasifikasi. Confusion Matrix digunakan sebagai evaluasi model klasifikasi untuk memperkirakan objek yang yang benar atau salah. Sebuah matrix dengan prediksi yang akan dibandingkan dengan kelas sebenarnya atau dengan kata lain berisi informasi nilai sebenarnya dan prediksi pada klasifikasi (Gorunescu, 2011).
Tabel 2.1. Tabel Confusion Matrix Dua Kelas
Classification
Predicted Class
Class = Yes Class = No Class = Yes a (true positive) b (false negative)
Class = No c (false positive) d (true negative)
Keterangan dari tabel 2.1 di atas adalah:
TP (true positive) : jumlah record positif yang diklasifikasikan sebagai positif.
FP (false positive) : jumlah record negatif yang diklasifikasikan sebagai positif.
FN (false negative) : jumlah record positif yang diklasifikasikan sebagai negatif.
TN (true negative) : jumlah record negatif yang diklasifkasikan sebagai negatif.
15
Rumus untuk menghitung akurasi, spesifitas, dan sensitivitas pada confusion matrix (Gorunescu, 2011) adalah sebagai berikut:
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑇𝑃+𝑇𝑁 𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁= 𝑎+𝑑 𝑎+𝑏+ 𝑐+𝑑 (2.5) 𝑆𝑝𝑒𝑠𝑖𝑓𝑖𝑡𝑎𝑠 = 𝑇𝑁 𝑇𝑁+𝐹𝑃= 𝑑 𝑑+𝑐 (2.6) 𝑆𝑒𝑛𝑠𝑖𝑡𝑖𝑣𝑖𝑡𝑎𝑠 = 𝑇𝑃 𝑇𝑃+𝐹𝑁= 𝑎 𝑎+𝑏 (2.7) 2.6. Alat Kontrasepsi
Alat kontrasepsi merupakan alat untuk mencegah atau menghindari terjadinya kehamilan yang terjadi. Penggunaan alat kontrasepsi akan mencegah sel telur dan sel sperma bertemu, menghentikan penggabungan sel telur, menghentikan penggabungan sel sperma dan sel telur yang telah dibuahi yang menempel pada lapisan rahim.
Alat kontrasepsi digunakan ketika hendak melakukan hubungan intim dengan pasangan. Cara pemakaian alat kontrasepsi bergantung pada jenisnya. Jenis alat kontrasepsi dapat dibedakan menjadi:
1. Hormonal
Jenis alat kontrasepsi hormonal meliputi: a. Pil KB
Alat kontrasepsi yang mengandung hormon progestin dan estrogen untuk mencagah ovulasi.
b. Susuk/implant
Alat kontrasepsi yang berbentuk batang kecil yang dipasang di bagian lengan bagian atas dan berfungsi untuk mencegah kehamilan dengan melepaskan hormon progestin.
c. Suntik KB
Alat kontrasepsi yang dapat bekerja selama tiga bulan, dan ada juga yang bekerja selama satu tahun.
2. Non Hormonal
Sedangkan alat kontrasepsi non hormonal meliputi: a. IUD
Alat kontrasepsi berbentuk huruf T dan terbuat dari tembaga yang dipasang di dalam rahim.
b. Kondom
Alat kontrasepsi yang merupakan sarung berbahan lateks atau non lateks yang dipasang pada penis (kemaluan laki-laki) selama berhubungan seksual.
c. MOW (Metode Operasi Wanita)
Alat kontrasepsi ini bekerja dengan menutup kedua saluran sel telur kanan dan kiri yang menyebabkan sel sperma tidak dapat melewati sel telur.
17
d. MOP (Metode Operasi Pria)
Alat kontrasepsi ini bekerja dengan memotong saluran mani kemudian ujungnya diikat sehingan sel sperma tidak dapat keluar pada penis.
18
BAB III
METODE PENELITIAN
3.1. Data Penelitian
Data yang digunakan dalam penelitian ini adalah data record pengguna alat kontrasepsi yang didapatkan dari Puskesmas Nglipar II yang beralamat di Jl. Nglipar-Ngawen, Blembeman II, Natah, Nglipar, Gunungkidul selama periode tahun 2020 dengan jumlah 326 data. Atribut yang diperoleh yaitu: umur, jumlah anak, berat badan.
Tabel 3.1. Data Atribut
No Atribut Arti Keterangan
1 Umur Umur pengguna Dalam satuan tahun 2 Jumlah anak Jumlah anak pengguna
3 Berat badan Berat badan pengguna Dalam satuan kg 4 y Jenis alat kontrasepsi Hormonal (Pil KB,
Susuk/implant, Suntik KB) Non Hormonal (IUD, Kondom,
MOW, MOP)
Distribusi data masing-masing atribut dapat dilihat pada tabel 3.2, 3.3, 3.4, dan 3.5 di bawah:
19
Tabel 3.2. Tabel distribusi data atribut Umur.
Umur Jumlah 19-22 23 23-26 39 27-30 37 31-34 51 35-38 38 39-42 50 43-46 38 47-50 41 51-55 9 Jumlah 326
Tabel 3.3. Tabel distribusi data atribut Jumlah Anak Jumlah Anak Jumlah
1 121
2 150
3 52
4 3
Jumlah 326
Tabel 3.4. Tabel distribusi data atribut Berat Badan Berat Badan Jumlah
34-41 13 42-49 62 50-57 120 58-65 82 66-73 37 74-81 10 82-89 0 90-97 1 98-108 1 Jumlah 326
Tabel 3.5. Tabel distribusi label Alat Kontrasepsi Alat Kontrasepsi Jumlah
Hormonal 78
Non Hormonal 248
Jumlah 326
Contoh data yang digunakan dalam penelitian ini dapat dilihat pada tabel 3.6 di bawah ini:
Tabel 3.6. Contoh Data
No Data 1 Y H NonH 2 Umur 21 41 3 Jumlah anak 1 3 4 Berat Badan 55 70 3.2. Pre-processing
Pada tahap ini, terdapat beberapa proses yang terjadi, antara lain:
1. Data Cleaning
Tahapan ini dilakukan untuk membersihkan noise, data yang inkonsisten, serta missing values data. Dataset yang digunakan pada penelitian ini sudah cukup lengkap sehingga tidak diperlukan data cleaning lagi.
21
2. Data Integration
Tahapan ini dilakukan dengan menggabung data dari berbagai sumber data. Dataset yang digunakan pada penelitian ini hanya berasal dari satu sumber data jadi tidak perlu dilakukan penggabungan.
3. Data Selection
Tahapan ini digunakan untuk menyeleksi atribut dari data yang paling relevan dan menghilangkan atribut data yang tidak digunakan. Data penulis tidak memerlukan data selection karena atribut terbatas dan semua nya merupakan atribut penting.
4. Data Transformation
Tahapan ini digunakan untuk mengubah data agar data tetap berada di range yang sama. Untuk data penulis, semuanya sudah menggunakan data numerik. Tetapi masih diperlukan normalisasi agar sebarannya tidak terlalu acak. Sehingga, digunakan proses normalisasi Min-Max, dengan langkah-langkah sebagai berikut:
a. Mencari nilai minimum dan maksimum dari setiap atribut. b. Data dinormalisasi ke range 0-1.
c. Menghitung nilai baru dari setiap atribut. Rumus yang digunakan merujuk pada rumus 2.4.
Contoh:
Umur = 41, dengan minUmur = 19 dan maxUmur = 55. nUmur = (41-19) * (1-0) / (55-19) + 0
nUmur = 0.611
Proses transformasi ini dilakukan dengan menggunakan bantuan module machine-learning pada Python. Pada gambar 3.1 di bawah ini merupakan potongan source code untuk proses normalisasi tersebut.
Gambar 3.1. Source Code untuk proses Normalisasi
3.3. Data Training dan Data Testing
Pada tahapan ini, penulis menggunakan metode Confusion Matrix untuk mengevaluasi hasil dari sistem yang dibangun. Evaluasi ini membagi data yang kemudian 2/3 dari data digunakan sebagai data training, dan 1/3 dari data digunakan sebagai data testing.
3.4. Pemodelan Random Forest
Data yang digunakan dalam penelitian ini akan diklasifikasikan dengan membentuk pohon keputusan. Data yang digunakan untuk membangun sebuah
23
pohon dihitung Entropy dan Information Gain nya. Proses pembentukan pohon diawali dengan memilih atribut yang memiliki information gain tertinggi, selanjutnya dilakukan perhitungan untuk menghitung branch dan leaf secara rekursif sampai pohon keputusan terbentuk. Contoh data yang akan digunakan terdapat dalam tabel 3.7 berikut:
Tabel 3.7. Contoh Data untuk Membangun Pohon Keputusan Umur Jumlah Anak Berat Badan Y
0.389 0.333 0.297 Hormonal 0.639 0.333 0.243 Hormonal 0.861 1 0.365 Non Hormonal 0.778 0.333 0.446 Non Hormonal 0.556 0 0.216 Hormonal 0.417 0.667 0.514 Non Hormonal 0.722 0.333 0.27 Hormonal 0.722 0.333 0.284 Non Hormonal 0.5 0.667 0.419 Non Hormonal 0.111 0.333 0.108 Hormonal
Selanjutnya, setelah data siap lalu dilakukan perhitungan untuk mencari root pohon keputusan pada iterasi 1. Lalu iterasi selanjutnya adalah mencari node pohon percabangannya.
a. Iterasi 1
Dilakukan proses perhitungan gain untuk digunakan sebagai feature selection dengan menghitung nilai yang dikandung dari masing-masing atribut. Atribut dibagi menjadi 2 partisi yaitu dengan mencari nilai median dari masing-masing atribut. Hasil perhitungannya ditunjukkan di bawah ini.
Tabel 3.8. Perhitungan Iterasi 1
Atribut Partisi
Total Kasus
H NonH Entropy Information Gain
Total 10 5 5 1 Umur <=0.5975 5 3 2 0.971 0.029 0.971 >0.5975 5 2 3 0.971 Jumlah anak <=0.333 7 5 2 0 - 0 >0.333 3 0 3 - Berat badan <=0.2905 5 4 1 0.7219 0.2781 0.7219 >0.2905 5 1 4 0.7219
Berdasarkan hasil perhitungan di atas, gain terbesar terdapat pada atribut Umur dengan nilai 0.971. Dengan demikian, Umur terbentuk sebagai root dari pohon keputusan.
Gambar 3.2. Root hasil perhitungan Umur
25
b. Iterasi 2
Pada iterasi 1 telah ditentukan root nya adalah Umur dengan nilai <=0.5975, selanjutnya pada iterasi 2 data pada tabel 3.7 di-filter sesuai dengan nilai pada atribut Umur yaitu <=0.5975. Lalu kembali dilakukan perhitungan information gain-nya.
Tabel 3.9. Data untuk Iterasi 2
Umur Jumlah Anak Berat Badan Y
0.389 0.333 0.297 Hormonal
0.556 0 0.216 Hormonal
0.417 0.667 0.514 Non Hormonal
0.5 0.667 0.419 Non Hormonal
0.111 0.333 0.108 Hormonal
Tabel 3.10. Perhitungan Iterasi 2 Atribut Partisi Total
Kasus
H NonH Entropy Information Gain
Total 5 3 2 0.971 Umur <=0.417 3 2 1 0.9183 0.02 0.951 >0.417 2 1 1 1 Jumlah anak <=0.333 3 3 0 0 - 0 >0.333 2 0 2 - Berat badan <=0.297 3 3 0 - - 0 >0.297 2 0 2 -
Berdasarkan hasil perhitungan di atas, gain terbesar terdapat pada atribut Umur dengan nilai 0.951.
Gambar 3.3. Pohon Keputusan Iterasi 2
c. Iterasi 3
Lalu pada iterasi 3, dilakukan filter data pada tabel 3.9 dengan ketentuan nilai atribut Umur <=0.417, lalu kembali dilakukan perhitungan information gain-nya.
Tabel 3.11. Data untuk Iterasi 3
Umur Jumlah Anak Berat Badan Y
0.389 0.333 0.297 Hormonal 0.417 0.667 0.514 Non Hormonal 0.111 0.333 0.108 Hormonal Umur <=0.5975 Umur <=0.417 Umur >0.417
27
Tabel 3.12. Perhitungan Iterasi 3 Atribut Partisi Total
Kasus
H NonH Entropy Information Gain
Total 3 2 1 0.9183 Umur <=0.389 2 2 0 - - 0 >0.389 1 0 1 - Jumlah anak <=0.333 2 2 0 - - 0 >0.333 1 0 1 - Berat badan <=0.297 2 2 0 - - 0 >0.297 1 0 1 -
Karena nilai gain-nya sama, maka dipilih salah satu, yaitu Berat badan. Pada iterasi 3 ini sudah dapat ditentukan hasil prediksinya, karena dapat dilihat pada tabel 3.12, atribut Berat badan dengan nilai <=0.297 hanya diisi oleh label Hormonal, dan atribut Berat badan dengan nilai >0.297 hanya diisi oleh label Non Hormonal.
Gambar 3.4. Pohon Keputusan Iterasi 3
d. Iterasi 4
Pada iterasi 4, data pada tabel 3.9 di-filter dengan ketentuan nilai atribut Umur >0.417, lalu dilakukan perhitungan information gain.
Tabel 3.13. Data untuk Iterasi 4
Umur Jumlah Anak Berat Badan Y
0.556 0 0.216 Hormonal 0.5 0.667 0.419 Non Hormonal Non Hormonal Umur <=0.5975 Umur <=0.417 Umur >0.417 Berat badan <=0.297 Berat Badan >0.297 Hormonal
29
Tabel 3.14. Perhitungan Iterasi 4 Atribut Partisi Total
Kasus
H NonH Entropy Information Gain
Total 2 1 1 1 Umur <=0.528 1 0 1 - - 0 >0.528 1 1 0 - Jumlah anak <=0.3335 1 1 0 - - 0 >0.3335 1 0 1 - Berat badan <=0.3175 1 1 0 - - 0 >0.3175 1 0 1 -
Karena nilai gain-nya sama, maka dipilih salah satu, yaitu Jumlah anak. Pada iterasi 4 ini juga sudah dapat ditentukan hasil prediksinya, karena dapat dilihat pada tabel 3.14, atribut Jumlah anak dengan nilai <=0.3335 hanya diisi oleh label Hormonal, dan atribut Jumlah anak dengan nilai >0.3335 hanya diisi oleh label Non Hormonal.
Gambar 3.5. Pohon Keputusan Iterasi 4
Pada Iterasi ke-4, semua data pada tabel 3.7 telah terpakai dan gambar 3.5 di atas merupakan hasil akhir dari Pohon Keputusan yang terbentuk. Perhitungan pohon 1 sudah selesai. Untuk permodelan random forest dibutuhkan banyak pohon, untuk membangun pohon tersebut kurang lebih sama dengan pembangunan 1 pohon di atas, tetapi dilakukan dengan random feature dimana pemilihan atribut dibuat random dan menggunakan random dataset. Untuk membaca kesimpulannya, hasil keputusan masing-masing pohon tersebut dipilih yang terbanyak. Semisal pohon 1 menghasilkan prediksi HORMONAL, pohon 2 menghasilkan prediksi NON HORMONAL, dan pohon 3 menghasilkan prediksi HORMONAL, maka hasil prediksi adalah HORMONAL karena muncul sebayak 2x sedangkan
Jumlah anak >0.3335 Jumlah anak
<=0.3335
Hormonal Non Hormonal
Non Hormonal Umur <=0.5975 Umur <=0.417 Umur >0.417 Berat badan <=0.297 Berat Badan >0.297 Hormonal
31
NON HORMONAL hanya 1x. Semakin banyak pohon maka akan semakin banyak kemungkinan yang terbentuk, sehingga akurasi yang dihasilkan bisa lebih tinggi.
3.5. Diagram Use-Case
Diagram Use-Case dari Actor ditampilkan seperti gambar 3.6 berikut:
Gambar 3.6. Diagram Use-Case
Gambar 3.6 di atas menunjukkan jika nantinya Actor atau user memiliki 3 bagian proses yang akan dilakukan, yaitu Upload Dataset, membangun Random Forest dengan menginputkan kombinasi fold dan pohon, lalu menguji data tunggal dengan aturan fold dan pohon optimal atau memiliki akurasi paling tinggi.
3.6. Desain Antarmuka
Rancangan desain antarmuka aplikasi yang akan dibangun kurang lebih tampak seperti gambar 3.7 di bawah ini:
Gambar 3.7. Gambar Desain Antarmuka Aplikasi
3.7. Narasi Use-Case a. Upload Dataset
Berikut merupakan narasi use-case untuk Upload Dataset:
Tabel 3.15. Narasi Use-Case Upload Dataset Use-Case Name Upload Dataset
Use-Case ID UC001
Priority High
Source
Primary Business Actor User Other Participation
Actors
-
Description Pada Use-Case ini aktor memasukkan dataset Pre-condition Aktor berada pada tampilan depan aplikasi Trigger Aktor menekan tombol Load Data
33
Typical Course of Events
Actor Action System Response Langkah 1: Aktor
menekan tombol Load Data
Langkah 2: Sistem menampilkan Dialog Window untuk memilih file dataset berada Langkah 3: Aktor
memilih file dataset
Langkah 4: Sistem menutup Dialog Window Langkah 5: Aktor
menekan tombol Upload
Langkah 6: Sistem menampilkan dataset pada tabel
Alternate Course Actor Action System Response Conclusion Aktor berhasil memasukkan dataset
Post-condition Sistem berhasil menampilkan dataset pada tabel Business Rules Implementation Constraints and Specifications Assumptions Open Issues
b. Pembangunan Random Forest
Berikut merupakan narasi Use-Case untuk Pembangunan Random Forest:
Tabel 3.16. Narasi Use-Case Pembangunan Random-Forest Use-Case Name Pembangunan Random Forest
Use-Case ID UC002
Priority High
Source
Primary Business Actor User Other Participation
Actors
Description Pada Use-Case ini aktor melakukan percobaan beberapa fold dan tree yang dibangun untuk menampilkan akurasi tertinggi
Pre-condition Aktor berada pada tampilan depan aplikasi Trigger
Typical Course of Events
Actor Action System Response Langkah 1: Aktor
memasukkan jumlah tree dan k-fold
Langkah 2: Aktor menekan tombol Hitung
Langkah 3: Sistem menampilkan akurasi yang didapat
Alternate Course Actor Action System Response Conclusion Aktor berhasil membangun model Random Forest Post-condition Sistem berhasil menampilkan akurasi
Business Rules Implementation Constraints and Specifications Assumptions Open Issues
c. Uji Data Tunggal
Berikut merupakan narasi Use-Case untuk Uji Data Tunggal:
Tabel 3.17. Narasi Use-Case Uji Data Tunggal Use-Case Name Uji Data Tunggal
Use-Case ID UC003
Priority High
Source
Primary Business Actor User Other Participation
Actors
-
Description Pada Use-Case ini aktor melakukan percobaan terhadap data tunggal dan sistem akan menampilkan hasil prediksi berdasar perhitungan terbaik
Pre-condition Aktor berada pada tampilan depan aplikasi Trigger
35
Typical Course of Events
Actor Action System Response Langkah 1: Aktor
memasukkan nilai umur, jumlah anak, dan berat badan
Langkah 2: Aktor menekan tombol Uji
Langkah 3: Sistem menampilkan hasil prediksi
Alternate Course Actor Action System Response Conclusion Aktor berhasil menguji data tunggal
Post-condition Sistem berhasil menampilkan hasil prediksi Business Rules Implementation Constraints and Specifications Assumptions Open Issues 3.8. Implementasi Program
Berikut ini merupakan implementasi program dari setiap Use-Case yang telah dibuat pada sub-bab 3.7 di atas:
Tabel 3.18. Tabel Implementasi Program
No. Use-Case Nama Program
1. Upload Dataset MAINMENU.py
2. Pembangunan Random Forest MAINMENU.py
3. Uji Data Tunggal MAINMENU.py
Di bawah ini merupakan source code dari masing-masing use-case yang dibangun.
a. Upload Dataset # menampilkan dialog pilih file
self.nama_file = QtWidgets.QFileDialog.getOpenFileName(self, 'Open Dataset', QDir.homePath(), "*xlsx ")
if self.nama_file[0] == '' or self.nama_file == None: return
# menampilkan data excel ke tabel pada GUI self.dataset = pd.read_excel(self.nama_file[0]) self.tableModel = TableModel(self)
self.tableModel.dataset = self.dataset
self.click.tableView.setModel(self.tableModel)
b. Pembangunan Random Forest
X = dataset[['Umur', 'Jumlah Anak', 'Berat Badan']].astype(float) y = dataset['Keterangan']
# mengubah nilai variable menjadi range 0-1 dengan MinMax self.scaler = MinMaxScaler(feature_range=(0,1))
X = self.scaler.fit_transform(X)
# mengaplikasikan jumlah fold dan pohon ke perhitungan treeInput = int(self.click.treeText.text())
classifier = RandomForestClassifier
kfoldInput = int(self.click.kfoldText.text()) accuracy_model = []
cv = KFold(n_splits=kfoldInput, shuffle=True, random_state=1) # proses membangun random forest
for train_index, test_index in cv.split(X):
X_train, X_test, y_train, y_test = X[train_index], X[test_index], y[train_index], y[test_index]
pipeline = make_pipeline(classifier(n_estimators=treeInput, criterion='entropy', class_weight='balanced', random_state=1)) self.model = pipeline.fit(X_train, y_train)
prediction = self.model.predict(X_test) cm = confusion_matrix(y_test, prediction) acc_matrix = self.hitung_akurasi(cm) accuracy_model.append(acc_matrix) # menghitung dan menampilkan akurasi akurasi = np.mean(accuracy_model) persen = round(akurasi,2)
persenStr = str(persen)
37
c. Uji Data Tunggal
# mengaplikasikan input Actor untuk nilai atribut umur = int(self.click.umurText.text())
jumlah_anak = int(self.click.jumlahAnakText.text()) berat_badan = int(self.click.beratBadanText.text()) # menguji data tunggal
single = np.array([[umur,jumlah_anak,berat_badan]]) scaled_test = self.scaler.transform(single)
prediction = self.model.predict(scaled_test) # menampilkan hasil uji data tunggal if 'Hormonal' in prediction:
hasil = 'HORMONAL' elif 'Non Hormonal' in prediction: hasil = 'NON HORMONAL' self.click.hasilLabel.setText(str(hasil))
3.9. Alat Pengujian
Dalam penelitian ini, penulis menggunakan aplikasi yang dibangun menggunakan bahasa pemrograman Python. Implementasi ini dijalankan dengan menggunakan laptop dengan spesifikasi dan software yang digunakan yaitu:
1. Hardware
a. Processor : Intel ® Core ™ i7-8750H CPU @2.20GHz (12 CPUs), up to 4.1GHz
b. RAM : 16GB
c. Disk : 256GB SSD & 1TB HDD 2. Software
a. Microsoft Windows 10 (x64)
c. Visual Studio Code v1.52.1 d. Qt Designer v5.11.1
39
BAB IV
HASIL DAN PEMBAHASAN
4.1. Pengujian Data
Pengujian ini dilakukan dengan menggunakan percobaan terhadap beberapa fold yaitu sebanyak 5 dan 10-fold karena jumlah fold tersebut biasanya dapat lebih menunjukkan error-rate yang teruji (Witten, 2013). Dari setiap fold tersebut, diuji dengan pembangunan pohon yang berbeda yaitu 10, 20, 30, 40, 50, 60, 70, 80, 90, dan 100 pohon. Jumlah pohon tersebut didapat dari Piotr Płoński (2020) yang telah melakukan percobaan tentang “How many trees in the Random Forest?” pada tahun 2020 yang mengemukakan bahwa jumlah pohon berbanding lurus dengan jumlah data. Data yang digunakan berjumlah 326 maka pohon yang coba dibangun berjumlah 10-100 dengan kelipatan sebanyak 10 pohon. Leo Breman sendiri mengemukakan bahwa jumlah pohon pada pembangunan Random Forest tidak terikat jumlahnya, jadi dapat menggunakan berbagai pilihan jumlah pohon.
4.1.1. Pengujian 5-fold
Pengujian dilakukan dengan menggunakan 5-fold, dengan pembangunan 10, 20, 30, 40, 50, 60, 70, 80, 90, dan 100 pohon. Hasil pengujian dapat dilihat pada tabel 4.1 di bawah.
Tabel 4.1. Hasil Pengujian 5-fold. Percobaan Jumlah Pohon Akurasi
1 10 77.02 % 2 20 76.82 % 3 30 77.63 % 4 40 77.22 % 5 50 77.43 % 6 60 77.83 % 7 70 77.62 % 8 80 77.42 % 9 90 77.83 % 10 100 77.62 % 4.1.2. Pengujian 10-fold
Pengujian dilakukan dengan menggunakan 10-fold, dengan pembangunan 10, 20, 30, 40, 50, 60, 70, 80, 90, dan 100 pohon. Hasil pengujian dapat dilihat pada tabel 4.2 di bawah.
Tabel 4.2. Hasil Pengujian 10-fold. Percobaan Jumlah Pohon Akurasi
1 10 79.62 %
2 20 79.44 %
41 4 40 81.04 % 5 50 80.24 % 6 60 80.85 % 7 70 81.05 % 8 80 80.65 % 9 90 81.05 % 10 100 81.44 %
4.2. Perbandingan Akurasi Optimal
Setelah melakukan pengujian data dengan mengubah fold dan pohon, maka didapatkan hasil perbandingan akurasi tiap fold dengan pohon seperti pada tabel 4.3 berikut.
Tabel 4.3. Tabel Perbandingan Akurasi Optimal k-Fold Jumlah Pohon Akurasi
5 60 77.83 %
5 90 77.83 %
10 30 81.45 %
Menurut tabel 4.3 di atas, perhitungan optimal didapatkan dengan menggunakan aturan 10-fold dan membangun 30 pohon. Optimal yang dimaksud adalah ketika pembangunan aturan Random Forest tersebut mendapatkan akurasi paling tinggi setelah dilakukan beberapa kali percobaan.
4.3. Hubungan Antar Perhitungan
Setelah didapatkan akurasi terbaik, kali ini penulis akan mencoba mencari hubungan antara jumlah fold dan pohon dengan akurasi yang dihasilkan.
Gambar 4.1 di bawah ini merupakan hasil akurasi 5 dan 10-fold menggunakan beberapa pohon.
Gambar 4.1. Jumlah Pohon vs Akurasi
Segal (2004) mengemukakan jika semakin banyak pohon yang dibangun, maka akurasi akan semakin baik, dengan catatan seimbang dengan semakin banyak dataset atau jumlah data yang ada. Gambar 4.1 di atas menunjukkan akurasi meningkat tetapi tidak menunjukkan kenaikan yang signifikan dikarenakan jumlah data hanya 326 dataset.
43
Sedangkan gambar 4.2 di bawah ini merupakan hasil akurasi dari beberapa pohon tersebut menggunakan 5 dan 10-fold. Tetapi kali ini penulis menambahkan grafik dengan melakukan perhitungan menggunakan 15 dan 20-fold agar terlihat lebih jelas dampak yang dihasilkan.
Gambar 4.2. Hubungan Fold dan Akurasi
Gambar 4.2 di atas menunjukkan bahwa memang akurasi tertinggi didapatkan ketika penggunaan 10-fold, dan ketika jumlah fold bertambah, walaupun jumlah pohon semakin banyak, akurasi cenderung menurun. Hal ini menunjukkan dalam penelitian kali ini, semakin besar fold maka tingkat akurasi belum tentu akan semakin besar.
4.4. Uji Data Tunggal
Setelah didapati perhitungan optimal, selanjutnya akan dilakukan uji data tunggal sebagai contoh data baru, dengan hasil uji data tunggal seperti gambar 4.3
dan 4.4 di bawah ini. Uji data tunggal ini menggunakan aturan perhitungan optimal yaitu 10-fold dan 30 pohon.
a. Data 1
Gambar 4.3. Hasil Uji Data 1
Pada gambar 4.3 di atas, calon pengguna diprediksi akan menggunakan alat kontrasepsi bertipe HORMONAL.
b. Data 2
Gambar 4.4. Hasil Uji Data 2
Pada gambar 4.4 di atas, calon pengguna diprediksi akan menggunakan alat kontrasepsi bertipe NON HORMONAL.
45
BAB V PENUTUP
5.1. Kesimpulan
Dari hasil perhitungan untuk memprediksi penggunaan alat kontrasepsi di atas, kesimpulan yang dapat diambil adalah:
1. Metode Random Forest dapat digunakan dengan baik untuk melakukan perhitungan prediksi calon pengguna alat kontrasepsi.
2. Aturan terbaik untuk mendapatkan akurasi tertinggi sebesar 81.45% adalah 10-fold dengan membangun jumlah 30 pohon.
5.2. Saran
Berdasarkan hasil analisis, saran untuk penelitian selanjutnya adalah:
1. Menerapkan metode pendekatan lainnya untuk mendapatkan akurasi yang lebih baik.
2. Mengembangkan program yang dapat membaca file bertipe ekstensi lain, seperti .csv dan sebagainya.
3. Bagi user awam, dapat mengaplikasikan hasil penelitian ini sebagai acuan dalam pemilihan alat kontrasepsi yang sesuai.
4. Meningkatkan program agar dapat menampilkan hasil pembangunan pohon. 5. Mengaplikasikan metode normalisasi data selain Min-Max untuk
6. Menggunakan data penelitian yang memuat lebih banyak atribut, seperti tingkat kesuburan suami atau istri, tingkat pemahaman informasi tentang alat kontrasepsi, dan sebagainya.
47
DAFTAR PUSTAKA
Adnyana, I.M.B. (2015). Prediksi Lama Studi Mahasiswa dengan Metode Random Forest (Studi Kasus: STIKOM Bali). Bali: STMIK STIKOM Bali. Anonimous. (2020). Example of Random Forest in Python.
https://datatofish.com/random-forest-python/ BKKBN. (2008). Program KB di Indonesia. Jakarta.
Breiman, Leo. (2001). Machine Learning. Berkeley: University California. Breiman, Leo. (1984). Classification and Regression Trees. Florida.
Diyana, Mela. (2017). Hubungan Tingkat Pengetahuan Akseptor KB dengan Minat Pemakaian Kontrasepsi AKDR di Puskesmas Ulak Karang Padang. Padang: Universitas Muhammadiyah Sumatera Barat.
Fayyad, Usama. (1996). Knowledge Discovery and Data Mining: Towards a Unifying Framework. Washington: AAAI Press.
Gorunescu, F. (2011). Data Mining Concepts, Models, and Techniques. Berlin: Springer.
Han, Jiawei. (2012). Data Mining: Concepts and Techniques. Amsterdam: Elsevier. Hernawati, Fajar Astuti. (2013). Data Mining. Yogyakarta: Andi.
Larose, T. Daniel. (2005). Data Mining Methods and Models. New Jersey: John Wiley & Sons, Inc.
Lontaan, Anita. (2014). Faktor-faktor yang Berhubungan dengan Pemilihan Kontrasepsi Pasangan Usia Subur di Puskesmas Damau Kabupaten Talaud. Manado: Politeknik Kesehatan Kemenkes.
Mochtar, Dany. (2017). DATA MINING – DECISION TREE.
https://danymochtars.wordpress.com/2017/03/07/data-mining-decision-tree/ Płoński, Piotr. (2020). How many trees in the Random Forest?.
https://mljar.com/blog/how-many-trees-in-random-forest/
Polamuri, Saimadhu. (2017). HOW THE RANDOM FOREST ALGORITHM WORKS IN MACHINE LEARNING. https://dataaspirant.com/random-forest-algorithm-machine-learing/
Samudra, Agenda Yudha. (2019). Pendekatan Random Forest Untuk Model Peramalan Harga Tembakau Rajangan di Kabupaten Temanggung. Yogyakarta: Universitas Sanata Dharma.
Santosa, Budi. (2018). Data Mining dan Big Data Analytics. Yogyakarta: Penebar Media Pustaka.
Segal, Mark R. (2004). Machine Learning Benchmarks and Random Forest Regression. San Francisco: University of California.
Taufiq, Emha. (2009). Algoritma Data Mining. Yogyakarta: Andi.
Wajhillah, Rusda, dan Ita Yulianti. (2017). PENERAPAN ALGORITMA C4.5 UNTUK PREDIKSI PENGGUNAAN JENIS KONTRASEPSI BERBASIS WEB. Sukabumi: STMIK Nusa Mandiri Sukabumi.
Witten, Daniela. (2013). An Introduction to Statistical Learning: with Applications in R. Berlin: Springer.