Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 1, No. 9, Juni 2017, hlm. 933-939
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
Sistem Klasifikasi Status Gizi Bayi dengan Metode K-Nearest Neighbor Berbasis Sistem Embedded Nanda Epriliana Asmara Putri1, Dahnial Syauqy2, Mochammad Hannats Hanafi3 Program Studi Teknik Komputer, Fakultas Ilmu Komputer, Universitas Brawijaya Email:
[email protected],
[email protected],
[email protected] Abstrak Status gizi bayi sangat penting untuk diketahui orang tua, karena masih banyak ditemukan kasus kekurangan gizi balita di Indonesia yang tak kunjung hilang. Hal ini perlu diperhatikan karena dengan melihat kondisi fisik saja tidak cukup untuk mengetahui status gizi bayi tersebut termasuk gizi buruk, kurang, baik, atau lebih. Berdasarkan permasalahan tersebut, dibuatlah sistem klasifikasi status gizi bayi dengan metode K-Nearest Neighbor berbasis sistem embedded berdasarkan parameter jenis kelamin, umur, dan berat badan dari bayi. Pemilihan nilai parameter K yang akan diterapkan pada metode perlu adanya pencarian nilai dengan uji coba terlebih dahulu agar mendapatkan hasil nilai K terbaik untuk diterapkan pada sistem. Untuk pembacaan data berat menggunakan rangkaian dengan satu modul HX711, satu sensor load cell, yang dihubungkan dengan NodeMCU ESP8266 agar hasil pembacaan sensor dapat dikirim secara wireless ke komputer/PC yang akan digunakan sebagai parameter pengklasifikasian. Masukan data berupa jenis kelamin dan umur juga dibutuhkan untuk pengklasifikasian, sehingga jika ketiga parameter sudah terpenuhi hasil status gizi dapat langsung ditampilkan dengan menekan tombol Lihat Hasil. Selanjutnya semua data yang ditampilkan pada web dapat disimpan ke dalam basis data sehingga bisa digunakan untuk arsip data. Dari analisis yang dilakukan, didapatkan kesimpulan bahwa pengujian fungsional pada sensor berat memiliki persentase akurasi sebesar 97,23%, sedangkan pengujian fungsional penyimpanan basis data memliki persentase kesesuaian 100%. Untuk pengujian pencarian nilai K didapatkan persentase akurasi tertinggi ketika K=5 dan k=6 dengan besar persentase 62,50%. Sedangkan pengujian keseluruhan sistem klasifikasi status gizi bayi menghasilkan akurasi sebesar 97,14%. Kata kunci: Load cell, NodeMCU ESP8266, status gizi, K-Nearest Neighbor. Abstract Infant nutritional status is very important to be known by the parents, because there are still many malnutrition cases of children under five in Indonesia that is unsolved. It considered because malnutrition not only by physical condition that affect. Based on these problems, a system of infant nutrition status have been made using K-Nearest Neighbor method based on embedded system using gender, age and body weight parameters of infant. The value of K that would be applied to the method needs to be tested to get the best value of K for the system. For readings body weight using a HX711 circuit module, a load cell sensor, connected to NodeMCU ESP8266 in order to send the data wirelessly to a computer / PC as a classifier parameter. The input are gender and age as requiredment for classification, if all three parameters are met the nutritional status can be displayed on web and saved in database as the archieve. From the analysis that has conducted, it can be concluded that the functional testing on the weight sensor has 97,23% accuracy, while the functional testing of basis data storage has 100% conformity. K value has the highest percentage of accuracy when K = 5 and k = 6 with 62.50%. While overall testing of the baby's nutritional status classification system yielded 97,14% accuracy. Keywords: Load cell, NodeMCU ESP8266, nutritional status, K-Nearest Neighbor. seharusnya diketahui oleh semua orang khususnya orang tua. Hal ini perlu di perhatikan, karena dengan hanya mengetahui perkembangan
1. PENDAHULUAN Status gizi bayi merupakan hal penting yang Fakultas Ilmu Komputer Universitas Brawijaya
933
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
bayi berdasarkan fisik saja tidak cukup untuk mengetahui gizi dari bayi tersebut cukup atau berlebih (Harper, 1986). Semestinya orang tua perlu memperhatikan lebih jauh mengenai perkembangan bayi yang mana didasarkan fakta bahwa kekurangan gizi pada masa ini tak kunjung hilang. Berdasarkan bukti data tahun 2015 memperlihatkan 185 balita di tiap provinsi di Indonesia mengalami kekurangan gizi, dan diantaranya mengalami gizi buruk (Direktorat Bina Gizi, 2016). Untuk menghilangkan kasus gizi buruk di Indonesia perlu adanya pendeteksi status gizi balita yang terpantau. Status gizi perlu diperhatikan karena berkaitan dengan perkembangan tubuh. Maka dari itu perlu adanya pemantauan mengenai status gizi agar dapat terus memantau kebutuhan zat gizi yang harus terpenuhi hingga mencapai status gizi optimal. Sehingga bayi dapat beraktivitas normal dan mempunyai kualitas kehidupan yang baik (Kresnawan, 2016). Dipaparkan pada buku Antropometri mengenai pengklasifikasian kategori status gizi anak menggunakan indeks berupa berat badan berdasarkan umur. Namun yang diketahui bahwa berat badan laki-laki dan perempuan mempunyai selisih berat yang signifikan, sehingga untuk pengklasifikasian status gizi dibutuhkan 3 parameter berupa umur, jenis kelamin, dan berat badan yang didasarkan sumber dari buku Antropometri (Kementerian Kesehatan Republik Indonesia, 2010). Dalam penentuan status gizi bayi dibutuhkan metode yang tepat untuk melakukan pengklasifikasian. Metode K-Nearest Neighbor merupakan metode untuk pengklasifikasian data yang menggunakan metode pendekatan untuk mencari suatu kasus dengan cara menghitung jarak antara data uji dan data latih, berdasarkan parameter dengan menggunakan perhitungan Euclidean. Prinsip kerja metode ini yaitu ketika jarak antar data sudah didapat, data akan diurutkan dan dikelompokkan berdasarkan jarak terkecil hingga terbesar sebanyak nilai K. Data dengan peluang muncul paling banyak, dijadikan hasil dari pengklasifikasian gizi. Metode ini sering digunakan untuk kasus pengklasifikasian data. Sehingga metode ini cocok untuk diterapkan dalam pengklasifikasian status gizi bayi. Dari latar belakang masalah yang muncul salah satu solusi untuk mengatasi permasalahan di atas yaitu dengan membuat suatu sistem pengklasifikasian status gizi bayi dengan parameter jenis kelamin, umur, dan berat badan bayi yang didasarkan pada buku Antropometri. Fakultas Ilmu Komputer, Universitas Brawijaya
934
Sistem ini mampu melakukan pemantauan perkembangan status gizi melalui sistem dengan implementasi perangkat keras. Penelitian ini difokuskan untuk memantau perkembangan bayi berdasarkan status gizi dengan pengambilan parameter pengklasifikasian berupa hasil nilai berat yang didapatkan dari rangkaian perangkat keras, dan masukan data berupa jenis kelamin dan umur. 2. PERANCANGAN DAN IMPLEMENTASI 2.1 Gambaran umum sistem Untuk diagram blok sistem klasifikasi status gizi bayi dapat dilihat pada Gambar 2.1.
Gambar 2.1 Diagram blok sistem
Sistem klasifikasi status gizi bayi dengan metode K-Nearest Neighbor berbasis sistem embedded merupakan sistem yang dapat mengklasifikasikan status gizi berdasarkan parameter jenis kelamin, umur, dan berat badan. Sistem ini berupa perangkat keras untuk pembacaan nilai berat, dan perangkat lunak untuk pemroses, menampilkan hasil sensor dan menampilkan hasil pengklasifikasian status gizi bayi pada komputer. 2.2 Perancangan sistem Sebelum mengimplementasikan sistem, terlebih dahulu dibuat perancangan yang terdiri dari perancangan perangkat keras dan perangkat lunak sistem. Pada sistem klasifikasi status gizi bayi, perangkat keras ini digunakan untuk pengambilan data hasil berat badan bayi yang sedang diukur. Mengenai perancangan perangkat keras terbagi menjadi dua bagian yaitu perancangan rangkaian elektronika dan perancangan purwarupa untuk pengukur berat badan bayi. Perancangan rangkaian elektronika ditampilkan pada Gambar 2.2.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
935
Gambar 2.2 Perancangan rangkaian elektronika
Gambar 2.2 merupakan perancangan elektronika untuk pembacaan nilai berat dengan melibatkan komponen berupa sensor berat, modul HX711, dan mikrokontroler NodeMCU ESP8266. Mengenai perancangan desain purwarupa perangkat keras untuk pengukuran berat badan dapat dilihat pada Gambar 2.3.
Gambar 2.4 Flowchart proses klasifikasi metode K-Nearest Neighbor Gambar 2.3 perancangan desain purwarupa
Gambar 2.3 merupakan desain perancangan perangkat keras untuk melakukan pengukuran berat badan bayi. Terdiri dari rangkaian sensor berat, HX711, dan mikrokontroller NodeMCU ESP8266 dengan modifikasi tambahan baki untuk menopang beban. Data dari pembacaan sensor akan diolah mikrokontroler dan dikirimkan ke komputer secara wireless untuk dilakukan ke proses selanjutnya. Proses selanjutnya yaitu perancangan yang dilakukan pada perangkat lunak, antara lain untuk pengklasifikasian, tampilan antarmuka, dan untuk penyimpanan basis data. Perancangan untuk proses pengklasifikasian menggunakan metode K-Nearest Neighbor digambarkan pada diagram alur pada Gambar 2.4.
Fakultas Ilmu Komputer, Universitas Brawijaya
Flowchart Gambar 2.4 merupakan perancangan proses klasifikasi status gizi bayi menggunakan metode K-Nearest Neighbor. Dimana sistem harus terlebih dahulu menentukan nilai K yang akan digunakan pengelompokan untuk mencari hasil pengklasifikasian status gizi. Kemudian ketiga parameter berupa jenis kelamin, umur, dan berat badan harus terpenuhi terlebih dahulu. Sfehingga komputer dapat melakukan perhitungan dan pengklasifikasian menggunakan metode K-Nearest Neighbor, serta dapat menampilkan hasil pengklasifikasian berupa status gizi buruk (1), gizi kurang (2), gizi baik (3), atau gizi lebih (4) pada halaman web. Perancangan tampilan antarmuka untuk halaman web dapat dilihat pada Gambar 2.5.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
936
Gambar 2.5 Perancangan tampilan halaman web
Perancangan tampilan pertama yaitu menu login yang mana pengguna perlu masuk ke sistem menggunakan username dan password. Setelah berhasil masuk ke sistem, kemudian tampil beberapa menu yang memiliki fungsi masingmasing untuk memasukkan data, melihat data dan melihat profil atau merubah biodata admin, dan menu untuk keluar dari sistem. Maka dari itu diperlukan untuk perancangan basis data agar sistem dapat menyimpan dan menampilkan data berdasarkan data yang terdapat di basis data. Perancangan basis data dapat dilihat pada Gambar 2.6.
Gambar 2.7 Implementasi purwarupa pengukur berat badan
Implementasi rangkaian elektronika pengukur berat, terdapat penambahan komponen yaitu 2 baki. Baki bagian atas berguna untuk menopang berat beban, sedangkan baki yang bawah untuk melindungi sensor berat. Purwarupa ini bertujuan untuk pengukur berat badan pada sistem, yang mana data hasil yang didapat dari sensor akan dikirimkan ke komputer secara wireless oleh mikrokontroler. Sehingga antara perangkat keras dan perangkat lunak harus saling terkoneksi agar data hasil berat dapat ditampilkan pada antarmuka pengguna. Setelah perangkat keras telah selesai diimplementasikan, Tahap selanjutnya yaitu pengimplementasian pada perangkat lunak yang dapat dilihat pada Gambar 2.8.
Gambar 2.6 Perancangan basis data
Gambar 2.6 merupakan perancangan basis data dengan menggunakan nama posyandu serta penambahan 3 tabel berupa uji, latih, dan provinsi. Tabel uji/latih digunakan untuk menerima masukan data dari sub menu input data uji/latih. Sedangkan pada tabel provinsi digunakan untuk menyimpan data biodata admin berupa username, password, dan nomor telepon. Gambar 2.8 Implementasi perangkat lunak sistem
2.3 Implementasi sistem Pada implementasi sistem terbagi menjadi 2 yaitu implementasi pada perangkat keras dan implementasi perangkat lunak. Penerapan perangkat keras dapat dilihat pada Gambar 2.7 berikut ini.
Fakultas Ilmu Komputer, Universitas Brawijaya
Penerapan implementasi pada Gambar 2.8 merupakan implementasi yang diterapkan pada sub menu Input Data Uji. Terdapat beberapa kolom untuk masukan informasi data bayi antara lain tanggal pemeriksaan, nama bayi, dan tempat lahir. Untuk kolom opsional terdapat pada jenis kelamin dan usia.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
937
Pada kolom berat nilai akan muncul jika perangkat keras dan perangkat lunak sudah saling terkoneksi. Sehingga pengguna tinggal menekan tombol Tampilkan untuk menampilkan hasil berat pada halaman web. Sama halnya pada kolom status gizi, hasil pengklasifikasian akan muncul hanya jika parameter pengklasifikasian status gizi pada kolom jenis kelamin, umur, dan berat badan sudah terisi. Sehingga ketika pengguna menekan tombol Lihat Hasil, komputer akan melakukan proses klasifikasi dan menampilkan hasil pengklasifikasian status gizi berupa status gizi buruk (1), gizi kurang (2), gizi baik (3), atau gizi lebih (4) pada halaman web. Kemudian setelah keseluruhan data sudah didapatkan, pengguna tinggal menekan tombol Simpan Data pada halaman web, agar data yang didapat bisa disimpan ke dalam basis data.
Dari pengujian keseluruhan didapatkan tabel hasil pengujian sensor berat yang ditunjukkan pada Tabel 3.2.
3. PENGUJIAN DAN ANALISIS
Pada pengujian sensor didapatkan rata-rata persentase kesalahan sebesar 2,77% dengan keakuratan 97,23%. Hal ini dikarenakan desain purwarupa bagian penopang beban yang kurang menekan ke satu titik pada sensor berat, sehingga terdapat nilai kesalahan ketika pengukuran berat objek.
3.1 Pengujian fungsional sistem Pengujian fungsional dibagi menjadi 2 yaitu pengujian fungsi perangkat keras yang digunakan untuk mengukur berat dan pengujian fungsi perangkat lunak untuk penyimpanan database. Pengujian fungsional sistem dapat dijabarkan pada penjelasan-penjelasan berikut ini.
Pengujian perangkat keras Pengujian dilakukan terhadap 10 objek dengan membandingkan hasil timbangan manual dengan sensor berat. Salah satu pengujian ditampilkan pada Tabel 3.1. Tabel 3.1 Pengujian sensor berat dengan perbandingan hasil timbangan manual Pengujian berat objek menggunakan timbangan manual dengan berat 0,8 kg Pengujian berat objek menggunakan sensor load cell
Hasil pembacaan berat dari sensor yang ditampilkan pada serial monitor dengan berat 0,8 kg Fakultas Ilmu Komputer, Universitas Brawijaya
Tabel 3.2 Hasil pengujian sensor load cell Penguj ian Ke1 2 3 4 5 6 8 9 10 11 12 13 14 15
Timbangan manual 0,8 1,3 2,6 2,3 3,8 3,4 4,7 4,4 5,3 7.6 11.4 15.2 16.9 18.3 Rata-rata
Sensor load cell 0,8 1,3 2,6 2,3 3,7 3,1 4,5 4,3 5,2 7.5 10.9 16.3 17.6 18.8
Selisih 0 0 0 0 0.1 0.3 0.2 0.1 0.1 0.1 0.5 1.1 0.7 0.5 0.25
Kesalahan (%) 0 0 0 0 2.6 8.8 4.2 2.2 1.9 1.3 4.4 7.2 4.1 2.7 2.77
Pengujian fungsi basis data Pengujian ini bertujuan untuk mengetahui kesesuaian antara data masukan pada halaman web dengan data yang disimpan kedalam basis data. Hasil pengujian fungsi perangkat lunak pada penyimpanan basis data dapat dilihat pada Tabel 3.3 berikut ini. Tabel 3.3 Tabel pengamatan dari hasil pengujian fungsi basis data Jumlah data uji 10 Jumlah data hasil penyimpanan yang 10 sesuai Persentase akurasi 100%
3.2 Pengujian untuk mencari nilai K pada metode K-Nearest Neighbor Penetapan nilai K dibutuhkan untuk persyaratan melakukan pengklasifikasian pada metode K-Nearest Neighbor. Untuk mencari nilai K dengan melakukan pengujian nilai K dari 1-10, menggunakan 444 data latih, dan masukan 24 data uji agar dapat dibandingkan hasil keluaran sistem dengan hasil status gizi Antropometri. Sehingga nilai K dengan hasil keakuratan tertinggi akan dijadikan nilai K tetap pada metode K-Nearest
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Neighbor. Hasil pengujian dijelaskan pada tabel 3.4. Tabel 3.4 Tabel hasil pengujian nilai K Nilai K ke1 2 3 4 5 6 7 8 9 10
Jumlah data benar dari 24 data 12 13 14 12 15 15 14 13 9 7
Keakurasian (%) 50 54,16 58,33 50 62,50 62,50 58,33 54,16 37,50 29,16
Dari hasil pengujian, dapat dilihat pada K=5 dan K=6 yang memiliki nilai keakuratan tertinggi dengan besar 62,50%. Sehingga dapat dipilih antara keduanya untuk nilai K yang akan diterapkan di metode. Persentase keakuratan data rendah karena kurangnya data latih yang digunakan untuk pengklasifikasian. Agar hasil data makin akurat perlu adanya penambahan data pada data latih. 3.3 Pengujian sistem klasifikasi status gizi bayi Pada pengujian ini dilakukan pengujian untuk keseluruh sistem, dimana sistem dapat menampilkan hasil data sensor berat, dan hasil pengklasifikasian status gizi. Pengujian ini menggunakan 444 data latih, masukan 70 data uji berupa jenis kelamin dan umur, serta objek benda dengan massa yang bervariasi untuk pengujian sensornya. Hasil pengujian sistem dapat dilihat pada tabel 3.5. Tabel 3.5 Hasil pengujian sistem klasifikasi status gizi Jumlah data latih 444 Jumlah data uji 70 Rata-rata kesalahan keluaran hasil status 0% gizi sistem Persentase akurasi sistem 100%
938
web browser untuk menampilkan informasi data bayi dan untuk fungsi penyimpanan data pada basis data. Dari hasil pengujian fungsional perangkat keras didapatkan tingkat keakurasian sensor berat sebesar 97,23%. Sedangkan pengujian fungsional perangkat lunak pada penyimpanan basis data didapatkan hasil tingkat keakuratan penyimpanan sebesar 100%. Sehingga dapat disimpulkan bahwa sensor berat dan fungsi penyimpanan basis data pada sistem dapat bekerja sesuai dengan harapan. 2. Untuk menetapkan metode K-Nearest Neighbor perlu menetapkan nilai K. Untuk menentukan nilai K terbaik dicari dengan uji coba nilai K dari nilai 1-10, dengan menggunakan 444 data latih, dan masukan data sebanyak 24 data uji untuk mencari keakuratan tiap nilai dengan membandingkan hasil keluaran sistem dengan hasil status gizi Antropometri. Berdasarkan hasil pengujian didapatkan nilai dengan tingkat keakuratan tertinggi ketika K=5 dan K=6 dengan persentase sebesar 62,50%. Sehingga untuk penerapan nilai K pada metode, dapat dipilih antara K=5 atau K=6. Namun pada penerapan metode ini menggunakan nilai K yang ganjil yaitu K=5. Hal ini bertujuan untuk memperkecil kemungkinan terjadinya dua jumlah data yang sama dalam hasil pengklasifikasian status gizi bayi. 3. Untuk mengimplementasikan metode KNearest Neighbor diperlukan parameter pengklasifikasian berupa berat badan yang nilai beratnya didapatkan dari pembacaan sensor berat dan parameter jenis kelamin serta umur yang datanya didapat dari informasi data bayi. Dari hasil pengujian didapatkan tingkat akurasi sistem klasifikasi status gizi bayi sebesar 97,14%. Sehingga dapat disimpulkan bahwa semua komponen dari perangkat keras maupun perangkat lunak sudah bekerja sesuai alur perancangan sistem.
4. KESIMPULAN Berdasarkan hasil pengujian yang telah dilakukan pada penelitian ini maka dapat ditarik kesimpulan sebagai berikut : 1. Untuk implementasi pada sistem ini, pada penerapan perangkat keras digunakan untuk pembacaan nilai data berat menggunakan sensor load cell. Sedangkan penerapan perangkat lunak diterapkan pada Fakultas Ilmu Komputer, Universitas Brawijaya
5. SUMBER PUSTAKA Briawan, K. N. d. D., 2010. KONSUMSI PANGAN, PENYAKIT INFEKSI, DAN STATUS GIZI ANAK BALITA PASCA PERAWATAN GIZI BURUK. Direktorat Bina Gizi, K. K. R. I., 2016. Data Balita. [Online]
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Available at: http://gizi.depkes.go.id/smsgateway/index.php?go=home.main [Diakses 16 Desember 2016]. Doxygen, 2017. upm 1.2.0. [Online] Available at: https://iotdk.intel.com/docs/master/upm/clas supm_1_1_h_x711.html Fernanda, S. I., 2017. Identifikasi Penyakit Diabetes Mellitus Menggunakan Metode Modified K-Nearest Neighbor (MKNN). Juni. Harper LJ, D. B. D. J., 1986. Pangan Gizi dan Pertanian. Jakarta: UI Press. Hasani, S. A., 2015. Klasifikasi Status Gizi Menggunakan K-nearest Neighbor. Klasifikasi Status Gizi Menggunakan Knearest Neighbor, Juli. JualArduino.com, 2015. Weight Sensor 20KG / Load Cell 20Kg. [Online] Available at: https://www.jualarduino.com/weight-sensor20kg-load-cell-20kg/ Kementerian Kesehatan RI, 2010. Keputusan Menteri Kesehatan Republik Indonesia Tentang Standar Antropometri Penilaian Status Gizi Anak. 30 Desember. Khakim, A. L., 2015. RANCANG BANGUN ALAT TIMBANG DIGITAL BERBASIS AVR TIPE ATMEGA32. Khoiruddin, A. M., 2015. PENGEMBANGAN ALAT UKUR TINGGI BADAN DAN BERAT BADAN DIGITAL YANG TERINTEGRASI. PENGEMBANGAN ALAT UKUR TINGGI BADAN DAN BERAT
Fakultas Ilmu Komputer, Universitas Brawijaya
939
BADAN DIGITAL YANG TERINTEGRASI, 22 September. Kloppenborg, B., 2017. Getting started with the esp8266 (ESP-12e). [Online] Available at: http://www.kloppenborg.net/blog/microcontr ollers/2016/08/02/getting-started-with-theesp8266 Kresnawan, T., 2016. DIET RENDAH PROTEIN DAN PENGGUNAAN PROTEIN NABATI PADA PENYAKIT GINJAL KORNIK. p. 1. Latulumamna, M., 2013. KORELASI ANTARA UMUR DAN BERAT BADAN SAPI BALI (Bos sondaicus) DI PULAU SERAM. Medika, G., 2017. Timbangan Digital Omron HN286. [Online] Available at: http://www.galerimedika.com/Timbangan/Ti mbangan-Digital-Omron-HN286 Nurchasanah, E. P., 2016. METERAN UKUR WIRELESS UNTUK PANJANG BADAN DAN LINGKAR KEPALA BAYI BERBASIS ARDUINO DAN NRF24L01. Malang: s.n. PasarDino, 2017. PasarDino : eyebee. [Online] Available at: http://www.dinomarket.com/PasarDino/3765 7032/Jual-TIMBANGAN-BADANTANITA-HA623/ Yuliansyah, H., 2016. Uji Kinerja Pengiriman Data Secara Wireless Menggunakan Modul ESP8266 Berbasis Rest Architecture