SISTEM PENGUKURAN DETAK JANTUNG JANIN MELALUI ELEKTROKARDIOGRAM ABDOMINAL DAN ANDROID
Yusuf Anggara Aji 1 , Nuryani Nuryani* 1 , Nanang Wiyono 2 , Mohtar Yunianto 1 , Budi Purnama 1 , Utari 1 , Riyatun 1 , Suharno 3 dan Dwi Teguh 3
1 Program Sudi Fisika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sebelas Maret, Surakarta, Indonesia
2 Fakultas Kedokteran, Universitas Sebelas, Surakarta, Indonesia
3 Pendidikan Fisika, Fakultas Keguruan dan Ilmu Pendidikan, Universitas Sebelas Maret, Surakarta, Indonesia
*corresponding author: nuryani@mipa.uns.ac.id
Received 16-09-2022, Revised 24-10-2022, Accepted 31-10-2022 Available Online 31-10-2022, Published Regularly October 2022

## ABSTRACT
An android-based fetal heart rate measurement is presented in this article. The fetal heart rate was  obtained  from  the  mother's  abdominal  electrocardiogram  which  was  then  measured  and processed by Raspberry pi using k-means. Raspberry pi processed results produce ECG signals and  fetal  heart  rate  which  was  displayed  on  Android  devices  in  real-time.  The  android application  can  also  save  heart  rate  and  ECG  data  or  retrieve  previously  taken  heart  rate recordings. The system obtained that the average value of accuracy, sensitivity and predictive positive were 90.49%, 97.10% and 93.03%, respectively. The variation of the training time of the algorithm showed that the training time of 10 and 15 seconds mostly has better performance than the training time of 5 seconds.
Keywords: android, ECG; fetal heart rate; K-Means; raspberry pi

## ABSTRAK
Pengukuran detak jantung janin berbasis android dipaparkan pada artikel ini. Detak jantung janin didapatkan dari Elektrokardiogram abdomen yang kemudian diukur dan diolah oleh Raspberry pi  menggunakan K-means .  Hasil  olahan  Raspberry  pi  menghasilkan  sinyal  EKG  dan  detak jantung janin ditampilkan di perangkat Android  secara real-time. Aplikasi android juga dapat menyimpan data detak jantung dan EKG atau mengambil  rekaman detak jantung  yang sudah pernah diambil sebelumnya. Hasil kinerja sistem didapatkan nilai rata-rata akurasi, sensitivitas dan positif prediktif dari algoritma sistem adalah 90.49%, 97.10% dan 93.03%.
Kata kunci: android, detak jantung janin, EKG, k-means , raspberry pi

## PENDAHULUAN
Pemantauan detak jantung janin selama kehamilan merupakan bagian penting dalam upaya untuk  ikut  menjaga  kesehatan  janin.  Pemantauan  detak  jantung  janin  dapat  membantu deteksi  kelainan-kelainan  jantung  janin.  Deteksi  dini  pada  kelainan  jantung  janin  penting dalam  mengamati  perkembangan  janin,  dan  membantu  dokter  dalam  menentukan kesehatannya [1] .
Menurut data dari kelompok antar-lembaga PBB (UNICEF, WHO, World Bank, UN DESA Population  Division)  perkiraan  kematian  anak,  pada  tahun  2017  angka  kematian  bayi mencapai 2,94 % [2] Pada satu tahun pertama kelahiran, kematian bayi mencapai 29 per 1000
kelahiran. Tingginya angka tersebut sebagian besar disebabkan oleh kelainan detak jantung janin [3] .
Salah  satu  contoh  kelainan  detak  jantung  janin  adalah  haypoxia,  Pada  haypoxia,  detak jantung janin turun karena kekurangan oksigen selama masa gestasi, Hal ini menunjukkan risiko kehidupan janin [4] atau memiliki potensi adanya cacat bawaan yang muncul selama masa kanak-kanak atau dewasa.
Jika terjadi gangguan detak jantung janin dan tidak segera mendapatkan perawatan medis, maka hal tersebut dapat yang membahayakan janin [5] . Oleh karena itu, sistem pengukuran detak jantung janin merupakan hal yang sangat penting dalam menjaga kesehatan janin.
Pemantauan  jantung  janin  secara  jarak  jauh  dimungkinkan  karena  perkembangan  dua teknologi,  yaitu  Internet  of  Things  (IoT)  dan  “ embedded  Android  software  systems ” [6] . Sedangkan sistem Android merupakan sistem operasi pada perangkat seluler dengan kode dasar open source. Sistem ini sekarang menjadi sistem operasi yang paling umum digunakan di perangkat telepon genggam [7] .
Salah satu metode untuk memantau detak jantung janin adalah dengan Elektrokardiogram (EKG). Dari hasil pembacaan EKG, banyak indikasi yang dapat dianalisis, di mana analisis tersebut dapat menunjukkan kondisi yang membahayakan atau tidak [8] . Indikasi pada EKG janin dapat berupa detak jantung yang melambat atau semakin cepat. Selain itu, EKG janin juga  dapat  digunakan  untuk  penilaian  kondisi  tertentu  yang  tidak  dapat  dideteksi  oleh pemantauan janin standar [9] .
Ada  dua  cara  dalam  pengukuran  EKG  janin  yaitu  dengan  menggunakahn  elektroda  pada kulit  kepala  janin  dan  metode  elektroda  perut  ibu.  Penggunaan  elektroda  kulit  kepala dilakukan  dengan  menempatkan  elektroda  langsung  pada  kulit  kepala  janin  sehingga didapatkan  data  EKG  janin  secara  langsung.  Namun,  metode  ini  sangat  berisiko  dan membahayakan  ibu  dan  bayi.  Pada  metode  elektroda  perut,  elektroda  ditempelkan  pada perut  ibu  sehingga  relatif  lebih  aman  dan  memungkinkan  pemantauan  jangka  panjang. Namun, sinyal dari metode ini sangat kompleks karena juga berisi noise dari pernapasan ibu, interferensi frekuensi dan sinyal lain [10] .
Karena  lemahnya  sinyal  EKG  janin  dan  noise  dari  sinyal  ibu,  perlu  dilakukan  ekstraksi sinyal EKG janin dari EKG perut ibu. Beberapa metode dan algoritma telah diusulkan untuk ekstraksi sinyal tersebut. Metode-metode tersebut antara lain filtrasi adaftif, logika fuzzy, adaptive neurognitive interference,  multivariate  empirical mode decomposition (MEMD), dan metode clustering..
Pada  artikel  ini  dipaparkan  pengukuran  detak  jantung  janin  menggunakan K-means dan dikembangkan pada sistem Raspberry Pi dan Android.
Clustering adalah algoritma pembelajaran tanpa pengawasan yang aplikasinya adalah untuk mengelompokkan  serangkaian  pengamatan  tak  berlabel  menurut  beberapa  fitur  yang diekstraksi dari pengamatan tersebut. Semakin mirip objek fiturnya, semakin mereka akan dikelompokkan  ke  kluster  yang  sama.  Ukuran  kemiripan  bergantung  pada  jarak  antara sepasang objek, seperti jarak euclidean.
Algoritma K-means adalah salah satu algoritma pengelompokan yang berdasarkan rata-rata (means) dari cluster. Apabila diketahui himpunan observasi.
𝑋  =   (𝑥 1 , 𝑥 2 , … , 𝑥 𝑛 ) (1)
di mana setiap pengamatan merupakan vektor real berdimensi-d. K-means akan mempartisi n  observasi  tersebut  menjadi  k  cluster.  Observasi  tersebut  diklasifikasikan  melalui  jarak euclidean antara observasi terhadap centroid (C).
𝐶  = (𝑐 (1) 𝑐 (2) , … , 𝑐 (𝑘) ) (2)
Setelah menginisialisasi k cluster centroids , 𝜇 1 , 𝜇 2 , … , 𝜇 𝑘 , algoritma selanjutnya dilanjutkan dengan  mencari  centroid  baru  yang  didapat  dari  rata-rata  tiap  cluster.  Algoritma  akan diulang  terus  menerus  hingga  algoritma  mengalami  konvergensi  atau  jika  iterasi  sudah mencapai batas maksimal [11].
Inisialisasi centroid biasanya dilakukan dengan mengambil nilai random pada elemen yang akan  di  observasi.  Namun,  inialisasi  manual  juga  dapat  dilakukan  untuk  mempercepat konvergensi [12] .  Konvergensi  ditunjukkan  apabila  tiap  elemen  pada cluster relatif  tidak berubah dibandingkan dengan iterasi sebelumnya.

## METODE

## Rancangan Sistem
Data  elektrokardiogram  didapatkan  dari  rekaman  EKG  abdomen  ibu  yang  didapat  dari database Physionet  MIT-BIH [13],  [14] . Database yang  digunakan  adalah  Abdominal  and Direct Fetal ECG Database (adfEKGdb). Data dari database diubah dahulu menjadi data dengan format CSV yang kemudian disimpan di memori penyimpanan Raspberry pi. Data kemudian diolah di Raspberry pi dan hasilnya dikirimkan melalui Bluetooth menuju android sehingga didapat data EKG dan detak jantung janin secara real time.

## Algoritma Akuisisi
Algoritma  untuk  memisahkan  siyal  EKG  janin  dengan  EKG  ibu  dengan  menggunakan metode K-means clustering  ini  dibagi  menjadi  tahap  pra-proses,  tahap  pendeteksian kompleks QRS ibu, dan tahap pencarian puncak R janin.
Tahap pra-proses terdiri dari band pass filtering dan derivative filtering. Band pass filtering dapat secara bersamaan menghilangkan baseline wander (BW) dan noise. Filter band pass yang digunakan adalah filter Butterworth orde 2 dengan band pass 9-29 Hz. Rentang band pass agar sinyal karakteristik EKG tetap bertahan pada EKG orang dewasa adalah 5-15 Hz. Namun, untuk sinyal EKG abdomen digunakan band pass 9-27 Hz. Nilai ini didapat karena mempertimbangkan rata-rata detak jantung janin 1.8 lebih tinggi dari detak jantung ibu [15] . Setelah  dilakukan band  pass filtering,  sinyal  didiferensialkan  untuk  menghitung  slope kompleks QRS menggunakan filter derivatif.
Proses pendeteksian puncak QRS bertujuan untuk mendeteksi puncak QRS ibu dan janin. Sinyal yang telah difilter akan dikuadratkan untuk menguatkan perbedaan amplitudo sinyal. Setelah  itu,  dilakukan  proses  remove  multiple  peak  pada  sinyal  menggunakan  moving window  integration  (MWI)  filter  untuk  mempermudah  pendeteksian  puncak    QRS  ibu (mQRS). Lebar window sangat penting dalam MWI. Pada umumnya, lebar MWI kira-kira sama  dengan  lebar  kompleks  QRS  yang  terlebar.  Pada  penelitian  ini  digunakan  lebar window sebesar 80 ms [15] .
Proses klasifikasi puncak QRS dimulai dengan melakukan K-means clustering pada puncak yang telah terdeteksi. Puncak diklasifikasikan menjadi tiga cluster yaitu cluster ibu, cluster janin  dan  cluster  noise.  Agar  didapatkan  data  secara  real-time  maka  terlebih  dahulu dilakukan training untuk meningkatkan performa pengklasifikasian dengan clustering.
Untuk  mengatasi  puncak  janin  yang  tertutup  atau  tergabung  dengan  puncak  ibu  maka dilakukan proses search back. Proses ini dipicu jika detak jantung yang terdeteksi 50% lebih rendah dari detak jantung rata-rata. Proses search back dilakukan dengan mencari puncak QRS dari puncak-puncak sebelumnya. Kandidat QRS akan dianggap menjadi QRS apabila puncak  tersebut  memiliki RR  yang  mendekati  RR rata-rata (RR_avr). Rentang  RR untuk algoritma search back pada penelitian ini adalah 0,92 RR_avr≤RR_kandidat≤1,16 RR_avr [16] .

## Evaluasi Kinerja Algoritma
Tahap terakhir adalah evaluasi kinerja algoritma pendeteksian puncak R janin. Pada tahap ini, false positive (FP) dan false negative (FN) dideteksi. FP adalah puncak yang terdeteksi salah. Sementara itu FN adalah puncak yang gagal terdeteksi. FP dan FN adalah hasil dari beberapa  kondisi,  seperti  tumpang  tindih  kompleks  FQRS  dan  MQRS,  daya  FQRS  yang rendah, atau pra-pemrosesan yang tidak memadai.
Parameter  yang  dipilih  untuk  menilai  kinerja  algoritma  berbasis  clustering  ini  adalah sensitivitas (Se) nilai positif prediktif (PP) dan akurasi (Acc).
𝑆𝑒 = 𝑇𝐷 𝑇𝐷+𝐹𝑁 (3)
𝑃𝑃 = 𝑇𝐷 𝑇𝐷+𝐹𝑃 (4)
𝐴𝑐𝑐 = 𝑇𝐷 𝑇𝐷+𝐹𝑁+𝐹𝑃 (5)

## HASIL DAN PEMBAHASAN
Data  dari database EKG  abdomen  diinput  ke  dalam  Raspberry  pi  untuk  mesimulasikan kinerja  algoritma  apabila  sistem  memperoleh  sinyal  input.  Hasil  dari  data  EKG  yang diinputkan ke Raspberry pi ditampilkan pada Gambar 1.
Gambar 1. Sinyal EKG database
Hasil  pra  proses  ditunjukan  oleh  gambar  2.  Terlihat  bahwa  sinyal  menjadi  rata  akibat frekuensi  rendah  sinyal  telah  terhapus.  Kemudian  sebagian  besar  noise  pada  sinyal  juga hilang namun komponen EKG seperti puncak QRS masih terlihat.
Untuk mendeteksi kompleks QRS, sinyal dikuadratkan terlebih dahulu untuk menguatkan perbedaan  antara  puncak  dan  non  puncak.  Setelah  itu  juga  dilakukan  moving  window integration  filtering  untuk  menggabungkan  puncak  yang  berdekatan.  Sehingga  satu kompleks QRS akan hanya terbentuk satu puncak.
Gambar 3. Hasil Pendeteksian kompleks QRS
Dari gambar 3 terlihat bahwa kompleks QRS ibu dan janin terbentuk  dalam satu puncak. Terlihat  bahwa  pada  puncak-puncak  berada  pada  rentang  tertentu  yang  nilainya  mirip. Sehingga, dari puncak tersebut dapat diklasifikasikan dengan metode clustering.
Gambar 4. Hasil Pengklasifikasian kompleks QRS
Pada  proses  klasifikasi  puncak  QRS,  puncak  QRS  ibu  dan  janin  diklasifikasikan  dengan metode K-means clustering. Data puncak dibagi menjadi 3 cluster, yaitu cluster ibu, cluster janin dan cluster noise (gambar 4). Dari puncak ini kemudian akan ditentukan detak jantung janin dan ibu yang kemudian akan ditampikan pada aplikasi android (Gambar 5).

## Tabel 1. Kinerja sistem deteksi puncak lead yang berbeda
Data Lead 𝐹𝑁 𝐹𝑃 𝑇𝐷 𝐴𝑐𝑐 (%) 𝑆𝑒 (%) 𝑃𝑃 (%) r01 abd1 0 0 128 100,00 100 100,00 abd2 10 14 104 81,25 91,23 88,14 abd3 4 16 108 84,38 96,43 87,10 abd4 1 9 118 92,19 99,16 92,91 r04 abd1 7 13 108 84,38 93,91 89,26 abd2 1 3 124 96,88 99,2 97,64 abd3 1 1 126 98,44 99,21 99,21 abd4 1 1 126 98,44 99,21 99,21 r07 abd1 5 7 118 90,77 95,93 94,4 abd2 16 2 117 86,67 87,97 98,32 abd3 3 3 129 95,56 97,73 97,73 abd4 3 5 127 94,07 97,69 96,21 r08 abd1 7 3 120 92,31 94,49 97,56 abd2 1 25 104 80,00 99,05 80,62 abd3 1 23 106 81,54 99,07 82,17 abd4 2 21 107 82,31 98,17 83,59 r10 abd1 3 2 126 96,18 97,67 98,44 abd2 3 4 124 94,66 97,64 96,88 abd3 1 17 117 86,67 99,15 87,31 abd4 1 8 122 93,13 99,19 93,85
Kinerja algoritma dievaluasi dengan parameter akurasi, sensitivitas, dan positif prediktif. Nilai ini  didapatkan  dari  membandingkan  puncak-puncak  yang  terdeteksi  dan  puncak-puncak sebenarnya. Puncak sebenarnya merupakan puncak yang diklasifikasikan oleh ahli.
Tabel 1 menunjukkan kinerja algoritma clustering dari sinyal EKG abdomen yang didapat dari database .    kinerja  algoritma  terbaik  yang  didapatkan  dengan  training  data  selama  10  detik adalah pada data r01/abd1 dengan akurasi 100%, sensitivitas 100% dan positif prediktif 100%. Sementara itu rata-rata akurasi, sensitivitas dan PP berturut-turut adalah 90,49 %, 97,10 % dan 93,03 %.

## KESIMPULAN
Hasil  sistem  pemantauan  detak  jantung  janin  berbasis  android  didapatkan  informasi  detak jantung janin secara real-time yang ditampilkan di layar android. Sinyal EKG abdomen diolah di Raspberry pi dan kemudian hasilnya dikirimkan ke Android melalui Bluetooth. Data yang ditampilkan berupa detak jantung janin, detak jantung ibu dan grafik EKG abdomen ibu sistem pemantauan  detak  jantung  janin  berbasis  android  ini  juga  dapat  merekam  EKG  dan  detak jantung sehingga memungkinkan untuk pemantauan detak jantung janin secara menyeluruh
Hasil kinerja algoritma pendeteksian detak jantung dengan metode clustering berbasis android didapatkan  dari  akurasi,  sensitifitas,  dan  positif  prediktif  dari  sistem.  Rata-rata  akurasi, sensitivitas dan positif prediktif dari sistem adalah 90,49%, 97,10% dan 93,03%. Kemudian, hasil  kinerja  algoritma  terbaik  didapatkan  pada  data  r01  pada  lead  abd1  yaitu  didapatkan akurasi, sensitivitas dan positif prediktif secara berurutan adalah 100%, 100%, dan 100%.

## DAFTAR PUSTAKA
1. Huque, A. S. A., Ahmed, K. I., Mukit, M. A., & Mostafa, R. (2019). HMM-based supervised machine learning framework for the detection of fECG RR peak locations. IRBM , 40 (3), 157- 166.
2. World  Health  Organization.  2019.  Trends  in  maternal  mortality  2000  to  2017:  estimates  by WHO, UNICEF, UNFPA, World Bank Group and the United Nations Population Division.
3. Bigan, E. C. S. 2018. Hubungan Senam Hamil Dengan Detak Jantung Janin Pada Ibu Hamil Di Wilayah Kerja Puskesmas Kereng Bangkirai Kota Palangkaraya. Jurnal Info Kesehatan , 16 (2), 226-235.
4. Kimura, Y., Sato, N., Sugawara, J., Velayo, C., Hoshiai, T., Nagase, S., ... & Yaegashi, N. 2012. Recent advances in fetal electrocardiography. The Open Medical Devices Journal , 4 (1).
5. Devi,  S.,  &  Roy,  S.  2017.  Physiological  measurement  platform  using  wireless  network  with Android application. Informatics in Medicine Unlocked , 7 , 1-13.
6. Sung, W. T., Chen, J. H., & Chang, K. W. 2013. Mobile physiological measurement platform with cloud and analysis functions implemented via IPSO. IEEE Sensors journal , 14 (1), 111- 123.
7. Matsubara,  F.  M.,  Miura,  S.,  Imai,  S.,  &  Akatsu,  S.  2005.  DTV  architecture  design  for multimedia network environments. IEEE Transactions on Consumer Electronics , 51 (1), 324- 328.
8. Abdul-Kadir,  N.  A.,  Safri,  N. M.,  &  Othman,  M.  A.  2016.  Dynamic  ECG  features  for atrial fibrillation recognition. Computer methods and programs in biomedicine , 136 , 143-150.
9. Castillo, E., Morales, D. P., Botella, G., García, A., Parrilla, L., & Palma, A. J. 2013. Efficient wavelet-based  ECG  processing  for  single-lead  FHR  extraction. Digital  Signal Processing , 23 (6), 1897-1909.
10. Varanini, M., Tartarisco, G., Balocchi, R., Macerata, A., Pioggia, G., & Billeci, L. 2017. A new method  for  QRS  complex  detection  in  multichannel  ECG:  Application  to  self-monitoring  of fetal health. Computers in biology and medicine , 85 , 125-134.
11. Hartigan,  J.  A.,  &  Wong,  M.  A.  1979.  Algorithm  as  136:  A  K-means  clustering  algorithm. Applied Statistics , 28 (1), 100.
12. Hamerly,  G.,  &amp;  Elkan,  C.  2002.  Alternatives  to  the  K-means  algorithm  that  find  better clusterings. Proceedings  of  the  Eleventh  International  Conference  on  Information  and Knowledge Management - CIKM '02 .
13. Goldberger, A. L., Amaral, L. A., Glass, L., Hausdorff, J. M., Ivanov, P. C., Mark, R. G., ... & Stanley, H. E. 2000. PhysioBank, PhysioToolkit, and PhysioNet: components of a new research resource for complex physiologic signals. circulation , 101 (23), e215-e220.
14. Jezewski, J., Matonia, A., Kupka, T., Roj, D., & Czabanski, R. 2012. Determination of fetal heart rate from abdominal signals: evaluation of beat-to-beat accuracy in relation to the direct fetal electrocardiogram. Biomedizinische Technik/Biomedical Engineering , 57 (5), 383-394.
15. Agostinelli, A., Marcantoni, I., Moretti, E., Sbrollini, A., Fioretti, S., Di Nardo, F., & Burattini, L. 2017. Noninvasive fetal electrocardiography Part I: Pan-tompkins' algorithm adaptation to fetal R-peak identification. The open biomedical engineering journal , 11 , 17.
16. Pan, J., & Tompkins, W. J. (1985). A real-time QRS detection algorithm. IEEE transactions on biomedical engineering , (3), 230-236.