1. Skripsi ini merupakan karya asli dan belum pernah diajukan untuk
mendapatkan gelar akademik sarjana, baik di Universitas Negeri Jakarta
maupun di Perguruan Tinggi lain.
2. Skripsi ini belum dipublikasikan, kecuali secara tertulis dengan kelas
dicantumkan sebagai acuan dalam naskah dengan disebutkan nama
pengarang dan dicantumkan dalam daftar pustaka.
3. Pernyataan ini saya buat dengan sesungguhnya dan apabila di kemudian
hari terdapat penyimpangan dan ketidak benaran, maka saya bersedia
menerima sanksi akademik berupa pencabutan gelar yang telah diperoleh,
serta sanksi lainnya sesuai dengan norma yang berlaku di Universitas
Negeri Jakarta.
Dengan menyebut nama Allah SWT yang Maha Pengasih lagi Maha
Penyayang, puji syukur atas kehadirat-Nya yang telah melimpahkan rahmat dan
karunia-Nya sehingga saya dapat menyelesaikan proposal penelitian dengan judul
“Rancang Bangun Alat Pengukur Gula Darah Menggunakan Oxymeter MAX30100 Berbasis
Mikrokontroler Arduino R3”
Dalam pembuatan proposal penelitian skripsi ini, penulisan tidak lepas dari
bimbingan, bantuan, dan kerja semua pihak. Dengan kerendahan hati penulis
mengucapkan banyak terimakasih kepada:
1. Dr. Baso Marudani, M.T. selaku Koordinator Program Studi Pendidikan Teknik
Elektronika.
2. Dr. Muhammad Yusro, M.Pd., M.T., selaku Dosen Pembimbing I.
3. Dr. Wisnu Djatmiko, M.T, selaku Dosen Pembimbing II.
4. Keluarga di rumah yang selalu memberikan semangat serta do’a yang tiada
hentinya.
5. Serta semua orang-orang terdekat penulis yang tidak sempat penulis sebutkan
satu persatu.
Akhir kata penulis berharap agar penulisan proposal penelitian ini dapat
bermanfaat bagi pembaca dan dapat digunakan sebagaimana mestinya.
Diabetes Melitus adalah salah satu penyakit tidak menular yang paling sering terjadi
secara global. Penyakit ini menempati urutan keempat penyebab kematian di
sebagian besar negara berkembang. Pemeriksaan rutin terhadap glukosa darah juga
penting. Biasanya harus melukai tubuh (invasive), membuat orang sulit untuk
memeriksa kadar glukosa darahnya. Sehingga mulai dikembangkanlah pengukur
kadar glukosa darah secara non-invasive, tanpa melukai tubuh. Tujuan penelitian ini
adalah membuat Alat Pendeteksi Gula Darah Menggunakan Oxymeter MAX30100
Berbasis Mikrokontroler Arduino R3 untuk digunakan untuk pemeriksaan gula darah
bagi pengidap Diabetes Melitus. Penelitian ini dilakukan menggunakan metode
penelitian dan pengembangan (research and development) yang dikembangkan oleh
Brog & Gall. Prinsip dasar yang merupakan karakteristik metode penelitian dan
pengembangan 4 tahap Model Brog & Gall, yaitu: tahap analisis, tahap perancangan,
tahap pengembangan, tahap pengujian. Pada tugas akhir ini, penulis menggunaan
sensor oxymetri Max30100 untuk mengukur kadar glukosa darah berdasarkan kadar
oksigen pada pasien. Proyek akhir ini menggunakan prinsip kerja dari photodioda
dan infrared serta Led merah yang akan mengalami absorbsi cahaya oleh sifat fisis
dari molekul glukosa darah. Kemudian mencari persamaan Linear Regression dari
hubungan nilai Rasio tegangan AC dan DC dari red led dan infrared (R) dengan
kadar glukosa darah referensi.
Hasil penelitian yang dilakukan , bahwa kadar oksigen pada pasien dapat diukur
dengan sensor Max30100 dengan ini, melalui persamaan Linear Regression
ditemukan nilai R yang beragam yang akan membedakan nilai gula darah pada setiap
pasien dengan rata-rata error yang dihasilkan sebesar 0,81%dan rata-rata gula darah
pada pasien sebesar 60 mg/dL hingga 132 mg/dLsehingga didapatkan nilai gula
darah referensi melalui Clarke Grid Analysis. dari Analisis ini status pasien juga
dapat ditentukan sehingga dapat diterapkan penanganan lanjutan oleh tenaga medis
sesuai dengan kondisi pasien
The results of the research , that oxygen levels in patients can be measured with the
Max30100 sensor with this, through the Linear Regression equation found various R
values that will distinguish the blood sugar value in each patient with an average
oxygen level out of 0,81 and average Blood Glucose range 60 mg/dL to 132 mg/dL
so that the reference blood sugar value obtained through Clarke Grid Analysis. From
this analysis, the patient's status can also be determined so that further treatment can
be applied by medical personnel according to the patient's condition
SKRIPSI 1
HALAMAN JUDUL 2
LEMBAR PERNYATAAN 3
KATA PENGANTAR 5
ABSTRAK 6
ABSTRACT 7
DAFTAR ISI 7
DAFTAR GAMBAR 12
DAFTAR TABEL 13
DAFTAR LAMPIRAN 14
BAB I PENDAHULUAN 15
2.1.7 Darah 30
2.1.8 Oksigen 31
2.1.11 Spektroskopi 36
4.3 Pembahasan 95
5.1 Kesimpulan 99
LAMPIRAN 103
Diabetes melitus adalah salah satu penyakit tidak menular yang paling sering
terjadi secara global. Penyakit ini menempati urutan keempat penyebab kematian di
sebagian besar negara berkembang. Hal ini menjadi bukti penting bahwa penyakit
diabetes adalah epidemik di beberapa negara berkembang dan negara indutrialisasi baru
(International Diabetes Federation, 2006).
Organisasi Kesehatan Dunia (WHO) menyatakan, pada tahun 2013 sebanyak 80%
penderita diabetes mellitus di dunia berasal dari negara berkembang salah satunya adalah
Indonesia. (Rahayu et al, Alat Pengukur Kadar Gula Darah (Glukometer) adalah
alat yang digunakan untuk mengukur kadar gula darah manusia terutama
digunakan oleh penderita Diabetes Mellitus. Kadar gula darah merupakan zat yang
berguna untuk dibakar agar mendapatkan energi. Pengukuran nilai kadar gula
darah dengan menggunakan alat glukometer sangat penting dilakukan terutama
untuk penderita Diabetes Mellitus agar mencegah sedini mungkin untuk
menghindari komplikasi yang semakin parah. Untuk pengukuran kadar glukosa
dalam darah yang saat ini dilakukan rata-rata adalah dengan menggunakan teknik
invasive atau dengan cara mengambil sample darah pada pasien kemudian diproses
dengan alat. Hal ini yang terkadang membuat penderita malas untuk melakukan
pengecekan kadar glukosa dalam darah secara berkala. (Aulia,2018)
Banyak laporan tentang terjadinya infeksi yang diakibatkan oleh
penyuntikan. Infeksi terjadi karena penderita DM tidak bisa memproduksi insulin
dalam tubuhnya. Insulin sangat penting dalam penyerapan dan pengolahan glukosa
dalam sel-sel tubuh untuk menghasilkan energi. Kekurangan energi pada bagian
luka atau sel yang rusak akan menyebabkan penyembuhan yang lama bahkan
infeksi (John, 2011).
dan oleh Sangkot Riana yang berjudul Rancang Bangun Alat Ukur Kadar
Gula Darah Berbasis Arduino Uno (2019) Alat ini bekerja dengan memanfaatkan
sinar LED dan fotodioda yang dimana menggunakan LED hijau. Kemudian dari
masukan LED hijau dan fotodioda akan diteruskan oleh pengkondisi sinyal yang
terdiri atas rangkaian low pass filter, high pass flter, buffer dan peak detector yang
menggunakan arduino uno. . kekurangan penelitian ini terdapat pada sensor yang
dipakai yang harus memerlukan rangkaian pengolah sinyal yang cukup banyak dan
kurang terintegrasi.
Lalu penelitian oleh Putra Gunawan dengan judul Rancang Bangun Alat
Ukur Kadar Gula Darah Non-Invasive Berbasis Mikrokontroler Atmega 328p
Dengan Mengukur Tingkat Kekeruhan Spesimen Urine Menggunakan Paket Sensor
Photodiode Dan Light Emiting Diode (2015) Perancangan sistem alat dalam
penelitian ini menggunakan urin sebagai spesimen untuk menentukan tingkat gula
darah. Perancangan sistem ini bekerja dengan mengukur tingkat warna dan
kekeruhan dari spesimen urin dicampur dengan Benedict dan menggunakan paket
sensor yang terdiri dari 3 fotodioda (P1, P2, P3) dan tiga LED (merah, hijau, biru)
dengan mikrokontroler sebagai unit kontrol. Nilai sensor diterima oleh alat ukur
dalam bentuk RGB
Sedangkan untuk pengukuran Gula Darah secara non-invasive lainnya
adalah penelitian Alat Pengukur Kadar Gula Darah Non-Invasive Berdasarkan
Perbedaan Suhu Tragus Dan Antihelix oleh Mochammad Nurudin (2019)
menggunakan sensor suhu PT100 untuk pengukuran suhu pada titik tragus
dan antihelix di telinga, kemudian diproses oleh mikrokontroler Arduino
hingga terdapat hasil nilai glukosa darah yang selanjutnya ditampilkan pada
Display LCD dilakukan dengan mengkonversi nilai perbedaan suhu tragus dan
antihelix yang kemudian dibandingkan dengan nilai glukosa darah referensi, suhu
referensi, dan HbA1c normal. Pada modul ini sensor suhu PT100 digunakan untuk
pengukuran suhu pada titik tragus dan antihelix di telinga.
Berdasarkan latar belakang yang telah diuraikan diatas, maka tujuan dari penelitian
ini adalah Merancang, membuat, dan Mengukur Alat Pendeteksi Gula Darah
Menggunakan Oxymeter MAX30100 Berbasis Mikrokontroler Arduino R3
menggunakan Perangkat Masukan sensor Max30100 dengan seri terbaru dan
mengembangkannya dengan bentuk model Fingertip Sensor agar pembacaan sensor
lebih maksimal dan penyebaran cahaya lebih merata.
1.2 Identifikasi Masalah
1. Kalibrasi Sensor pengukur gula darah belum terlalu matang sehingga belum
bisa mendapatkan hasil gula darah yang akurat
2. Alat ini hanya mengukur kadar gula darah (Mg/dL) pada manusia
Diabetes Tipe 2 sangat sering terjadi pada orang dewasa yang kelebihan berat
badan yang telah berumur lebih dari 40 tahun. Pada diabetes tipe 2, kelenjar masih
memproduksi sejumlah insulin.Pada beberapa kasus, tubuh tidak memproduksi
cukup insulin. Pada kasus lain, mungkin tubuh memproduksi cukup insulin, tetapi
insulin itu menjadi tidak efektif oleh karena penerima insulin sel- sel tubuh macet.
(Johnson,1998).
Pada Gambar 2.1 menunjukan naik turunnya gula darah pada penderita
diabetes yang di beri insulin dan pada orang normal. Grafik naik turunnya warna
hitam menunjukan naik turunnya orang yang menderita diabetes, sedangkan garis
warna ungu menunjukan naik turunnya gula darah pada orang normal. kedunya
memang naik turun seiring dengan waktu, akan tetapi pada orang normal lonjakan
gula darahnya tidak drastis seperti orang yang menderita diabetes.
Kotak putih adalah waktu pada kedunya makan, sedangkan bulatan
warna hitam adalah saat penderita diabetes di suntik dengan insulin.Grafik naik
turunnya warna hitam menunjukan naik turunnya orang yang menderita diabetes,
sedangkan garis warna ungu menunjukan naik turunnya gula darah pada orang
normal. kedunya memang naik turun seiring dengan waktu, akan tetapi pada
orang normal lonjakan gula darahnya tidak drastis seperti orang yang menderita
diabetes.
Diabetes ini hanya terjadi pada saat kehamilan dan menjadi normal kembali
setelah persalinan, artinya kondisi diabetes atau intoleransi glukosa yang didapat
selama kehamilan biasanya pada trismester dua atau tiga.
Kadar gula darah yang tinggi dan terus menerus dapat menyebabkan suatu
keadaan gangguan pada berbagai organ tubuh. Akibat keracunan yang menetap
ini, timbul perubahanperubahan pada organ-organ tubuh sehingga timbul berbagai
komplikasi. Jadi komplikasi umumnya timbul pada semua penderita baik dalam
derajat ringan atau berat setelah penyakit berjalan 10-15 tahun (Darmono, 2007)
Salah satu dari sekian banyak faktor resiko penyakit yang dapat ditimbulkan
oleh Diabetes Melitus adalah gagal ginjal hal ini dikarenakan kadar gula dalam
darah yang tinggi membuat ginjal bekerja lebih keras untuk menyaring darah,
sehingga mengakibatkan kebocoran pada ginjal. Pada awalnya, kebocoran protein
albumin yang dikeluarkan melalui urin dialami oleh penderita, selanjutnya
berkembang dan menyebabkan fungsi penyaringan ginjal menurun (Cahyaningsih,
2011).
Pada saat itu, tubuh akan mendapatkan banyak limbah karena menurunnya
fungsi, ketika terjadi penurunan fungsi pada ginjal maka akan berpengaruh pada
pembentukan eritropoietin sebagai pembentuk Hemoglobin dan bisa
menyebabkan penurunan kadar hemoglobin didalam tubuh (Darmono, 2007).
Anemia hampir selalu di temukan pada penderita gangguan ginjal, yaitu kurangnya sel
darah merah dan kurangnya zat besi. Sel darah merah mengandung protein yang bernama
hemoglobin, dan setiap hemoglobin memiliki 4 atom zat besi. Hemoglobin dalam
keadaan normal mengandung kira ± kira dua gram zat besi (Jansen,2010).
Hemoglobin merupakan parameter anemia yang umum tetapi kurang sensitif untuk
penetapan status besi pada penderita gangguan ginjal. Kadar hemoglobin menurun pada
penderita gangguan ginjal di sebabkan oleh menurunnya kadar eritropoietin/EPO, hormon
yang di hasilkan oleh ginjal sehat untuk memproduksi sel darah merah. Apabila tubuh
kekurangan kadar oksigen maka ginjal yang sehat akan melepas hormon eritropoietin
yang akan merangsang sumsum tulang belakang untuk memproduksi lebih bnyak sel
darah merah (Jansen,2010).
Akibat dari penurunan kadar Hb yang berfungsi sebagai media transportasi
nutrisi dan oksigen ke seluruh tubuh mengakibatkan penderita DM tipe 2.
2.1.2 Glukosa
Tingkat gula darah normal (diuji pada saat puasa) untuk non
penderita diabetes antara 75-100 mg/dL. Kadar gula darah normal pada manusia
rata-rata yaitu sekitar 5,5 mmol/L atau 100 mg/dL, tetapi kadar gula darah ini
berfluktuasi setiap hari. Kadar gula darah non penderita diabetes dan diuji
pada saat tidak berpuasa yaitu harus di bawah 125 mg/dL (Glucose blood,
National Institute of Health).
Tabel 2. 2 Kadar Gula Darah Menurut WHO
110−𝑆𝑝𝑜
𝑅= 25
............................................... (1)
2.1.7 Darah
Darah merupakan salah satu jaringan tubuh dalam sistem pembuluh darah
yang sebenarnya tertutup. Darah dibagi dalam dua fungsi yaitu fungsi respirasi
dan fungsi gizi. Fungsi respirasi yaitu sebagai pengangkut oksigen (O2) dan
karbon dioksida (CO2). Dalam satu sel darah terdiri dari hemoglobin, eritrosit,
hematrosit, retikulosit, laju endap darah, trombosit, dan leukosit (Biokimia, Endah,
& Hendarmin, n.d.)
2.1.8 Oksigen
(Sumber : https://store.arduino.cc/usa/arduino-mega-2560-rev3-with-1sheeld)
Pada board Arduino Uno terdapat enam pin analog, yaitu mulai dari A0
hingga A5. Huruf A pada awal nama pin Arduino menandakan pin tersebut dapat
digunakan untuk mengolah signal analog. Seberapa tepat nilai signal analog yang
dipetakan secara digital, ditentukan oleh seberapa besar resolusi ADC. Semakin
besar resolusi ADC, maka semakin mendekati nilai analog dari signal tersebut.
Untuk resolusi ADC pada board Arduino Uno ialah 10 bit, yang berarti mampu
memetakan hingga 1024 discrete analog level. Beberapa jenis microcontroller lain
memiliki resolusi 8 bit, 256 discrete analog level, bahkan ada yang memiliki
resolusi 16 bit, 65536 discrete analog level. (Yusro, 2018)
Arduino Uno memiliki 6 pin yang bisa digunakan untuk input sensor
analog, seperti sensor benda, sensor cahaya, sensor suhu dan
sebagainya. Pin tersebut mulai dari 0 sampai 5. Nilai sensor dapat
dibaca oleh program dengan nilai antara 0-1023, itu mewakili
tegangan 0-5V. Kemudian pin 5,6,9,10 dan 11 dapat dipakai untuk
PWM (Pulse Width Modulation) yang sering dipakai untuk kendali
motor DC maupun motor servo namun pada penelitian ini pin-pin
tersebut tidak terpakai .pada tabel disajikan konfigurasi pin analog
input sebagai berikut
c. USB
2.1.11 Spektroskopi
A= Ɛcl................................................................................(1)
Keterangan:
A=Absorbansi
Ɛ= Koefisien Absorptivitas molar
C=Konsentrasi Molar
Dari Gambar dapat dianalisis bahwa cahaya LED merah lebih banyak
diserap oleh deoxyhemoglobin dan cahaya LED Inframerah lebih banyak
diserap oxyhemoglobin.. Rasio perbedaan penyerapan cahaya tersebut menjadi
acuan untuk menentukan saturasi oksigen. Rasio (R) adalah jumlah
perbandingan penyerapan cahaya infrared dan cahaya merah. Nilai rasio dapat
dihitung dengan rumus:
[𝐻𝑏𝑂2]
𝑆𝑝𝑂2 = [𝐻𝑏]+ [𝐻𝑏𝑂2 ]
…………………………………….. (2)
Pulse Oksimeter memiliki probe jenis klip jari yang memiliki LED di
satu sisi dan Photodetector di sisi lain. Cahaya yang dipancarkan dari satu sisi
jari berjalan melalui jaringan, darah vena dan darah arteri dan dikumpulkan
didalam detektor. Sebagian besar cahaya diserap atau dihamburkan sebelum
mencapai Photodetector di sisi lain pada jari. Aliran darah diinduksi oleh detak
jantung, atau berdenyut secara natural sehingga cahaya yang ditransmisikan
berubah seiring waktu. Red LED dan inframerah digunakan untuk
memperkirakan saturasi oksigen hemoglobin sebenarnya dari darah arteri.
Oxyhemoglobin (HbO2) menyerap cahaya yang dapat terlihat dan Ketika
cahaya inframerah (IR) menyala namun berbeda dari deoxyhemoglobin (Hb),
Inframerah tampak merah terang sedangkan Hb berwarna coklat tua. Penyerapan
dalam darah arteri diwakili oleh sinyal AC yang ditumpangkan pada sinyal DC
yang mewakili penyerapan zat lain seperti pigmentasi di jaringan, vena, kapiler,
tulang, dan lain sebagainya. Sinyal AC yang disinkronkan dengan jantung
kira-kira 1% dari level DC. Ini dirujuk sebagai indeks perfusi aliran darah (%).
Rasio 'R' dapat dihitung pada Persamaan 2 sebagai berikut :
𝐴𝐶𝑟𝑒𝑑
……………………………………………….. (3)
𝐷𝐶𝑟𝑒𝑑
𝑅= 𝐴𝐶𝐼𝑅
𝐷𝐶𝐼𝑅
Keterangan :
Cara menghitung nilai SpO2 (%) pada umumnya terdapat pada Persamaan 4
namun hasil nilai % SpO2 akurat tergantung pada kalibrasi rasio pada sensor
tertentu . berikut cara mencari nilai % SpO2 pada Persamaan 4
110−% 𝑆𝑃𝑂2
𝑅= 25
………………………………………… (5)
Keterangan :
Dimana :
Untuk dapat memahami nilai per zona pembacaannya yaitu nilai di zona
A dan B merupakan hasil glukosa yang akurat atau dapat diterima. Nilai di zona
C dapat menyebabkan banyak perbaikan yang tidak perlu dilakukan dalam
menghitung kadar gula darah sehingga dapat menyebabkan hasil yang buruk.
Nilai di Zona D mewakili nilai kesalahan yang fatal bahkan untuk mendeteksi
dan menentukan penanganan selanjutnya menyebabkan kesalahan pembacaan
hasil semakin besar. Nilai di Zona E artinya kesalahan pada penanganan yang
sudah fatal. Singkatnya, semakin banyak nilai yang muncul di Zona A dan B,
semakin akurat perangkat yang dipakai untuk kepentingan klinis. (Clarke, 2005)
2.2 Penelitian yang Relevan
Diagram alir sistem yang dirancang pada penelitian ini dimulai dari
inisialisasi program untuk membaca nilai %SpO2 dan Gula Darah. Ketika pasien
memasukkan jari ke capit sensor. Jari diletakkan di atas sensor maka Cahaya dari
Led Merah dan Infrared akan memancar. Dengan ini posisi jari pasien akan
mempengaruhi keberhasilan inisialisasi program pada alat
Jika inisialiasi telah berhasil, maka alat akan memulai kalkulasi pada nilai
%SpO2 dan Gula Darah Referensi. Jika inisialisasi tidak berhasil maka pasien
cukup menekan tombol reset merah yang ada di belakang alat., selama 10 detik
%SpO2 didapatkan maka nilai Gula Darah referensi juga ikut muncul pada Layar
LCD I2C. jika sudah selesai menggunakan alat maka cukup tekan tombol Off di
belakang Alat
Gambar 2. 11 Diagram Alir Sistem
BAB III
METODOLOGI PENELITIAN
Alat yang digunakan pada penelitian ini dibagi menjadi 2 bagian yaitu
perangkat lunak dan perangkat keras, diantaranya adalah:
A. Perangkat Lunak
1) Eagle 7.6.0 untuk membuat rangkaian skematik dan layout pada PCB
B. Perangkat Keras
Penjelasan tahapan penelitian Gambar 3.2 dijelaskan pada poin berikut ini:
2. Langkah Perencanaan
Langkah kedua terdiri dari perancangan sistem dan sub sistem. Peneliti
mengintegrasikan semua komponen yang digunakan untuk membuatalat
pendeteksi gula darah berbasis Arduino, Pada perancangan Alat Pendeteksi Gula
Darah Menggunakan Oxymeter Max30100 Berbasis Mikrokontroler Arduino Uno
R3
Peneliti menggunakna sensor Max30100 untuk mencari nilai kadar oksigen
terlebih dahulu. Saat memeriksa pasien membutuhkan sensor model capit sebagai
sensor pembaca gula darah yang diprogram melalui Arduino IDE
4. Langkah Pengujian
Langkah terakhir adalah tahap pengujian. Tahap ini menguji kadar oksigen
dari sensor Max30100 dan gula darah referensi yang telah di kalibrasi pada
inisialisasi program Arduino. Penguji melakukan 40 kali pengujian pada dua
waktu untuk mendapatkan gula darah puasa (GDP) dan gula darah setelah
makan siang (GDPP) terhadap 20 orang dan 40 kali pengujian untuk kadar
oksigen pada 2 waktu tersebut. pengukuran yang dihasilkan oleh sensor agar
menghasilkan data yang dibutuhkan
Gambar 3. 3Diagram Alir Penelitian
3.4 Teknik dan Prosedur Pengumpulan Data
Tahap pengujian perangkat keras dan perangkat lunak ini merupakan tahap
yang dilakukan untuk mengetahui keadaan sebuah perangkat dalam keadaan baik
atau terdapat kesalahan. Tujuan pada tahap ini adalah apabila terdapat error baik
itu pada perangkat keras maupun perangkat lunak, dapat segera diketahui
sehingga dapat langsung diperbaiki atau diganti. Pentingnya pengujian ini
dilakukan agar sistem berjalan dengan baik sesuai dengan rancangan yang telah
dibuat.
Pada langkah pengujian ini dilakukan untuk mengetahui kinerja dari tiap
subsistem yang telah dibuat. Pengujian terdiri dari 3 tahap, tahap pertama yaitu
pengujian terhadap perangkat keras. Pada pengujian tahap kedua dilakukan untuk
menguji perangkat lunak antarmuka antara Alat Pendeteksi dengan LCD I2C. lalu
pada pengujian perangkat lunak, yaitu Program pada Arduino IDE apakah sudah
berjalan dengan baik
Pada langkah pengujian ini dilakukan dalam tahap menguji apakah sudah
layak dengan secara bertahap dan perlahan, adapun pengujian sebagai berikut :
1. Pengujian sensor SpO2 untuk membaca gula darah pasien yang akan
ditampilkan di LCD
2. Pengujian Linier Regresion terhadap Hasil Gula Darah Prediksi
3. Dihasilkan nilai Gula Darah prediksi
Pengujian tahap ketiga yaitu dilakukan uji coba lapangan yang digunakan untuk
mengukur Gula Darah dan hasilnya Proses pengujian pada tahap ketiga ini
dilakukan dengan pengambilan data melalui 5 sampel yang berbeda-beda
termasuk orang yang sehat karena untuk menguji keakuratan Alat. Klien yang
diuji adalah orang dengan kisaran umur 17-45 keatas atau lebih dan 60-70 tahun
dengan catatan sedang Rawat jalan dan sering berkonsultasi dengan dokter dalam
kurun 2 Minggu. Uji coba lapangan dilakukan untuk mengetahui perbandingan
antara pengukuran manual dan melalui alat.
perancangan dan pengujian Alat Pendeteksi Gula Darah Menggunakan
Oxymeter Max30100 Berbasis Mikrokontroler Arduino Uno R3 terdiri dari
beberapa tahap, tahapan sebagai berikut :
1. Pemilihan komponen
2. Perakitan modul dimulai dari pemasangan, penyolderan, dan pengkabelan
3. Pengecekan manual sensor-sensor dengan properti sehingga mengetahui
bisa digunakan atau tidak.
4. Memprogram SPO2 Finger Sensor sebagai Pendeteksi Gula Darah
5. Melakukan pengujian terhadap seluruh subsistem yang telah
6. terintegrasi, dan melakukan perbaikan
7. Setelah melakukan pengujian dan perbaikan agar sesuai dengan
rancangan, selanjutnya adalah pengambilan dokumentasi uji coba berupa
foto dan video.
8. Menyimpulkan hasil penelitian dalam pengujian
3.4.4 Implementasi Sistem
Untuk mencapai tujuan pada penelitian ini diperlukan adanya rancangan dan
prosedur pengumpulan data dalam pengujian prototipe yang dibuat. Hal ini
merupakan hal yang mempengaruhi dalam keberhasilan mencapai tujuan
penelitian.
Pada Gambar 3.7 jari diletakkan diatas sensor, kemudian cahaya dari LED
merah dan LED inframerah akan memancar, kemudian gelombang cahaya dari
LED inframerah akan diserap oleh darah jika mengandung banyak oksigen dan jika
oksigen dalam darah berkurang maka gelombang cahaya LED merah akan diserap
lebih banyak daripada LED inframerah. Gelombang cahaya yang tidak diserap akan
dipantulkan kembali dan terdeteksi oleh fotodioda.
Oximeter mendeteksi pada kulit jari karena Menurut Hill (2006) . Oksimeter
adalah sensor yang menggabungkan dua teknologi spektrofotometri dan
plethysmography optik (mengukur denyut perubahan volume darah di arteri) .
Sensor pulse oximetry menggunakan cahaya dalam analisis spektral untuk
pengukuran saturasi oksigen, yaitu deteksi dan kuantifikasi komponen
(hemoglobin) dalam larutan. Untuk mencapai saturasi oksigen tertentu dibutuhkan
sel Oxy Hb atau Hemoglobin yang sedang mengangkut Oksigen sehingga
penyebaran Oxy Hb ini beredar melalui Pembuluh Arteri manusia yangmana
peredarannya melalui Jari Manusia. (Hariyanto, 2012)
GND GND
SDA D1
SCL D2
Arduino IDE dapat membuat suatu proyek dengan kerangka kode, titik
awal dalam pengembangan proyeknya pengguna menyusun dan menyimpan kode
dalam file yang disebut sketch. Sketch ini akan melakukan sintaks pemeriksaan
dari kode program yang dibuat disebut juga kompilasi (compile) setelah selesai
kemudian mengunggah (Upload) kode yang dikompilasi ke papan Arduino yang
dipilih mnggunakan koneksi USB
Arduino IDE itu merupakan kependekan dari Integrated Developtment
Enviroenment, atau secara bahasa mudahnya merupakan lingkungan terintegrasi
yang digunakan untuk melakukan pengembangan.
Bahasa pemrograman Arduino (Sketch) sudah dilakukan perubahan untuk
memudahkan pemula dalam melakukan pemrograman dari bahasa aslinya.
Sebelum dijual ke pasaran, IC mikrokontroler Arduino telah ditanamkan suatu
program bernama Bootlader yang berfungsi sebagai penengah antara compiler
Arduino dengan mikrokontroler
Proyek akhir ini membutuhkan data kadar oksigen dalam darah (SPO2
yang didalamnya terkandung unsur nilai R. seperti yang dilansir pada bab II
subbab 2.1.15 rumus untuk mencari nilai R pada persamaan 5
110−% 𝑆𝑃𝑂2
𝑅= 25
………………………………………… (5)
Teknik analisis data pada penelitian ini merupakan sebuah cara yang
dilakukan oleh peneliti untuk pengambilan data. Data-data yag diperoleh setelah
menjalankan sistem yang telah dibuat, dalam tahap ini peneliti dapat
menentukan tingkat keberhasilan yang telah dilakukan dengan meneliti semua
data-data yang didapatkan.
Dilakukan analisa pengujian untuk memecahkan sebuah masalah dari
sistem yang telah dibuat dengan mengambil data hasil dari sebuah sistem
tersebut dengan melakukan sebuah pengukuran. Tujuannya untuk mengetahui
tingkat keberhasilan pada penelitian yang telah dilaksanakan.
Rangkaian Catu daya yang terintegrasi oleh rangkaian modul Step Down
LM2596 perlu diukur terlebih dahulu agar mengetahui tegangan yang dihasilkan
oleh Batere Rechargable 9V. Hal ini agar rangkaian tersebut dapat digunakan oleh
Oximeter Max30100 dengan baik.. Tabel pengujian dapat dilihat pada Tabel
Tidak ada
jari
2 Ada Jari
Tidak ada
Jari
2 Ada Jari
110−𝑆𝑃𝑂2
𝑅= 25
………………………………………………………. (2)
No. R GDP
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Untuk pengambilan data sample dilakukan dengan 20 orang berbeda. Dari 20
sukarelawan tersebut didapatkanlah hasil pengukuran berupa nilai SPO2 dan kadar
glukosa darah referensi menggunakan alat medis Easy Touch.
seperti pada tabel 3.6 pada halaman sebelumnya, pada tabel 3.7 disajikan
data pengujian nilai R tegangan pada Sensor Max30100 terhadap nilai gula
darah referensi yang didapat dari pengukuran sample darah dari alat
konvensional yaitu glucometer Easytouch
No. R GDPP
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Pada proses ini, data yang telah didapatkan pada Tabel 3.10 dam 3.11
diurutkan sesuai nilai R nya dari yang terkecil hingga terbesar. Sehingga untuk
urutan variabel ID dan kadar glukosa mengikuti dari urutan nilai R. Setelah itu
dilakukan analisa menggunakan aplikasi Microsoft Office Excel untuk analisis
regresi. Berikut hasil yang didapatkan dari analisa regresi antara nilai R
(Independents) dan kadar glukosa darah puasa (GDP) serta nilai R (Independents)
dengan kadar glukosa darah 2 jam setelah makan (GD2PP).
Tabel 3. 11 Pengujian Metode Regresi Linier terhadap Data Sampel Gula Darah
Puasa (GDP)
Tabel 3. 12 Pengujian Metode Regresi Linier terhadap Data Sampel Gula Darah
Setelah Makan (GDPP)
R GDP GDPP2 (Desimal) R2 GDPP × R
Linier Regression :
GDP = …………………………………………………..(7)
GD2PP = ……………………………………………….(8)
3.5.8 Metode Clarke Error Grid Analysis
Seperti yang dibahas di bab II subbab 2.1.17, Clarke Error Grid Analysis (EGA)
digunakan untuk mengukur akurasi perkiraan glukosa darah yang dihasilkan oleh
alat ukur dibandingkan dengan nilai gula darah referensi. Setelah melakukan
pengujian secara in vivo yaitu mengambil sample gula darah referensi dari
glucometer yang sudah ada di pasaran, peneliti melakukan pengujian secara in
Vitro yaitu mengukur nilai R yang menjadi keluaran sensor Max30100 yang dapat
dilihat pada subbab 3.5.4 dilakukan pengukuran R dan pengambilan sample kadar
glukosa darah dilakukan bersama untuk satu orang yang sama. Data tersebut
digunakan untuk mendapatkan persamaan Linier Regression. Persamaan tersebut
menggambarkan hubungan linier antara nilai R dan kadar glukosa darah. Dimana
dengan adanya persamaan Linier Regression maka akan didapatkan kadar glukosa
darah prediksi. Dengan begitu akan dilakukan pengujian kembali untuk
menganalisa hasil kadar glukosa darah prediksi dengan kadar glukosa darah
referensi. Proses analisa tersebut menggunakan metode Clarke Error Grid
Analysis.
BAB IV
HASIL PENELITIAN
Pada bab ini membahas tentang hasil dari pembuatan sub sistem yang telah
dirancang seperti yang telah dijelaskan pada BAB III dan membahas pengujian
dalam Rancang Bangun Alat Pendeteksi Gula Darah Menggunakan MAX30100
Berbasis Mikrokontroler Arduino R3 yang dihubungkan dengan I2C LCD sebagai
antarmuka pengguna dalam mendapat informasi dari sistem.
Rancang Bangun Alat Pendeteksi Gula Darah Menggunakan MAX30100
Berbasis Mikrokontroler Arduino R3 dibuat berdasarkan antarmuka pengguna
(user) dengan LCD I2C pada Gambar 4.1. Prototipe ini buat dengan skala 1:5,
dimana sistem ini akan diterapkan pada Orang dengan rentang umur 17-20, 30-40,
dan 50-60 tahun
3. 1 Tampilan Alat
1. jika sensor tidak pada titik yang tepat maka pembacaan tidak akan bagus dan
tepat, jadi harus benar-benar pada titik yang tepat.
3. Karena panjang jari dan ketebalan kulit manusia beragam Dibutuhkan coverage
yang lebih sesuai agar sinar Red LED menyerap dengan baik
Pada sub bab analisis hasil penelitian berisi tentang hasil-hasil penelitian
yang berupa hasil dari pengukuran dan gambar sebagai variabel yang diteliti
seperti yang sudah dirancang pada bab sebelumnya.
4.2.1 Hasil Pengujian Catu Daya
Vout LM2596 5.06 V
Tegangan keluaran tanpa beban, diukur pada keluaran baterai, yaitu pada
Vout modul LM2596 dimana idealnya tegangan keluaran dari Vin adalah 5 Volt,
tetapi karena ada unsur ketidak sempurnaan produk, maka toleransi
penyimpangan sebesar:
4.2.2 Hasil Pengujian LCD
2 GND GND 0 0
3 SCL 0 2.00
I2C 1
Keterangan Tabel.4.2 :
Tegangan keluaran tanpa beban, diukur pada keluaran batterai, dimana
idealnya tegangan keluaran dari batterai adalah tepat 5 Volt, tetapi karena ada
unsur ketidak sempurnaan produk, maka toleransi penyimpangan sebesar:
Tegangan keluaran tanpa beban, diukur pada keluaran SCL atau A4,
dimana idealnya tegangan keluaran dari SDA adalah tepat 3,3 Volt, tetapi karena
ada unsur ketidak sempurnaan produk, maka toleransi penyimpangan sebesar:
Tegangan keluaran tanpa beban, diukur pada keluaran SDA atau A4,
dimana idealnya tegangan keluaran dari SDA adalah tepat 3,3 Volt, tetapi karena
ada unsur ketidak sempurnaan produk, maka toleransi penyimpangan sebesar:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
lcd.init()
;lcd.backlight();
Serial.begin(115200);
Serial.print("Initializing pulse oximeter..");
lcd.begin(16,2);
lcd.print("Initializing...");
delay(3000);
lcd.clear();
Setelah melihat hasil pengujian pada tabel 4.1 dan tabel 4.2 maka dapat
disimpulkan bahwa sensor saturasi oksigen Max30100 akan mencapai nilai
keluaran tegangan maksimal jika tidak ada jari yang menutupi sensor IR dan Red
LED sedangkan ketika sensor Max30100 terhalang oleh jari maka akan
menghasilkan tegangan keluaran yang sangat kecil
Prinsip kerja sistem ini adalah Sensor Oxymetri Max30100 merupakan sensor
pulse oxymetri yang dapat membaca kadar oksigen dalam darah (SPO2) dan
menghitung Heart Rate (BPM) dari manusia dan Proyek akhir ini membutuhkan
data kadar oksigen dalam darah (SPO2) yang didalamnya terkandung unsur nilai
R. Nilai R ini merupakan hasil dari perbandingan tegangan AC dan DC milik
Infrared dan Red LED. Untuk mendapatkan nilai R dengan rumus persamaan I
pada bab II yaitu dibawah ini
Pengukuran nilai R dilakukan pada dua waktu yaitu Gula darah Puasa 8
jam (GDP) dan gula darah setelah puasa (GDPP) tujuan dari pengukuran nilai R
pada dua waktu tersebut agar dapat mengetahui rentang nilai R pada gula darah
referensi yang telah didapatkan dari glucometer Easytouch Pada tabel 4.4 berikut
Pengujian Sensor MAX30100 Terhadap nilai R pada Gula darah puasa (GDP)
Tabel 4. 5 Pengujian Sensor MAX30100
Terhadap nilai R pada Gula darah puasa (GDP)
No. R GDP
1 0,52 60
2 0,56 63
3 0,56 63
4 0,56 70
5 0,56 75
6 0,56 75
7 0,58 75
8 0,58 76
9 0,58 81
10 0,58 83
11 0,58 83
12 0,58 86
13 0,58 86
14 0,58 86
15 0,58 88
16 0,58 93
17 0,60 96
18 0,60 111
19 0,60 116
20 0,64 121
Gambar a nilai R terhadap Gula darah Puasa Gambar b nilai R terhadap gula darah setelah
Pengukuran nilai tegangan R pada masing-masing waktu sesuai pada
gambar (a) dan gambar (b) yang dilakukan merupakan Analisa mengenai
ketergantungan variabel dependen (terikat) dengan variabel independent
untuk memprediksi rata-rata populasi berdasarkan nilai variabel yang
diketahui. Pada regresi linier sendiri terdapat variabel X yang menjadi
variabel bebas dan variabel Y sebagai variabel terikat. pada pengukuran kali
ini nilai R sebagai variabel bebas (X) yaitu pada garis biru dan nilai gula
darah (GDP dan GDPP) referensi yang akan menjadi variabel terikatnya (Y)
pada garis merah. Berdasarkan gambar (a) pada saat pengambilan sample
gula darah puasa nilai R yang keluar berkisar antara 0,56 sampai 0,64
berbanding lurus dengan hasil pengukuran sample darah gula darah
referensinya dari rentang 60 mg/dL hingga 121 mg/dL. Sedangkan pada
gambar (b) menunjukkan grafik hubungan nilai R dengan gula darah referensi
pada saat pengukuran gula darah setelah makan siang dengan kisaran nilai R
nya sebesar 0,52 hingga 0,68 dan berbanding lurus dengan hasil gula darah
referensi yang berkisar dari yang terkecil 84 mg/dL hingga yang terbesar 247
mg/dL. Hal ini menunjukkan bahwa adanya hubungan nilai R dengan gula
darah referensi dari dua waktu pengukuran tersebut.
Belum
perah
berob
at
3. 21 Sehat 73.3 75 2.267
Belum
perah
berob
at
4. 45 Sehat 120 121 0.826
perah
berob
at
5. 51 Sehat 61.2 63 2.860
Belum
perah
berob
at
6. 22 Sehat 89.6 93 3.660
Belum
perah
berob
at
Belum
perah
berob
at
8. 21 Sehat 61.4 63 2.540
Belum
perah
berob
at
9. 24 Sehat 78.2 76 2.894
Belum
perah
berob
at
Belum
perah
berob
at
11. 52 Sehat 80.7 81 0.370
Belum
perah
berob
at
12. 36 Sehat 108 111 2.702
Belum
perah
berob
at
13. 53 Sehat 84 86 2.325
Belum
perah
berob
at
14. 22 Sehat 83.9 83 1.084
Belum
perah
berob
at
15. Sehat 66.2 67 1.194
18
Belum
perah
berob
at
16. 48 Sehat 72.8 73 0.821
Belum
perah
berob
at
17. 45 Sehat 80.6 83 2.891
Belum
perah
berob
at
18. 23 Sehat 68.7 69 0.434
Belum
perah
berob
at
Belum
perah
berob
at
20. 23 Sehat 95.5 96 0.520
Belum
perah
berob
at
Pada tabel 4.7 adalah hasil pengukuran gula darah terhadap 20 orang
berbagai usia dari usia 18 tahun hingga 52 tahun dengan rata-rata umur 22
tahun. Berikut rata-rata konsentrasi gula darah buatan
Namun, pengukuran tidak luput dari kesalahan dan adanya error. Jika
dibuat pada tabel 4.8 untuk pengukuran Gula Darah Puasa (GDP) maka presentase
error, rata-rata, dan standar deviasi akan disajikan sebagai berikut :
Rata-rata Error :
Belum
perah
beroba
t
Belum
perah
beroba
t
3 21 Sehat 116 1.7
114
Belum
perah
beroba
t
4 45 Sehat 238 247 3.64
Sudah
perah
beroba
t
Belum
perah
beroba
t
6 22 Sehat 106 106 0
Belum
perah
beroba
t
7 51 Sehat 133 132 0.7
Belu
m
perah
berob
at
8 53 Sehat 164 165 0.6
Belu
m
perah
berob
at
9 24 Sehat 115 0.86
116
Belu
m
perah
berob
at
10 18 Sehat 88.9 88 0.9
Belu
m
perah
berob
at
11 23 Sehat 95.7 96 0.3
Belu
m
perah
berob
at
12 52 Sehat 144 142 1.4
Belu
m
perah
berob
at
13 36 Sehat 115 115 0
Belu
m
perah
berob
at
14 22 Sehat 80.6 84 4.04
Belu
m
perah
berob
at
15 17 100 101 0.9
Sehat
Belu
m
perah
berob
at
16 48 Sehat 97.5 97 0.5
Belu
m
perah
berob
at
17 45 Sehat 117 118 0.84
Belu
m
perah
berob
at
18 23 Sehat 90 90 0
Belu
m
perah
berob
at
Belu
m
perah
berob
at
20 23 Sehat 118 120 1.67
Belu
m
perah
berob
at
Pengukuran dilakukan pada waktu pagi hari setelah makan siang disebut
gula darah setelah puasa (GDPP). Pengukuran gula darah dilakukan dengan
membandingkan hasil dari Alat prototipe dengan glucometer manual merk
Easytouch. Pengukuran Gula darah dengan Alat deteksi gula darah mendeteksi
dengan nilai paling kecil sebesar 86 mg/dL dan nilai gula darah yang terbesar yaitu
0 mg/dL . sedangkan untuk pengujian menggunakan glucometer Easytouch
mendeteksi gula darah dengan nilai terkecil sebesar 86 mg/dL dengan nilai terbesar
sebesar 3 mg/dL. Sehingga didapatkan rata-rata konsentrasi gula darah pada kedua
alat sebagai berikut
.
2. 18 98% 98% 0
3. 21 96% 96% 0
6. 22 97% 98% 1
7. 51 94% 94% 0
8. 21 99% 99% 0
9. 18 98% 98% 0
Seperti pada tabel 4.10 pengukuran ini didapatkan nilai error, rata-rata
error, dan standar deviasi yang ada. Untuk tabel 4.11 rata-rata Kadar Oksigen
didapat sebesar 87% sedangkan rata-rata kadar oksigen pada pengukuran alat
komersial sebesar 87.4% Namun, pengukuran tidak luput dari kesalahan dan
adanya error. Jika dibuat pada tabel 4.11 maka presentase error, rata-rata, dan
standar deviasinya ditentukan dengan rumus sebagai berikut :
Tabel 4. 11 Hasil Pengukuran Kadar Oksigen
Pada proses ini, data yang telah didapatkan pada Tabel 4.12 dan 4.13
diurutkan sesuai nilai R nya dari yang terkecil hingga terbesar. Sehingga untuk
urutan variabel ID dan kadar glukosa mengikuti dari urutan nilai R. Setelah itu
dilakukan analisa untuk analisis regresi. Berikut hasil yang didapatkan dari analisa
regresi antara nilai R (Independents) dan kadar glukosa darah puasa (GDP) serta
nilai R (Independents) dengan kadar glukosa darah 2 jam setelah makan (GD2PP).
Menghitung persamaan regresi dimana persamaanya adalah :
………………………………………… (6)
Dengan :
a = konstanta
Untuk mendapatkan kadar gula prediksi terhadap dua waktu yaitu gula
darah puasa (GDP) dan guka darah darah 2 jam setelah makan (GD2PP) maka
akan dicari persamaan regresi linear pada data yang didapatkan saat pengukuran
dua waktu. Untuk data gula darah sebelum makan (GDP) disajikan pada tabel
4.10
Pada tabel 4.12 disajikan data gula darah prediksi untuk gula darah puasa
(GDP) dengan nilai R memiliki dua variabel yaitu X dan Y.variabel X merupakan
variabel bebas yang digunakan sebagai nilai predictor. Dalam penelitian ini, nilai R
keluaran sensor Max30100 akan menjadi variabel bebas (X) sementara variabel Y
adalah variabel terikat (Dependen) yangmana akan diwakili oleh nilai Gula Darah
Puasa yang diukur dengan glucometer Easytouch . berdasarkan perhitungan dari
persamaan 6 Berikut merupakan model persamaan regresi yang didapatkan dan
diuji
Linier Regression :
GDP = 312,984R-33,160…………………………………………………..(7)
Pada tabel 4.13 disajikan data gula darah prediksi untuk gula darah puasa
(GDP) dengan memiliki dua variabel yaitu X dan Y.variabel X merupakan variabel
bebas yang digunakan sebagai nilai predictor. Dalam penelitian ini, nilai R keluaran
sensor Max30100 akan menjadi variabel bebas (X) sementara variabel Y adalah
variabel terikat (Dependen) yangmana akan diwakili oleh nilai Gula Darah Puasa
yang diukur dengan glucometer Easytouch . berdasarkan perhitungan dari
persamaan 6 Berikut merupakan model persamaan regresi yang didapatkan dan
diuji :
GD2PP = 649,324R-133,086 ……………………………………………… (8)
4.3 Pembahasan
Proyek akhir ini membutuhkan data kadar oksigen dalam darah (SPO2)
yang didalamnya terkandung unsur nilai R. Nilai R ini merupakan hasil dari
perbandingan tegangan AC dan DC milik Infrared dan Red LED. Untuk
mendapatkan nilai R dengan rumus persamaan I pada bab II. Nilai SPO2 sendiri
akan menghasilkan nilai R yang merupakan rasio dari tegangan AC dan DC dari
masing- masing Led.
Untuk mendapatkan nilai R dapat dihitung menggunakan rumus pada
persamaan 2.1. Pada Tabel 4.1 nilai R yang dapat dijangkau dari 0.58 hingga 6.03
sedangkan pada tabel 4.11 disajikan data gula darah prediksi untuk gula darah
puasa (GDP) dengan memiliki dua variabel yaitu X dan Y.variabel X merupakan
variabel bebas yang digunakan sebagai nilai predictor. Dalam penelitian ini, nilai
R keluaran sensor Max30100 akan menjadi variabel bebas (X) sementara variabel
Y adalah variabel terikat (Dependen) yangmana akan diwakili oleh nilai Gula
Darah Puasa yang diukur dengan glucometer Easytouch . berdasarkan perhitungan
dari persamaan 6 Linier Regression memiliki rata-rata error sebesar 1.35 pada
pengukuran gula darah puasa (GDP) dan error sebesar 0.70 pada pengukuran Gula
Darah Setelah Makan 2 Jam (GDPP).
Merujuk Pada Tabel 4.1 nilai R yang dapat dijangkau dari 0.58 hingga
6.03 sehingga dapat terlihat bahwa jangkauan efektif sensor dalam mendeteksi
gula darah pada nilai 60 mg/dL hingga 110 mg/dL pada pagi hari dan pada saat
setelah 2 Jam makan siang sebesar 86 hingga 132 mg/dL
Hasil penelitian ini berupa sistem yang terintergrasi dengan Organ Tubuh
yaitu Aliran darah manusia. Sehingga sistem ini dapat diterapkan pada Orang
dewasa, khususnya para Lansia dimana memiliki potensi Diabetes. Sehingga
Pasien dan orang-orang terdekat pasien sangat perlu mengetahui keadaan Pasien
itu sendiri, dengan sistem ini Pasien akan mengetahui besaran Gula Darah
Mereka.
5.1 Kesimpulan
Adapun saran yang dibutuhkan pada Alat Pendeteksi Gula Darah Berbasis
Arduino yang telah dibuat dan diuji adalah sebagai berikut:
.
DAFTAR PUSTAKA
Biokimia, I., Endah, K., & Hendarmin, L. A. (n.d.). BAB XVI Hematologi dan Onkologi.
267–271.
Clarke, W. L. (2005). The Original Clarke Error Grid Analysis (EGA). In DIABETES
TECHNOLOGY & THERAPEUTICS (Vol. 7, Issue 5).
Engr Fahad. (2020). Max30100 pulse Oximeter Arduino Code, circuit, and Programming.
John, S., (2011), The Pursuit Of Noninvasive Glucose: “Hunting The Deceitful Turkey”.
RI., Kemenkes, 2014 . Situasi dan Analisis Diabetes. Jakarta: Pusat Data Informasi.
Louis, L. (2018). Working Principle of Arduino and Using It as a Tool For Study and
Working Principle of Arduino and Using, (July).
https://doi.org/10.5121/ijcacs.2016.1203
Mesandra, Oktaria Widya., (2010). Rancang Bangun Pendeteksi Kadar Gula Dalam
Darah Secara Non-Invasive Berbasis Mikrokontroler Atmega 8535. Semarang:
Universitas Diponegoro
Reza, A.,( 2011), Uji Fehling Terhadap Gula Pereduksi, Jurnal Ilmiah Kimia
Syailendra, R.(2009), Alat Pendeteksi Kadar Gula Dalam Tubuh Melalui Urin Secara
Otomatis) Berbasis Mikrocontroller, Laporan Penelitian Tugas Akhir, Institut
Teknologi Sepuluh Nopember, Surabaya.
Biokimia, I., Endah, K., & Hendarmin, L. A. (n.d.). BAB XVI Hematologi dan Onkologi.
267–271.
Clarke, W. L. (2005). The Original Clarke Error Grid Analysis (EGA). In DIABETES
TECHNOLOGY & THERAPEUTICS (Vol. 7, Issue 5).
Engr Fahad. (2020). Max30100 pulse Oximeter Arduino Code, circuit, and Programming.
Fikri, B., & Ganda, I. J. (2005). Transpor oksigen. Skripsi Bagian Ilmu Kesehatan Anak Fakultas
Kedokteran Universitas Hasanudin Tidak Dipublikasikan.
Gall, M. D., Gall, J. P., & Borg, W. R. (1971). Borg and Gall (p. 533).
Menggunakan, A., & Skripsi, S. S. (n.d.). Desain Alat Ukur Denyut Jantung Dan Saturasi
Oksigen Pada.
UNIVERSITAS INDONESIA. (n.d.).
World Health Organization. (1999). Global Report On Diabetes. France: WHO Library
Catalouging-in-Publication Data .
Yusro, Muhammad. (2018). Modul Singkat Teori dan Praktikum Arduino Platform
Arduino. [E-Book]. Jakarta: Universitas Negeri Jakarta
Yusro, M., & Rikawarastuti. (2018). Development of Smart Infusion Control and
Monitoring System (SICoMS) Based Web and Android Application.
LAMPIRAN
#include <Wire.h>
#include "MAX30100_PulseOximeter.h"
uint32_t tsLastReport = 0;
void onBeatDetected()
{
Serial.println("Beat!");
}
void setup()
{
Serial.begin(115200);
// Inisialisasi PulseOximeter
// Kesalahan biasanya karena pengkabelan LCD I2C yang kurang bagus,
Hilangnya sumber tegangan atau kesalahan
target pada chip board arduino
if (!pox.begin()) {
Serial.println("FAILED");
for(;;);
} else {
Serial.println("SUCCESS");
}
MAX30100_Registers.h
pox.setOnBeatDetectedCallback(onBeatDetected);
}
void loop()
{
// Memastikan untuk memanggil update data secepat mungkin
pox.update();
// nilai denyut nadi dan saturasi oksigen akan di buang ke serial secara
tidak sinkron untuk keduanya, nilai 0 artinya “invalid” atau tidak
valid
if (millis() - tsLastReport > REPORTING_PERIOD_MS) {
Serial.print("Heart rate:");
Serial.print(pox.getHeartRate());
Serial.print("bpm / SpO2:");
Serial.print(pox.getSpO2());
Serial.println("%");
tsLastReport = millis();
}
}#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include "MAX30100_PulseOximeter.h"
LiquidCrystal_I2C lcd(0x27,16,2);
PulseOximeter pox;
uint32_t tsLastReport = 0;
void onBeatDetected()
{
Serial.println("Beat!");
}
void setup()
{
lcd.init()
;lcd.backlight();
Serial.begin(115200);
Serial.print("Initializing pulse oximeter..");
lcd.begin(16,2);
lcd.print("Initializing...");
delay(3000);
lcd.clear();
void loop()
{
// Make sure to call update as fast as possible
pox.update();
float R = (110-float(pox.getSpO2()))/25;
if (millis() - tsLastReport > REPORTING_PERIOD_MS) {
float glu = ((142.9012*R)-1.73746);
Serial.print("SpO2:");
Serial.print(pox.getSpO2());
Serial.println("%");
Serial.print(R);
Serial.print("\t");
Serial.print("glu=");
Serial.print(glu);
Serial.println(" mg/Dl");
lcd.clear();
lcd.setCursor(0,0);
if (millis() >20000) {
lcd.print("Glu: ");
lcd.setCursor(5,0);
lcd.print(glu);
lcd.setCursor(9,0);
lcd.print("mg/dL");
lcd.setCursor(0,1);
lcd.print("SpO2: ");
lcd.print(pox.getSpO2());
lcd.print("%");
}
tsLastReport = millis();
}
}
#include <Wire.h>
#include "MAX30100.h"
#define PULSE_WIDTH
MAX30100_SPC_PW_1600US_16BITS
#define HIGHRES_MODE true
void setup()
{
Serial.begin(115200);
Serial.print("Initializing MAX30100..");
if (!sensor.begin()) {
Serial.println("FAILED");
for(;;);
} else {
Serial.println("SUCCESS");
}
sensor.setMode(MAX30100_MODE_SPO2_HR);
sensor.setLedsCurrent(IR_LED_CURRENT, RED_LED_CURRENT);
sensor.setLedsPulseWidth(PULSE_WIDTH);
sensor.setSamplingRate(SAMPLING_RATE);
sensor.setHighresModeEnabled(HIGHRES_MODE);
}
void loop()
{
uint16_t ir, red;
sensor.update();
if nargin == 0
error('clarke:Inputs','There are no inputs.')
end
if length(yp) ~= length(y)
error('clarke:Inputs','Vectors y and yp must be the same length.')
end
if (max(y) > 400) || (max(yp) > 400) || (min(y) < 0) || (min(yp) < 0)
error('clarke:Inputs','Vectors y and yp are not in the physiological
range of glucose (<400mg/dl).')
end
% -------------------------- Print figure flag
---------------------------------
PRINT_FIGURE = true;
% ------------------------- Determine data length
------------------------------
n = length(y);
% ------------------------- Plot Clarke's Error Grid
---------------------------
h = figure;
plot(y,yp,'ko','MarkerSize',4,'MarkerFaceColor','k','MarkerEdgeColor','k
');
xlabel('Reference Concentration [mmol/L]');
ylabel ('Predicted Concentration [mmol/L]');
title('Clarke''s Error Grid Analysis');
set(gca,'XLim',[0 400/40]);
set(gca,'YLim',[0 400/40]);
axis square
hold on
plot([0 400/40],[0 400/40],'k:') % Theoretical 45?regression line
plot([0 175/120],[70/40 70/40],'k-')
% plot([175/120 320/40],[70/40 400/40],'k-')
plot([175/120 10/1.2],[70/40 10],'k-') % replace 320 with 400/1.2
because 100*(400 - 400/1.2)/(400/1.2) = 20%
error
plot([70/40 70/40],[84/40 400/40],'k-')
plot([0 70/40],[180/40 180/40],'k-')
plot([70/40 290/40],[180/40 400/40],'k-') % Corrected upper B-C boundary
% plot([70/40 70/40],[0 175/120],'k-')
plot([70/40 70/40],[0 56/40],'k-') % replace 175.3 with 56 because
100*abs(56-70)/70) = 20% error
% plot([70/40 10],[175/120 320/40],'k-')
plot([70/40 400/40],[56/40 320/40],'k-')
plot([180/40 180/40],[0 70/40],'k-')
plot([180/40 400/40],[70/40 70/40],'k-')
plot([240/40 240/40],[70/40 180/40],'k-')
plot([240/40 400/40],[180/40 180/40],'k-')
plot([130/40 180/40],[0 70/40],'k-') % Lower B-C boundary slope OK
text(30,20,'A','FontSize',12);
text(30,150,'D','FontSize',12);
text(30,380,'E','FontSize',12);
text(150,380,'C','FontSize',12);
text(160,20,'C','FontSize',12);
text(380,20,'E','FontSize',12);
text(380,120,'D','FontSize',12);
text(380,260,'B','FontSize',12);
text(280,380,'B','FontSize',12);
set(h, 'color', 'white'); % sets the color to white
% Specify window units
set(h, 'units', 'inches')
% Change figure and paper size (Fixed to 3x3 in)
set(h, 'Position', [0.1 0.1 3 3])
set(h, 'PaperPosition', [0.1 0.1 3 3])
if PRINT_FIGURE
% Saves plot as a Enhanced MetaFile
print(h,'-dmeta','Clarke_EGA');
% Saves plot as PNG at 800 dpi
print(h, '-dpng', 'Clarke_EGA', '-r800');
end
total = zeros(5,1); % Initializes output
% ------------------------------- Statistics
-----------------------------------
for i=1:n
if (yp(i) <= 70 && y(i) <= 70) || (yp(i) <= 1.2*y(i) && yp(i)
>=0.8*y(i))
total(1) = total(1) + 1; % Zone A
else
if ( (y(i) >= 180) && (yp(i) <= 70) ) || ( (y(i) <= 70) && yp(i) >= 180
)
total(5) = total(5) + 1; % Zone E
else
if ((y(i) >= 70 && y(i) <= 290) && (yp(i) >= y(i) + 110) )|| ((y(i) >=
130 && y(i) <= 180)&& (yp(i) <= (7/5)*y(i) -
182))
total(3) = total(3) + 1; % Zone C
else
if ((y(i) >= 240) && ((yp(i) >= 70) && (yp(i) <= 180)))|| (y(i) <=
175/3 && (yp(i) <= 180) && (yp(i) >= 70)) ||
((y(i) >= 175/3 && y(i) <= 70) && (yp(i) >=
(6/5)*y(i)))
total(4) = total(4) + 1;% Zone D
else
total(2) = total(2) + 1;% Zone B
end % End of 4th if
end % End of 3rd if
end % End of 2nd if
end % End of 1st if
end % End of for loop
percentage = (total./n)*100;
%
----------------------------------------------
--------------------------------
% EOF
% load training data
data = load('example_data.mat');
% initialize
x = data (:, 1); % feature = ratio voltage (x1,000)
y = data (:, 2); % result = glu (x1)
m = length(x); % number of training examples
% plot data
hold on;
plot (x, y, 'rx', 'MarkerSize', 10);
ylabel ('Glucose');
xlabel ('Voltage Ratio');
numbers = readtable("Glu/Book2.xlsx");
[tot, per] = clarke(numbers(:,1),numbers(:,2))
if nargin == 0
error('clarke:Inputs','There are no inputs.')
end
if length(yp) ~= length(y)
error('clarke:Inputs','Vectors y and yp must be the same length.')
end
if (max(y) > 400) || (max(yp) > 400) || (min(y) < 0) || (min(yp) < 0)
error('clarke:Inputs','Vectors y and yp are not in the physiological
range of glucose (<400mg/dl).')
end
% -------------------------- Print figure flag
---------------------------------
PRINT_FIGURE = true;
% ------------------------- Determine data length
------------------------------
n = length(y);
% ------------------------- Plot Clarke's Error Grid
---------------------------
h = figure;
plot(y,yp,'ko','MarkerSize',4,'MarkerFaceColor','k','MarkerEdgeColor','k
');
xlabel('Reference Concentration [mmol/L]');
ylabel ('Predicted Concentration [mmol/L]');
title('Clarke''s Error Grid Analysis');
set(gca,'XLim',[0 400/40]);
set(gca,'YLim',[0 400/40]);
axis square
hold on
plot([0 400/40],[0 400/40],'k:') % Theoretical 45?regression line
plot([0 175/120],[70/40 70/40],'k-')
% plot([175/120 320/40],[70/40 400/40],'k-')
plot([175/120 10/1.2],[70/40 10],'k-') % replace 320 with 400/1.2
because 100*(400 - 400/1.2)/(400/1.2) = 20%
error
plot([70/40 70/40],[84/40 400/40],'k-')
plot([0 70/40],[180/40 180/40],'k-')
plot([70/40 290/40],[180/40 400/40],'k-') % Corrected upper B-C boundary
% plot([70/40 70/40],[0 175/120],'k-')
plot([70/40 70/40],[0 56/40],'k-') % replace 175.3 with 56 because
100*abs(56-70)/70) = 20% error
% plot([70/40 10],[175/120 320/40],'k-')
plot([70/40 400/40],[56/40 320/40],'k-')
plot([180/40 180/40],[0 70/40],'k-')
plot([180/40 400/40],[70/40 70/40],'k-')
plot([240/40 240/40],[70/40 180/40],'k-')
plot([240/40 400/40],[180/40 180/40],'k-')
plot([130/40 180/40],[0 70/40],'k-') % Lower B-C boundary slope OK
text(30,20,'A','FontSize',12);
text(30,150,'D','FontSize',12);
text(30,380,'E','FontSize',12);
text(150,380,'C','FontSize',12);
text(160,20,'C','FontSize',12);
text(380,20,'E','FontSize',12);
text(380,120,'D','FontSize',12);
text(380,260,'B','FontSize',12);
text(280,380,'B','FontSize',12);
set(h, 'color', 'white'); % sets the color to white
% Specify window units
set(h, 'units', 'inches')
% Change figure and paper size (Fixed to 3x3 in)
set(h, 'Position', [0.1 0.1 3 3])
set(h, 'PaperPosition', [0.1 0.1 3 3])
if PRINT_FIGURE
% Saves plot as a Enhanced MetaFile
print(h,'-dmeta','Clarke_EGA');
% Saves plot as PNG at 800 dpi
print(h, '-dpng', 'Clarke_EGA', '-r800');
end
total = zeros(5,1); % Initializes output
% ------------------------------- Statistics
-----------------------------------
for i=1:n
if (yp(i) <= 70 && y(i) <= 70) || (yp(i) <= 1.2*y(i) && yp(i)
>=0.8*y(i))
total(1) = total(1) + 1; % Zone A
else
if ( (y(i) >= 180) && (yp(i) <= 70) ) || ( (y(i) <= 70) && yp(i) >= 180
)
total(5) = total(5) + 1; % Zone E
else
if ((y(i) >= 70 && y(i) <= 290) && (yp(i) >= y(i) + 110) )|| ((y(i) >=
130 && y(i) <= 180)&& (yp(i) <= (7/5)*y(i) -
182))
total(3) = total(3) + 1; % Zone C
else
if ((y(i) >= 240) && ((yp(i) >= 70) && (yp(i) <= 180)))|| (y(i) <=
175/3 && (yp(i) <= 180) && (yp(i) >= 70)) ||
((y(i) >= 175/3 && y(i) <= 70) && (yp(i) >=
(6/5)*y(i)))
total(4) = total(4) + 1;% Zone D
else
total(2) = total(2) + 1;% Zone B
end % End of 4th if
end % End of 3rd if
end % End of 2nd if
end % End of 1st if
end % End of for loop
percentage = (total./n)*100;
%
----------------------------------------------
--------------------------------
% EOF
clarke
load('example_data.mat')
[tot, per] = clarke(y,yp)
yp(12) = [];
yp(102:111) = [];
yp(91:101) = [];
yp(87:90) = [];
yp(76:86) = [];
yp(52:75) = [];
yp(39:51) = [];
yp(30:38) = [];
yp(21:29) = [];
yp(20,1) = 115;
y(30:44) = [];
y(30:44) = [];
y(30:44) = [];
y(30:44) = [];
y(30:44) = [];
y(30:44) = [];
y(30:37) = [];
y(21:29) = [];
y(1,1) = 75;
y(1,2) = 60
y =
75 60
103 0
179 0
188 0
156 0
147 0
123 0
122 0
136 0
164 0
145 0
115 0
104 0
100 0
105 0
106 0
169 0
186 0
155 0
159 0
y(2,1) = 60
y =
75 60
60 0
179 0
188 0
156 0
147 0
123 0
122 0
136 0
164 0
145 0
115 0
104 0
100 0
105 0
106 0
169 0
186 0
155 0
159 0
y(3,1) = 75;
y(4,1) = 121;
y(5,1) = 63;
y(1,2) = 0;
y(6,1) = 93;
y(7,1) = 88;
y(8,1) = 63;
y(9,1) = 76;
y(10,1) = 86;
y(11,1) = 81;
y(12,1) = 111;
y(13,1) = 86;
y(14,1) = 83;
y(15,1) = 67;
y(16,1) = 73;
y(17,1) = 111;
y(18,1) = 69;
y(19,1) = 63;
y(20,1) = 96;
yp(1,1) = 74.8;
yp(2,1) = 58.9;
yp(3,1) = 73.3;
yp(4,1) = 120;
yp(5,1) = 61.2;
yp(6,1) = 89.6;
yp(7,1) = 88.9;
yp(8,1) = 61.4;
yp(9,1) = 61.4;
yp(9,1) = 78.2;
yp(10,1) = 87.3;
yp(11,1) = 80.7;
yp(12,1) = 111;
yp(13,1) = 84;
yp(14,1) = 83.9;
yp(15,1) = 66.2;
yp(16,1) = 72.8;
yp(17,1) = 111;
yp(18,1) = 68.7;
yp(19,1) = 60.5;
yp(20,1) = 95.5;
DAFTAR RIWAYAT HIDUP