RANCANG BANGUN MONITORING SUARA JANTUNG BERBASIS WEB
MENGGUNAKAN RASPBERRY-PI 2 SEBAGAI SERVER
TUGAS AKHIR
Program Studi
S1 Sistem Komputer
Oleh :
VERGIE HADIANA PUTRA
12.41020.0032
FAKULTAS TEKNOLOGI DAN INFORMATIKA
HALAMAN JUDUL ... i
HALAMAN SYARAT ... ii
MOTTO ... iii
HALAMAN PERSEMBAHAN ... iv
HALAMAN PENGESAHAN ... v
HALAMAN PERNYATAAN ... vi
ABSTRAK ... vii
KATA PENGANTAR ... viii
DAFTAR ISI ... x
DAFTAR GAMBAR ... xiv
DAFTAR TABEL ... xvii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah ... 3
1.4 Tujuan ... 3
1.5 Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 6
2.1 Sinyal Suara Jantung (PCG) ... 6
2.2 Wavelet ... 7
2.4 Arduino ... 10
2.4.1 Arduino UNO ... 11
2.4.2 Software Arduino IDE ... 15
2.4.3 Bahasa Pemprograman Arduino ... 16
2.5 Parameter QoS ... 17
BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM ... 19
3.1.Metode Penelitian ... 19
3.2.Prosedur Penelitian ... 21
3.3.Perancangan Perangkat Keras ... 23
3.3.1 Perancangan Sensor Jantung ... 23
3.3.2 Perancangan Rangkaian Arduino ke Raspberry Pi 2 ... 24
3.3.3 Perancangan Rangkaian Arduino ke PC Pembanding ... 25
3.3.4 Arduino UNO ... 26
3.3.5 Heart Sound Sensor ... 26
3.4.Perancangan Perangkat Lunak ... 28
3.4.1 Algoritma Pembacaan Sinyal Jantung dan Pengiriman Data .. 28
3.4.2 Algoritma Penerimaan Data pada Raspberry Pi 2 ... 33
3.4.3 Algoritma Pengolahan Data secara Realtime pada Raspberry Pi 35 3.4.4 Algoritma Pengolahan Data secara Offline pada Raspberry Pi 37
3.5.Metode Analisa ... 37
BAB IV HASIL PENGUJIAN DAN PENGAMATAN ... 42
4.1.Pengujian Raspberry Pi 2 ... 42
4.1.1 Tujuan ... 43
4.1.2 Alat yang digunakan ... 43
4.1.3 Prosedur Pengujian ... 43
4.1.4 Hasil Pengujian ... 45
4.2.Pengujian Komunikasi Arduino Raspberry Pi 2 dan PC Pembanding 45 4.2.1 Tujuan ... 46
4.2.2 Alat yang digunakan ... 46
4.2.3 Prosedur Pengujian ... 46
4.2.4 Hasil Pengujian ... 48
4.3.Pengujian Arduino ... 48
4.3.1 Tujuan ... 49
4.3.2 Alat yang digunakan ... 49
4.3.3 Prosedur Pengujian ... 49
4.3.4 Hasil Pengujian ... 50
4.4.Pengujian tampilan penerimaan data pada raspberry pi 2 secara live 51 4.4.1 Tujuan ... 52
4.4.2 Alat yang digunakan ... 52
4.4.3 Prosedur Pengujian ... 52
4.5.1 Tujuan ... 56
4.5.2 Alat yang digunakan ... 56
4.5.3 Prosedur Pengujian ... 56
4.5.4 Hasil Pengujian ... 57
4.6.Pengujian Sistem ... 58
4.6.1 Tujuan ... 59
4.6.2 Alat yang digunakan ... 59
4.6.3 Prosedur Pengujian ... 60
4.6.4 Hasil Pengujian ... 61
4.7.Hasil Analisa Keseluruhan Sistem ... 68
BAB V PENUTUP ... 73
5.1.Kesimpulan ... 73
5.2.Saran ... 74
DAFTAR PUSTAKA ... 75
LAMPIRAN ... 77
Gambar 2.1 Bunyi Jantung Normal ... 7
Gambar 3.1 Diagram Blok Rancangan Penelitian ... 19
Gambar 3.2 Flowchart Proses Proses Penelitian Monitoring Sinyal Suara Jantung ... 22
Gambar 3.3 Gambar Perancangan ... 22
Gambar 3.4 Hubungan rangkaian heart sound sensor dan Arduino ... 24
Gambar 3.5 Hubungan Rangkaian Arduino dengan Raspberry Pi 2 ... 24
Gambar 3.6 Desain Program Penerimaan Data dari Arduino pada Raspberry Pi 2 menggunakan NODE-RED ... 25
Gambar 3.7 Hubungan Rangkaian Arduino dengan PC Pembanding Menggunakan USB TTL ... 26
Gambar 3.8 Heart sound sensor dari Seeed Studio ... 27
Gambar 3.9 Flowchart pembacaan pada heart sound sensor ... 28
Gambar 3.10 Flowchart Pembacaan Data dan Pengiriman Data Auskultasi Jantung ... 29
Gambar 3.11 Tampilan program Arduino pada software Arduino IDE ... 30
Gambar 3.12 Flowchart penerimaan data pada Raspberry Pi 2 ... 33
Gambar 3.14 Pengaturan Program NODE-RED untuk Penerimaan Data
Serial ... 34
Gambar 3.15 Pengaturan Lanjutan dari Konfigurasi Serial Port ... 34
Gambar 3.16 Icon pada Program NODE-RED untuk Penulisan dalam File 35
Gambar 3.17 Pengaturan Program NODE-RED untuk Penulisan File serial.txt ... 35
Gambar 3.18 Flowchart pengolahan data live pada Raspberry Pi 2 ... 36
Gambar 3.19 Flowchart pengolahan data offline pada Raspberry Pi 2 ... 37
Gambar 3.20 Letak posisi penempatan sensor suara detak jantung ... 38
Gambar 3.21 Hasil sinyal suara detak jantung ... 39
Gambar 3.22 Perbandingan data untuk mengecek kesesuaian data yang diterima ... 40
Gambar 3.23 Data yang tidak sesuai ... 40
Gambar 4.1 Tampilan peralatan yang digunakan untuk pengujian ... 42
Gambar 4.2 Tampilan software Win32DiskImager ... 44
Gambar 4.3 Tampilan proses write software Win32DiskImager ... 44
Gambar 4.4 Win32DiskImager selesai menulis pada micro SD ... 45
Gambar 4.5 Tampilan Arduino terkoneksi pada terminal di Raspberry Pi 2 ... 47
Gambar 4.6 Tampilan Arduino terkoneksi pada PC pembanding ... 47
Gambar 4.7 Komunikasi serial pada Arduino dan Raspberry Pi 2 ... 48
Gambar 4.8 Upload program berhasil ... 50
Gambar 4.9 Program berhasil berjalan ... 51
Gambar 4.10 Tampilan menu website... 53
Gambar 4.12 Tampilan simpan data live ... 54
Gambar 4.13 Tampilan program website untuk membuka rekap data membutuhkan id atau nama file yang disimpan sebelumnya... 58
Gambar 4.14 Hasil tampilan program rekap data ... 58
Gambar 4.15 Percobaan 1 pada Raspberry Pi 2 dengan baudrate 19200 ... 61
Gambar 4.16 Percobaan 1 pada PC pembanding dengan baudrate 19200 .... 62
Gambar 4.17 Percobaan 2 pada Raspberry Pi 2 dengan baudrate 38400 ... 62
Gambar 4.18 Percobaan 2 pada PC pembanding dengan baudrate 38400 .... 62
Gambar 4.19 Percobaan 3 pada Raspberry Pi 2 dengan baudrate 57600 ... 63
Gambar 4.20 Percobaan 3 pada PC pembanding dengan baudrate 57600 .... 63
Gambar 4.21 Percobaan 4 pada Raspberry Pi 2 dengan baudrate 115200 ... 64
Gambar 4.22 Percobaan 4 pada PC pembanding dengan baudrate 115200 .. 64
Gambar 4.23 Percobaan pada Raspberry Pi 2 dengan baudrate 115200 dan delay 1 milidetik ... 65
Gambar 4.24 Percobaan pada PC pembanding dengan baudrate 115200 dan delay 1 milidetik ... 65
Gambar 4.25 Percobaan pada Raspberry Pi 2 dengan baudrate 115200 dan delay 2 milidetik ... 66
Gambar 4.26 Percobaan pada PC pembanding dengan baudrate 115200 dan delay 2 milidetik ... 66
Gambar 4.27 Percobaan pada Raspberry Pi 2 dengan baudrate 115200 dan delay 3 milidetik ... 67
DAFTAR TABEL
Tabel 2.1 Spesifikasi Arduino Uno ... 12
Tabel 2.2 Packet Loss ... 18
Tabel 3.1 Spesifikasi Heart Sound Sensor ... 27
Tabel 4.1 Tabel Hasil Percobaan 1 dengan baudrate 19200 ... 62
Tabel 4.2 Tabel Hasil Percobaan 2 dengan baudrate 38400 ... 63
Tabel 4.3 Tabel Hasil Percobaan 3 dengan baudrate 57600 ... 63
Tabel 4.4 Tabel Hasil Percobaan 4 dengan baudrate 115200 ... 64
Tabel 4.5 Tabel Hasil Percobaan 5 dengan baudrate 115200 dan delay 1 ms. .. 66
Tabel 4.6 Tabel Hasil Percobaan 6 dengan baudrate 115200 dan delay 2 ms ... 67
Tabel 4.7 Tabel Hasil Percobaan 7 dengan baudrate 115200 dan delay 3 ms ... 67
Tabel 4.8 Tabel detail perhitungan throughtput dan utilisasi bandwidth dengan baudrate 115200 pada Raspberry-Pi 2 ... 68
Tabel 4.9 Tabel hasil perhitungan rata - rata throughput dan utilisasi bandwidth pada pengujian variasi baudrate ... 69
1.1 Latar Belakang Masalah
Kesehatan adalah isu serius yang di hadapi dunia saat ini, masalah
kesehatan semakin hari semakin berkembang seiring perubahan jaman, salah
satunya adalah kesehatan Jantung. Jantung adalah organ tubuh manusia yang
sangat penting dan berguna untuk memompa darah yang beredar ditubuh manusia.
Tanpa jantung, darah di tubuh manusia tidak akan dapat mengalir. Pola hidup
yang tidak sehat seperti makanan yang berkolesterol tinggi atau berlemak tinggi
serta kurangnya olahraga dapat memicu penyakit jantung. (Daso, 2015)
Penyakit jantung dapat dialami oleh siapa saja dan terkadang tidak dapat
di deteksi. Untuk mencegah terjadinya penyakit jantung sebaiknya melakukan
pemeriksaan yang dilakukan oleh dokter ahli. Proses pemeriksaan yang dilakukan
oleh dokter ahli disebut auskultasi (Puspasari, 2013). Auskultasi adalah
pemeriksaan kinerja organ tubuh seperti jantung dengan cara mendengarkan suara
yang di akibatkan oleh vibrasi yang berasal dari proses kerja jantung. Pada
penelitian sebelumnya “transmisi nirkabel sinyal auskultasi suara jantung dengan
menggunakan wireless zigbee network” pada perancangan ini dibuat agar dokter
dapat mengetahui kondisi jantung dari pasien tanpa melakukan pemeriksaan fisik
secara langsung dari 2 node secara bersamaan dengan tepat dan tidak tertukar,
tetapi pada penelitian ini mempunyai kelemahan yaitu masih menggunakan PC
daerah yang terjangkau saja dan data yang dikirimkan masih terdapat
kemungkinan untuk hilang. (Sari. 2015)
Masalah utama yang terjadi saat ini adalah kebanyakan yang terjadi
pemeriksaan pasien secara langsung atau bersentuhan dengan pasien secara
langsung dan untuk pasien yang berada daerah terpencil akan susah untuk
dilakukannya pemeriksaan kondisi jantung. Maka dari itu agar pasien dapat
diperiksa oleh dokter meskipun berbeda tempat dan tidak satu lingkungan dengan
pasien atau dokter.
Dari permasalahan diatas maka dibuatlah rancang bangun sistem
monitoring suara jantung berbasis web dengan menggunakan raspberry pi 2
sebagai server. Perancangan ini dibuat agar dokter dapat mengetahui kondisi
jantung dari pasien tanpa bertemu dengan pasien secara langsung dan dokter dapat
memeriksa keadaan jantung pasien meskipun berbeda tempat atau daerah yang
terpencil serta dapat diakses dimanapun dengan menggunakan web browser yang
ada pada komputer maupun smartphone yang menjadikan penelitian ini memiliki
mobilitas tinggi, serta alat yang digunakan pada perancangan ini adalah Raspberry
Pi 2 yang mempunyai fungsi layaknya PC yang berukuran mini atau kecil dan
sebagai tempat untuk webserver untuk ditampilkan pada user dalam bentuk grafik
yang datanya didapatkan dari alat sensor suara detak jantung.
1.2 Rumusan Masalah
Adapun permasalahan yang akan dihadapi dalam pengerjaan tugas akhir ini
diantaranya adalah :
1. Bagaimana membangun sistem monitoring suara jantung berbasis web
2. Bagaimana menampilkan data yang berasal dari sensor Phonocardiogram
(PCG) menjadi data yang dapat digunakan sebagai bahan analisis.
1.3 Batasan Masalah
Dalam perancangan dan pembuatan alat ini, terdapat beberapa batasan
masalah, antara lain :
1. Percobaan dilakukan hanya menggunakan sensor Phonocardiogram
(PCG) sebagai sensor suara jantung.
2. Media pengambilan data sensor menggunakan arduino.
3. Sensor Phonocardiogram yang digunakan adalah milik Seeedstudio Heart Sound Sensor.
4. Media pemprosesan dan penampilan data dari sensor menggunakan
Raspberry Pi 2.
5. Memvisualisasikan data sensor menggunakan webserver pada Raspberry
Pi 2.
6. Hanya menggunakan 1 sumber data.
7. Menggunakan kondisi suara suara detak jantung manusia normal.
1.4 Tujuan
Berdasarkan rumusan masalah yang diuraikan diatas, maka tujuan
penelitian ini adalah sebagai berikut :
1. Membangun sistem monitoring suara jantung berbasis web memanfaatkan
Raspberry Pi 2 sebagai server.
2. Menampilkan data yang berasal dari sensor Phonocardiogram (PCG)
1.5 Sistematika Penulisan
Pembahasan Tugas Akhir ini secara Garis besar tersusun dari 5 (lima)
bab, yaitu diuraikan sebagai berikut:
1. BAB I PENDAHULUAN
Pada Bab ini akan dibahas mengenai latar belakang masalah, batasan masalah,
tujuan penulisan, dan sistematika penulisan.
2. BAB II LANDASAN TEORI
Pada Bab ini akan dibahas teori penunjang dari permasalahan, yaitu mengenai
Sinyal suara jantung (PCG), Wavelet, Raspberry Pi, Node.js, Webserver,
Arduino, Arduino Uno, Software Arduino IDE, Bahasa Pemprograman
Arduino, dan Parameter QoS.
3. BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM
Pada Bab ini akan dibahas tentang blok diagram penelitian, Prosedur Penelitian
dalam pengamatan penelitian, serta perancangan perangkat keras yang meliputi
perancangan sensor jantung, perancangan rangkaian arduino ke Raspberry Pi 2
dan perancangan rangkaian Arduino ke PC pembanding, dalam perancangan
perangkat lunak meliputi pembuatan algoritma beserta skrip pembacaan sinyal
jantung dan pengiriman data. Serta konfigurasi untuk pembuatan skrip dalam
penerimaan data pada Raspberry Pi 2 maupun pada pc pembanding, flowchart
software website untuk menampilkan data yang diterima secara live dan offline
dari Arduino, serta cara pengambilan data sinyal suara detak jantung, dan cara
4. BAB IV HASIL DAN PEMBAHASAN
Pada Bab ini akan dibahas mengenai hasil yang diperoleh dari proses
pengiriman yang dilakukan dari Arduino ke Raspberry Pi 2 dan PC
pembanding. Cara analisa throughput dari selama proses transmisi sinyal suara
detak jantung berlangsung.
5. BAB V KESIMPULAN DAN SARAN
Berisi kesimpulan yang didapat dari hasil penelitian berdasarkan rumusan
2.1 Sinyal Suara Jantung (PCG)
Jantung adalah organ tubuh yang berfungsi untuk memompa darah dan
terdiri dari bagian atas yang disebut serambi (atrium) dan bagian bawah yang
disebut dengan bilik (ventricle). Otot-otot jantung memompa darah dari satu
ruangan ke ruangan lainnya. Setiap kali terjadi proses pemompaan, katup jantung
membuka sehingga darah dapat mengalir ke ruangan yang dituju. (Setiaji, 2011).
Pada detak jantung dihasilkan dua suara yang berbeda yang dapat
didengarkan pada stetoskop, yang sering dinyatakan dengan lub-dub. Suara lub
disebabkan oleh penutupan katup triscupid dan mitral (atrioventrikular) yang
memungkinkan aliran darah dari atrium (serambi jantung) ke ventricle (bilik
jantung) dan mencegah aliran balik dan dapat disebut dengan suara jantung
pertama (S1) yang terjadi pada awal systole (periode jantung berkontraksi). Suara
dub disebut suara jantung kedua (S2) yang terjadi pada akhir systole atau awal
diastole dan disebabkan oleh penutupan katup semilunar (aortic dan pulmonary)
yang membebaskan darah ke sistem sirkulasi paru-paru dan seluruh tubuh (Rizal,
2007). Sinyal suara jantung merupakan sinyal gelombang suara yang lemah, dan
biasanya sinyal ini berada di range antara 10 Hz hingga 250 Hertz (Adinarayana,
Gambar 2.1 Bunyi Jantung Normal. (Setiaji, 2011)
Gambar 2.2 Anatomi Jantung. (Anonim, 2015).
2.2 Wavelet
Wavelet adalah sebuah gelombang kecil, yang energinya terkonsentrasi
dalam waktu untuk menyediakan alat bantu analisis non-stationer atau perubahan
waktu. Karakteristik wave bergerak masih tetap dimiliki, namun juga dapat
bergerak dengan amplitudo sama pada -∞ ≤ t ≤ ∞ sehingga memiliki energi yang
tak berhingga, dengan Wavelet yang memiliki energi berhingga terkonsentrasi
pada suatu titik. (Burrus, Gopinath, Guo, 1998)
Gambar 2.3 Bentuk Sebuah Wave dan Wavelet. (Burrus, Gopinath, Guo, 1998)
2.3 Raspberry Pi 2
Raspberry Pi adalah komputer berukuran kartu kredit yang dikembangkan
di Inggris oleh Yayasan Raspberry Pi dengan tujuan untuk mempromosikan
pengajaran ilmu pengetahuan dasar komputer di sekolah. Raspberry Pi diproduksi
melalui lisensi manufaktur yang berkaitan dengan elemen 14/Premier Farnell dan
RS komponen. Perusahaan ini menjual Raspberry Pi secara online.
Raspberry Pi 2 memiliki sistem Broadcom BCM2836 chip (SoC) yang
sebelumnya Broadcom BCM2835 chip (SoC), yang lebih cepat hingga 6x lipat
dengan menggunakan Quad-Core ARM Cortex-A7 900MHz dari generasi
sebelumnya yang menggunakan ARM1176JZF-S 700 MHz single processor
(firmware termasuk sejumlah mode "Turbo" sehingga pengguna dapat mencoba
overclocking, hingga 1 GHz, tanpa mempengaruhi garansi), VideoCore IV GPU,
dan awalnya dengan 512 Megabyte RAM, kemudian
menjadi 1024 MB. Termasuk built-in hard disk atau solid-state drive, akan tetapi
menggunakan SD Card untuk booting dan penyimpanan jangka panjang.
Yayasan ini memberikan Debian dan Arch Linux ARM untuk di-download.
Juga mendukung Python sebagai bahasa pemrograman utama, dengan dukungan
untuk BBC BASIC,(melalui gambar RISC OS atau clone "Brendybasic" untuk
Linux), C, dan Perl.
Pada 17 Desember 2012 Yayasan Raspberry Pi, bekerjasama dengan
IndieCity dan Velocix, membuka "Store Pi", sebagai "one-stop shop untuk semua
kebutuhan Raspberry Pi (perangkat lunak)". Dengan menggunakan aplikasi
termasuk dalam Raspbian, pengguna dapat menelusuri beberapa kategori dan
men-download apa yang mereka inginkan.
2.3.1 Node.js
Javascript merupakan bahasa pemrograman yang lengkap hanya saja selama
ini di pakai sebagai bahasa untuk pengembangan aplikasi web yang berjalan pada
sisi client atau browser saja. Tetapi sejak ditemukannya Node.js oleh Ryan Dhal
menyediakan platform untuk membuat aplikasi Javascript dapat dijalankan di sisi
server. Untuk mengeksekusi Javascript sebagai bahasa server diperlukan engine
yang cepat dan mempunyai performansi yang bagus. Engine Javascript dari
Google bernama V8 yang dipakai oleh Node.js yang merupakan engine yang
sama yang dipakai di browser Google Chrome. (idjs.github.io, 2016)
2.3.2 Web server
Fungsi utama Web server adalah untuk melakukan atau akan mentransfer
berkas permintaan pengguna melalui protokol komunikasi yang telah ditentukan
sedemikian rupa. halaman web yang diminta terdiri dari berkas teks, video,
gambar, file dan banyak lagi. pemanfaatan web server berfungsi untuk
mentransfer seluruh aspek pemberkasan dalam sebuah halaman web termasuk
yang di dalam berupa teks, video, gambar dan banyak lagi.
Salah satu contoh dari Web Server adalah Apache. Apache (Apache Web
Server – The HTTP Web Server) merupakan web server yang paling banyak
dipergunakan di Internet. Program ini pertama kali didesain untuk sistem operasi
lingkungan UNIX. Apache mempunyai program pendukung yang cukup banyak.
Hal ini memberikan layanan yang cukup lengkap bagi penggunanya.
(idcloudhost.com, 2015)
2.4 Arduino
Arduino adalah prototipe platform elektroonik opensource yang terdiri
mikrokontroler, bahasa pemrograman, dan IDE. Arduino adalah alat untuk
pemula, tapi masih fleksibel bagi para ahli untuk mengembangkan proyek –
proyek yang kompleks. (Banzi, 2009)
2.4.1 Arduino Uno
Arduino Uno merupakan board mikrokontroller open source yang
menggunakan ATmega328 sebagai mikrokontrolernya. Arduino Uno memiliki 14
pin input / output, 6 pin dapat digunakan sebagai output PWM, 6 analog input,
crystal oscillator 6 Mhz, koneksi USB, jack power, kepala ICSP, dan tombol
reset.
Gambar 2.5 Board Arduino Uno (Arduino.cc, 2015)
Secara umum Arduino terdiri dari dua bagian, yaitu:
1. Hardware: papan input/output (I/O) mempunyai 2 sifat pin yaitu pin digital
dan pin analog, dapat digunakan sebagai pin digital. Digital berarti sinyal yang
dikirimkan atau diterima bernilai 1 atau 0, on atau off, HIGH atau LOW, ada
2. Software: software Arduino meliputi IDE untuk menulis program, driver untuk
koneksi dengan komputer, contoh program dan library untuk pengembangan
program. (Djuandi, 2011)
Berikut adalah tabel spesifikasi dari Arduino Uno
Tabel 2.1 Spesifikasi Arduino Uno
A. Daya (Power)
Arduino mega dapat diaktifkan melalui koneksi USB atau dengan catu
daya eksternal. Sumber daya dipilih secara otomatis. Eksternal ( non - USB ) daya
dapat berasal baik dari adaptor AC - DC atau baterai. Adaptor ini dapat
dihubungkan dengan menancapkan plug 2.1mm pusat - positif ke colokan listrik
board. Baterai dapat dimasukkan dalam Gnd dan Vin pin header dari konektor
daya.
Board dapat beroperasi pada pasokan eksternal 6 sampai 20 volt. Jika
tegangan dengan kurang dari 7V , tegangan pada board kemungkinan akan tidak Mikrokontroler ATMega 328P
Tegangan Operasi 5V
Input tegangan(rekomendasi) 7 – 12V
Input tegangan (Maksimal) 6 – 20V
Digital I/O Pin 14 (6 pin PWM)
Pin input Analog 6 DC current per I/O Pin 20mA Pin DC Current untuk 3.3V 50mA
Memori flash 32Kb, 0.5Kb digunakan untuk bootloader
SRAM 2Kb
EEPROM 1Kb
stabil. Jika menggunakan lebih dari 12V , regulator tegangan bisa panas dan
merusak board. Kisaran yang disarankan adalah 7 sampai 12 volt .
Pin listrik adalah sebagai berikut :
VIN : Tegangan input ke board Arduino ketika itu menggunakan sumber
daya eksternal ( sebagai lawan 5 volt dari koneksi USB atau
sumber daya diatur lain ). Kita dapat memasok tegangan melalui
pin ini.
5V : Pin output 5V diatur dari regulator di board. Board dapat
diaktifkan dengan daya baik dari colokan listrik DC (7 - 12V) ,
konektor USB (5V) , atau pin VIN dari board (7-12V). Jika
tegangan diberikan melalui 5V atau 3.3V melewati regulator , dan
dapat merusak board, maka tidak disrankan.
3V3 :
Sebuah
pasokan 3,3 volt dihasilkan oleh regulator on-board yangdapat menarik arus maksimum 50 mA.
GND : Pin tanah.
IOREF : Pin pada board Arduino memberikan tegangan referensi saat
mikrokontroler sedang beroperasi. Sebuah shield dikonfigurasi
dengan benar agar dapat membaca pin tegangan IOREF dan
memilih sumber daya yang tepat atau mengaktifkan penerjemah
tegangan pada output untuk bekerja dengan 5V atau 3.3V.
B. Memori
Atmega328 memiliki 32 KB dari flash memory untuk menyimpan kode
(0.5 KB digunakan untuk bootloader) , 2 KB SRAM dan 1 KB EEPROM ( yang
dapat dibaca dan ditulis dengan library EEPROM ).(Arduino.cc)
C. Input dan Output
Masing-masing dari 14 digital pin pada Uno dapat digunakan sebagai
input atau output, dengan menggunakan fungsi dari pinMode( ), digitalWrite( ),
dan digitalRead( ). Mereka beroperasi pada tegangan 5V. Setiap pin dapat
memberikan atau menerima maksimum 20 mA dan memiliki resistor pull-up
internal yang (terputus secara default) dari 20-50 KOhms. Selain itu, beberapa pin
memiliki fungsi khusus :
Serial : 0(RX) dan 1(TX). Yang digunakan untuk menerima (RX) dan
mengirimkan (TX) TTL data serial. Pin 0 dan 1 juga terhubung ke pin
yang sesuai dari Atmega8U2 USB - to- TTL chip Serial.
Eksternal Interupsi: 2 (interrupt 0) , 3 (interrupt 1). Pin ini dapat
dikonfigurasi untuk memicu interrupt pada nilai yang rendah, naik
atau jatuh tepi, atau perubahan nilai. Lihat AttachInterrupt( ) fungsi
untuk rincian .
PWM: 3, 5, 6, 7, 10 dan 11. Menyediakan 8 - bit PWM output dengan
analogWrite ( ) function.
SPI : 12(MISO), 11(MOSI), 13(SCK), 10(SS). Pin ini mendukung komunikasi
LED : 13. Ada built -in LED terhubung ke pin digital 13. Ketika pin dengan
2.4.2 Software Arduino IDE
Arduino IDE adalah software yang ditulis menggunakan java dan
berdasarkan pengolahan seperti, avr-gcc, dan perangkat lunak open source lainnya
(Djuandi, 2011). Arduino IDE terdiri dari:
1. Editor program, sebuah window yang memungkinkan pengguna menulis dan
mengedit program dalam bahasa processing.
2. Verify / Compiler, sebuah modul yang mengubah kode program (bahasa
processing) menjadi kode biner. Bagaimanapun sebuah mikrokontroler tidak
akan bisa memahami bahasa processing, yang dipahami oleh mikrokontroler
adalah kode biner.
3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam
Gambar 2.6 Tampilan Software Arduino IDE (Arduino, 2011)
Pada Gambar 2.6 terdapat menu bar, kemudian toolbar dibawahnya, dan
sebuah area putih untuk editing sketch, area hitam dapat kita sebut sebagai
progress area, dan paling bawah dapat kita sebut sebagai “status bar”.
2.4.3 Bahasa Pemprograman Arduino
Arduino ini bisa dijalankan di komputer dengan berbagai macam platform
karena didukung atau berbasis Java. Source program yang dibuat untuk aplikasi
mikrokontroler adalah bahasa C/C++ dan dapat digabungkan dengan assembly.
(Arduino.cc)
1. Struktur
Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi
yang harus ada (Arduino.cc), antara lain:
a) void setup( ) { }
Semua kode didalam kurung kurawal akan dijalankan hanya satu kali
b) void loop( ) { }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai.
Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi
secara terus menerus sampai catu daya (power) dilepaskan.
2. Serial
Serial digunakan untuk komunikasi antara Arduino board, komputer atau
perangkat lainnya. Arduino board memiliki minimal satu port serial yang
berkomunikasi melalui pin 0 (RX) dan 1 (TX) serta dengan komputer melalui
USB. Jika menggunakan fungsi – fungsi ini, pin 0 dan 1 tidak dapat
digunakan untuk input digital atau output digital (Arduino.cc). Terdapat
beberapa fungsi serial pada Arduino, antara lain:
a. Syntax
Adalah elemen bahasa C yang dibutuhkan untuk format penulisan.
(Arduino.cc)
b. Variabel
Sebuah program secara garis besar dapat didefinisikan sebagai instruksi
untuk memindahkan angka dengan cara yang cerdas. Variabel inilah
yang digunakan untuk memindahkannya. (Arduino.cc).
2.5 Parameter QoS
Performansi mengacu ke tingkat kecepatan dan keandalan penyampaian
berbagai jenis beban data di dalam suatu komunikasi. Performansi merupakan
Throughput, yaitu kecepatan (rate) transfer data efektif, yang diukur
dalam bps. Troughput merupakan jumlah total kedatangan paket yang
sukses yang diamati pada destination selama interval waktu tertentu
dibagi oleh durasi interval waktu tersebut.
ℎ �ℎ = � � � � �� � � � � � � � �
Packet Loss, merupakan suatu parameter yang menggambarkan suatu
kondisi yang menunjukkan jumlah total paket yang hilang, dapat terjadi
karena collision dan congestion pada jaringan dan hal ini berpengaruh
pada semua aplikasi karena retransmisi akan mengurangi efisiensi
jaringan secara keseluruhan meskipun jumlah bandwidth cukup tersedia
untuk aplikasi-aplikasi tersebut. Umumnya perangkat jaringan memiliki
buffer untuk menampung data yang diterima. Jika terjadi kongesti yang
cukup lama, buffer akan penuh, dan data baru tidak akan diterima.
Tabel 2.2 Packet Loss
KATEGORI DEGREDASI PACKET LOSS
Sangat bagus 0
Bagus 3 %
Sedang 15 %
Jelek 25 %
Delay transmisi (latency), adalah waktu yang dibutuhkan data untuk
menempuh jarak dari asal ke tujuan. Delay dapat dipengaruhi oleh jarak,
media fisik, kongesti atau juga waktu proses yang lama.
3.1 Metode Penelitian
Gambar 3.1 Diagram Blok Rancangan Penelitian.
Metode penelitian yang digunakan dalam pengerjaan tugas akhir ini adalah
rancang bangun yang merupakan rancang bangun hardware berupa perangkat
raspberry pi 2 untuk memproses atau mengolah data yang diperoleh dari sensor
suara detak jantung yang terhubung dengan arduino uno. Pada rancang bangun
software berupa membuat sebuah program yang bisa menampilkan hasil data
berupa grafik yang didapatkan dari sensor suara detak jantung melalui arduino
mengumpulkan data dan informasi-informasi serta materi yang sesuai dengan
permasalahan yang terjadi. Studi kepustakaan dilakukan untuk mencari teori atau
informasi dari buku, materi perkuliahan serta literatur dari internet, jurnal, dan
artikel-artikel yang berkaitan dengan penelitian.
Pada penelitian sebelumnya “transmisi nirkabel sinyal auskultasi suara
jantung dengan menggunakan wireless zigbee network” yang mempunyai
kelemahan yaitu dengan data yang didapatkan kurang akurat serta tidak fleksibel
dalam penggunaanya. Pada penelitian ini menggunakan data real yang secara
langsung didapatkan saat menggunakan sensor phonocardiogram (PCG) dari
Arduino. Berdasarkan blok diagram pada Gambar 3.1, serta telah dijelaskan
bahwa suara jantung yang diterima sensor phonocardiogram (PCG) pada
Arduino, lalu data dikirimkan ke Raspberry Pi 2 dengan pengiriman serial melalui
serial USB yang terhubung. Setelah nilai data sinyal suara jantung diperoleh,
maka dilanjutkan proses ke variable penampil dalam bentuk grafik yang ada ada
website, yang mana data tersebut akan di proses secara berurutan untuk menjadi
bentuk sinyal suara jantung.
Penjelasan blok diagram pada rancangan penelitian yang menjelaskan
tentang bagian sensor node dan permprosesan data.
1. Pada Sensor Node terdapat 2 alat yaitu heart sound sensor dan arduino
uno. Heart sound sensor berfungsi untuk mengambil sinyal suara detak
jantung pada pasien lalu di proses perubahan analog menjadi digital pada
arduino uno, lalu pada arduino uno data yang didapatkan langsung
dikirimkan ke Raspberry pi 2 dan PC pembanding untuk dilakukannya
2. Pada bagian pemprosesan data yang hanya ada raspberry pi 2 yang
mempunya fungsi sebagai pembacaan data, yang berguna untuk membaca
data yang didapatkan melalui arduino dengan menggunakan pengiriman
serial.
3. Lalu terdapat juga fungsi webserver, fungsi ini sendiri untuk sebagai
pengolah data yang didapatkan dari arduino. Pengolahan Data Sinyal yang
dimaksudkan disini adalah untuk menampilkan data tersebut dalam bentuk
grafik yang dapat di baca dan dipahami oleh user yang menjelaskan
tentang menampilkan data sinyal dalam bentuk grafik.
4. Lalu Penyimpanan ke file yang dimaksudkan disini adalah data yang
diterima oleh raspberry pi 2 dari arduino akan langsung disimpan dalam
bentuk teks file untuk dapat di proses dalam bentuk grafik nantinya.
5. Melakukan pengujian dengan parameter uji throughput dan utilisasi
bandwith karena dipengaruhi oleh baudrate.
3.2 Prosedur Penelitian
Prosedur ini menjelaskan tentang langkah-langkah yang dilakukan dalam
START
Gambar 3.2 Flowchart Proses Penelitian Monitoring Sinyal Suara Jantung.
1. Proses dimulai dengan pengambilan data sinyal suara jantung pada subjek
dengan menggunakan sensor phonocardiogram (PCG), lalu selanjutnya data
akan dikirimkan ke Raspberry Pi 2 untuk diproses hasilnya.
2. Pada pengirimannya ke Raspberry Pi 2 menggunakan serial dengan baudrate
yang sudah ditentukan, lalu data yang masuk pada Raspberry Pi 2 akan
menghasilkan file text serial.txt untuk dilakukan penampilan berupa grafik
pada website.
3. Setelah melakukan pengamatan selama 2 menit (120 detik) maka dilakukan
perbandingan data yang diperoleh dari Raspberry Pi 2 dengan perbandingan
data yang didapat oleh PC pembanding.
4. Hasil antara Raspberry Pi 2 dengan PC pembanding di perlihatkan untuk
pengambilan data dengan subjek atau kehilangan data saat proses transmisi
atau pengiriman ke perangkat pemproses.
3.3 Perancangan Perangkat Keras
Gambar 3.3 Gambar Perancangan
3.3.1 Perancangan Sensor Jantung
Untuk dapat mendektsi detak jantung pasien secara elektrik, maka
dibutuhkan sensor. Sensor yang digunakan pada rancang bangun monitoring suara
jantung berbasis web dengan menggunakan raspberry-pi 2 sebagai server ini
adalah Heart Sound Sensor. Sensor ini telah dilengkapi dengan pengkondisi
sinyal dan fiter yang bertugas meredam dan mengolah sinyal jantung dan
mengkonversinya dalam bentuk tegangan. Dengan demikian keluaran sensor
Heart Sound Sensor dapat langsung dibaca melalui ADC Internal pada Arduino
Uno. Adapun perncangan rangkaian heart sound sensor ditunjukkan pada Gambar
Gambar 3.4 Hubungan rangkaian heart sound sensor dan Arduino.
3.3.2 Perancangan Rangkaian Arduino ke Raspberry Pi 2
Agar Data yang di dapat dari sensor dapat ditampilkan pada Web maka
Arduino terkoneksi dengan Raspberry Pi 2 dan berkomunikasi secara serial.
Untuk itu pada perancangan ini menggunakan kabel USB yang difungsikan
sebagai menghubungkan Arduino dengan Raspberry Pi 2 seperti yang ditunjukkan
pada Gambar 3.5
Sementara itu untuk pemprosesan data serial yang didapat dari Arduino
pada Raspberry pi 2 meggunakan pengiriman serial melalui kabel USB yang
terhubung. Kemudian diolah menggunakan Aplikasi NODE-RED yang ada Pada
Raspbeery Pi 2, konfigurasi yang digunakan ditujukan seperti pada Gambar 3.6,
pada Gambar tersebut data diperoleh oleh Raspberry Pi 2 akan langsung disimpan
kedalam file serial.txt serta selama mendapatkan data dari USB serial dari
Arduino ke Raspberry Pi 2 akan terus menulis secara berulang.
Gambar 3.6 Desain Program Penerimaan Data dari Arduino pada Raspberry Pi 2 menggunakan NODE-RED
3.3.3 Perancangan Rangkaian Arduino ke PC Pembanding
Untuk dapat mendeteksi adanya perbedaan data yang diterima pada
Arduino ke Raspberry Pi 2 maka dibutuhkan PC Pembanding untuk mengetahui
apakah terdapat data yang hilang atau tidak terkirim pada Raspberry Pi 2 maka
Gambar 3.7 Hubungan Rangkaian Arduino dengan PC Pembanding Menggunakan USB TTL.
3.3.4 Arduino UNO
Pada Gambar 3.4 terdapat Arduino Uno yang memiliki fungsi sebagai
membaca sensor yang menggunakan sinyal analog, dan dikirimkan datanya ke
Raspberry Pi 2 dengan cara dikirimkan melalui koneksi serial, untuk membaca
nilai sensor sinyal analog digunakan fungsi ReadAnalog didalam modul Arduino.
Pada modul Arduino data yang ditransmisikan ke Raspberry Pi 2 dengan
mengirimkan waktu dalam satuan milidetik dan nilai data yang didapatkan dari
sensor suara jantung, serta format pengiriman data : (waktu),(data)
3.3.5 Heart Sound Sensor
Untuk mengambil suara jantung dibutuhkan maka sensor suara jantung
yang sesuai, penulis menggunakan heart sound sensor dari seeed studio untuk
Gambar 3.8 Heart sound sensor dari Seeed Studio.
Pada perangkat heart sound sensor sudah terintegrasi komponen suara
mikro yang dibuat dari material polymer, serta dapat menghasilkan keluaran
sinyal audio impedansi rendah. Dengan menggunakan design modular, serta PCB
yang bersifat plug-way closed. Maka perangkat ini dapat digunakan secara luas
dan berbagai pengamatan, contohnya seperti pengamatan sinyal suara jantung,
pengamatan sinyal suara janin, serta dapat dilakukan pengamatan lainnya yang
bersifat pengamatan suara.
Tabel 3.1 Spesifikasi Heart Sound Sensor
Input tegangan
3
–
5V DC
Konsumsi tegangan
5mA
Jarak frekuensi
1
–
600 Hz
Kesensitif-an
> 4mV/Pa
3.4 Perancangan Perangkat Lunak
Dari perancangan sistem diatas, selain perancangan hardware juga
dibutuhkan perncangan perangkat lunak untuk menjalankan perancangan
hardware yang telah dibuat. Perangkat lunak ini terdiri dari beberapa algoritma
perancangan dari sistem yang ditangani oleh software.
3.4.1 Algoritma Pembacaan Sinyal Jantung dan Pengiriman Data
Start
Stop
Input Suara
Detak Jantung
Merubahan Sinyal Analog
menjadi Sinyal Digital
dalam 10 bit Data
Hasil Sinyal Suara
Jantung
Gambar 3.9 Flowchart pembacaan pada heart sound sensor
Seperti yang sudah dijelaskan pada Gambar 3.9, pada hasil keluaran dari
sensor suara jantung berupa sinyal analog. Maka pada Arduino Uno dilakukan
pembacaan menggunakan salah satu fungsi, fungsi tersebut adalah analogRead.
Pada pemprograman Arduino Uno, user diberi kemudahan dengan beberapa
digital dengan resolusi 10 bit. Hal ini ditujukan agar sinyal analog yang dibaca
lebih presisi saat dikonversi ke digital.
Selanjutnya data yang diperoleh akan ditransmisikan beserta waktunya
dalam satuan milidetik ke PC Pembanding dan Raspberry Pi 2 secara bersamaan,
dan proses pengiriman data akan langsung dikirimkan.
Start
Gambar 3.10 Flowchart Pembacaan Data dan Pengiriman Data Auskultasi Jantung
Pengiriman data dilakukan sesuai dengan protokol yang sudah ditetapkan,
sehingga dapat disimpulkan bahwa pengiriman data berupa string atau karakter.
Pengiriman data akan dikirimkan melalui kabel USB dan USB TTL yang
Pengiriman dilakukan dengan delay 2ms sesuai dengan ketetapan yang
ada, yaitu pengiriman dilakukan minimal dengan 2 kali frekuensi sampling
jantung normal ( Teori Sampling ). (Lynn, 1994)
� = �� − ��
� = �
= � ��
= ��
� � �� = = , ≈
Pada tugas akhir ini, penulis menggunakan Arduino UNO sebagai
microcontroller-nya. Sedangkan software yang digunakan untuk memprogram
arduino tersebut adalah software Arduino IDE, dan algoritma yang ada pada
diatas dibuatlah program dengan teori sampling diatas.
Berikut contoh pemprograman modul arduino uno pada sensor node yang
diprogram pada Arduino IDE
a. Pembuatan variable
Dalam pembuatan variable, terdapat beberapa variable yang digunakan
oleh penulis seperti algoritma diatas. Ini penulis menggunakan variable tipe string
yang bernama “sensorValue” untuk menampung data dari sensor suara detak
jantung. Dan juga menggunakan perintah “#include <SoftwareSerial.h>” untuk
memanggil library SoftwareSerial yang digunakan untuk mengirimkan data ke PC
Pembanding menggunakan RX TX yang ada pada pin 0 dan 1 dan menggunakan
perintah “#define rxPin 0”, “#define txPin 1”, dan “SoftwareSerial
mySerial(rxPin, txPin);” untuk mendefinisikan letak pin rx tx serta membuat
nama variable mySerial untuk pengiriman menggunakan rx tx. Dan membuat
variable tipe string yang bernama “waktu” untuk menampung waktu yang
diperoleh saat mendapatkan data. Pembuatan variable ini diletakkan diluar fungsi
void agar variable ini dapat digunakan secara global. Berikut sebagai contoh :
untuk pengiriman serial ke Raspberry Pi 2 dan PC pembanding. Berikut sebagai
Dalam void loop perintah akan dibaca berulang kali selama mikrokontroler
tersambung dengan tegangan. Dalam tugas akhir ini penulis mengisi perintah
bagaimana data diolah dan dikirimkan, semua perintah di tulis pada void loop ini.
Dan program ditulis sesuai dengan algoritma yang telah dibuat seperti pada
Gambar 3.11. Berikut contohnya :
void loop(){
Serial.println(sensorValue); delay(2);
mySerial.print(waktu); mySerial.print(",");
mySerial.println(sensorValue); delay(2);
3.4.2 Algoritma Penerimaan Data pada Raspberry Pi 2 :
Start
Stop
Data Sinyal Suara Jantung
Simpan data ke text file
(serial.txt)
Ada Data Masuk dari Komunikasi Serial dengan
Arduino UNO
TRUE
FALSE
Gambar 3.12 Flowchart penerimaan data pada Raspberry Pi 2
Pada transmisi data sinyal suara jantung yang dikirimkan dari Arduino ke
Raspberry Pi 2 secara serial, lalu akan langsung dikirim kedalam file teks yang
sudah ditentukan, pada penulis kali ini menyimpannya kedalam file serial.txt
untuk menyimpan data. Proses icon yang digunakan adalah proses serial input
yang ada pada Gambar 3.13, Lalu untuk konfigurasi penerimaan data pada
Gambar 3.13 Icon pada Program NODE-RED untuk Penerimaan Data Serial
Gambar 3.14 Pengaturan Program NODE-RED untuk Penerimaan Data Serial
Pada konfigurasi Serial port diisi “/dev/ttyACM0” karena itu merupakan
identitas arduino uno pada raspberry pi 2, dan juga tentukan baudrate, data bits,
parity, stopbits untuk pengaturan penerimaan serial dari Arduino Uno.
Konfigurasi serial port NODE-RED seperti Gambar 3.15
Pada proses icon yang digunakan untuk penyimpanan data dalam file
adalah proses storage output file seperti pada Gambar 3.16 serta untuk konfigurasi
pada file tersebut memberikan path file tersebut ingin disimpan beserta nama
filenya pada penulis disimpan pada “/var/www/html/serial.txt” yang mempunyai
arti file serial dengan format file txt / text file yang disimpan di “/var/www/html”
seperti Gambar 3.17.
Gambar 3.16 Icon pada Program NODE-RED untuk Penulisan dalam File
Gambar 3.17 Pengaturan Program NODE-RED untuk penulisan file serial.txt
pengelompokkan data. Proses pemisahan data dilakukan pada Raspberry Pi 2,
setelah itu dilakukan pengelompokan data sesuai dengan kategori asal data.
Pengelompokan data dapat dilihat dari nilai pertama merupakan waktu dari
data nilai kedua yang merupakan nilai dari sensor. Ketika data sudah dipisahkan,
selanjutnya baru dilakukan analisa data. Hal ini akan memudahkan penulis dalam
melakukan analisa data yang telah terkumpul. Karena data sudah otomatis dalam
satu file, dan data dapat disimpan untuk menghindari data yang tidak valid. Dan
penulis tidak perlu memisahkan data secara manual. Flowchart pengolahan data
live pada Raspberry Pi 2 dapat dilihat pada Gambar 3.18.
Start
3.4.4 Algoritma Pengolahan Data secara Offline pada Raspberry Pi 2
Pada pengolahan data secara offline pada dasarnya sama saja, hanya saja
yang berbeda dari pengolahan secara realtime adalah data terlebih dahulu
disimpan kedalam sebuah file dengan nama yang sudah ditentukan oleh user
sebelumnya, selanjutnya data akan ditampilkan ketika user memasukkan nama
file tersebut maka program akan langsung mengambil data dari file tersebut. Dan
grafik akan muncul sesuai dengan isi dari penerimaan data. Flowchart pengolahan
data secara offline dapat dilihat pada Gambar 3.19.
Start
Stop Apakah data
tersedia?
perLine = data.split('\n');
For i = 0 to allLines.length
LineBagi = perLine[i].split(',')
dps.push({ x: parseInt(LineBagi[0]), y: parseFloat((parseInt(LineBagi[1])/1024)*5)
}); Input Nama File atau ID
yang sudah disimpan
Gambar 3.19 Flowchart pengolahan data offline pada Raspberry Pi 2
adalah analisa dari hasil pengiriman itu agar dapat diketahui baik sistem yang
telah dibangun.
3.5.1 Peletakan Sensor Suara Detak Jantung pada Tubuh
Dalam transmisi data sinyal suara detak jantung, komponenn terpenting
adalah data yang diambil dari auskultasi jantung. Maka yang pertama kali
dilakukan adalah mengambil data auskultasi dengan meletakkan sensor pada
posisi jantung pasien dengan tepat.
Posisi jantung manusia berada pada tulang iga manusia ke 6 di sebelah kiri
dada manusia, atau 5 cm diatas ulu hati disebelah kiri.Peletakkan sensor ini sangat
berpengaruh, karena apabila sensor tidak diletakkan pada bagian jantung dengan
tepat maka data yang akan diterima berupa noise data. Posisi Mitral area dapat
dilihat pada Gambar 3.20
3.5.2 Pengambilan data Sinyal Suara Detak Jantung
Proses pengambilan data dilakukan saat semua alat terpasang, dan proses
pengiriman data berlangsung. Seperti yang dijelaskan sebelumnya, melalui grafik
kita dapat melihat apakah data yang didapatkan dari sensor. Data akan tersimpan
pada sebuah file yang bernama serial.txt. File inilah yang nantinya digunakan
untuk menampilkan data secara live maupun offline dan nantinya digunakan untuk
menganalisa seberapa baik sistem dapat mentransmisikan sinyal suara detak
jantung dari Arduino ke Raspberry Pi 2 dan PC pembanding secara bersamaan
dan streaming.
Grafik sinyal suara detak jantung akan langsung muncul pada grafik yang
ada pada website dengan pilihan menu live data. Hal ini dikarenakan penerimaan
data pada Raspberry Pi 2 langsung akan diolah dalam bentuk grafik . Contoh
grafik sinyal suara detak jantung terlihat pada Gambar 3.21
Gambar 3.21 Hasil sinyal suara detak jantung
3.5.3 Analisa Transmisi Sinyal Suara Detak Jantung
data dibandingkan analisa data yang diperoleh dari Raspberry Pi 2 dengan data
yang diperoleh dari PC pembanding.
Dari semua data yang dikirim terdapat ketidakcocokan atau tidak sesuai
data saat diterima, tetapi bukan data loss karena data tersebut hanya datang
terlambat.
Gambar 3.22 Perbandingan data untuk mengecek kesesuaian data yang diterima
Maka dari pencarian data delay transmisi dan data loss seperti pada
Gambar 3.21 dan Gambar 3.22 maka tidak dapat dilakukan perhitungan karena
data tidak valid tersebut bukan data loss maka dilakukan perhitungan seberapa
besar throughput rata – rata dari setiap pengiriman data.
Throughput adalah besar kecepatan data terkirim secara real. Maka untuk
menemukan throughput dilakukan dengan cara memasukkan jumlah data diterima
selanjutnya dibagi dengan lama waktu pengamatan.
� = � �
Maksud dari rumus diatas adalah :
Jumlah data masuk : Keseluruhan jumlah data yang dikirimkan setiap
pengiriman satu waktu.
Jumlah tiap packet data : Jumlah data yang dikirimkan dalam 1 buah paket
data terdapat antara 6 karakter sampai 10 karakter.
Besar pengiriman data : sebuah karakter terbentuk dari 10 bit data, yaitu 8
Dalam bab ini penulis akan menguraikan dan menjelaskan beberapa hasil
pengujian dari hasil penelitian tugas akhir ini. Pengujian yang dilakukan meliputi
pengujian perangkat lunak dan kinerja keseluruhan sistem, serta analisa hasil
transmisi data dari Arduino ke Raspberry Pi 2 dan Arduino ke PC pembanding.
Perlengkapan yang digunakan dalam pengujian ini dapat dilihat dalam Gambar
4.1.
Gambar 4.1 Tampilan peralatan yang digunakan untuk pengujian.
4.1 Pengujian Raspberry Pi 2
Pengujian Raspberry Pi 2 dilakukan dengan menggunakan operating
merupakan freeware yang digunakan untuk menginstall oprating system
Raspberry Pi 2 pada kartu memori micro SD Raspberry Pi 2.
4.1.1 Tujuan
Pengujian ini dilakukan untuk membuat Raspberry Pi 2 dapat digunakan
dan berfungsi dengan baik, serta dapat menampilkan grafik dari sensor suara
detak jantung menggunakan software yang sudah tersedia dari operating system
yang digunakan.
4.1.2 Alat yang digunakan
Untuk melakukan percobaan ini maka diperlukan beberapa alat sebagai
berikut.
b. Lalu Download Win32DiskImager untuk masukkan file image kedalam micro
SD. https://sourceforge.net/projects/win32diskimager/
d. Membuka software win32diskimager dan tekan icon folder dan pilih image
raspbian lalu tekan “Open” pada kotak dialog“select a disk image”.
e. Pada Pilihan “Device” ,pilih drive letter dan nama sesuai dengan micro SD,
lalu Tekan “Write” untuk menulis data pada driver tersebut, lalu akan keluar
konfirmasi kotak dialog untuk memformat isi dari driver tersebut.
Gambar 4.2 Tampilan software Win32DiskImager
4.1.4 Hasil Pengujian
Pada Gambar 4.3 terdapat proses write hal ini menandakan bahwa
Win32DiskImager sedamg melakukan penulisan data operating system kedalam
micro SD. Dengan demikian maka Raspberry Pi 2 dapat digunakan dengan
menggunakan micro sd yang sudah terdapat data operating system raspbian pada
pengerjaan tugas akhir ini.
Gambar 4.4 Win32DiskImager selesai menulis pada micro SD
4.2 Pengujian Komunikasi Arduino Raspberry Pi 2 dan PC Pembanding
Pengujian komunikasi Arduino ke Raspberry Pi 2 dilakukan dengan
mengatur baudrate dikedua alat tersebut dan disesuaikan dengan yang telah
dijelaskan pada BAB III. Komunikasi yang baik ketika Arduino dapat menerima
nilai sensor serta waktunya dan dapat mengirimkan data tersebut ke Raspberry Pi
4.2.1 Tujuan
Pengujian ini dilakukan untuk mengetahui apakah Arduino dan
Raspberry Pi 2 serta ke PC Pembanding yang digunakan dapat berkomunikasi
dengan baik.
4.2.2 Alat yang digunakan
Alat yang digunakan untuk melakukan pengujian antara lain :
a. Raspberry Pi 2
b. Arduino UNO
c. Kabel USB
d. USB TTL
e. Komputer/ Laptop
f. Software Arduino IDE
g. Software RS232 Data Logger
4.2.3 Prosedur Pengujian
Baudrate Pada Arduino, Raspberry Pi 2 dan PC Pembanding di samakan
nilainya yaitu dengan nilai yang digunakan, contohnya 115.200. Pada Raspberry
Pi 2 juga dilakukan pengecekan terhadap alat tersebut apakah sudah terkoneksi
atau belum pada Raspberry Pi 2 dengan mengetikkan perintah pada terminal
“ ls /dev/tty* ” dan lihat apakah terdapat nama “ttyACM0” yang bertandakan
Gambar 4.5 Tampilan Arduino terkoneksi pada terminal di Raspberry Pi 2
Pada PC Pembanding dengan menggunakan operating system windows
maka juga dilakukan instalasi driver USB TTL terlebih dahulu, dan memastikan
bahwa port kondisi tersedia seperti pada Gambar 4.6 pada kotak berwarna merah,
dan untuk memastikan baudrate yang digunakan sama pada koneksi Arduino
terdapat pada kotak berwarna biru.
4.2.4 Hasil Pengujian
Gambar 4.7 Komunikasi serial pada Arduino dan Raspberry Pi 2
Pada Gambar 4.7 diatas, tulisan yang ada pada kotak berwarna merah
merupakan Raspberry Pi 2 sedang menerima data dari Arduino dengan
menggunakan Software NODE-RED yang sudah pre-installed pada Operating
system RASPBIAN, dan terlihat bahwa Raspberry Pi 2 menerima data dari
Arduino dengan baik. Serta pada Gambar 4.6 terlihat bahwa PC pembanding
sudah dapat bisa menerima data dengan Arduino.
4.3 Pengujian Arduino
Pengujian Arduino dilakukan dengan memasukan skrip program
sederhana pada Arduino menggunakan aplikasi Arduino IDE. Arduino yang baik
4.3.1 Tujuan
Pengujian ini dilakukan untuk mengetahui apakah Arduino yang
digunakan tidak mengalami kerusakan. Sehingga saat Arduino digunakan pada
sistem dapat membantu sistem berjalan dengan baik.
4.3.2 Alat yang digunakan
Alat yang digunakan untuk melakukan pengujian antara lain :
a. Kabel USB
b. Arduino UNO
c. Komputer/Laptop
d. Software Arduino IDE
4.3.3 Prosedur Pengujian
a. Menghubungkan Arduino dengan kabel USB
b. Menyalakan komputer kemudian hubungkan kabel USB dengan komputer.
c. Membuka software Arduino IDE dan isi perintah dalam bahasa C. Sebagai
contoh penulis memasukkan perintah sebagai berikut :
d. Apabila telah selesai untuk mengisi perintah, maka tekan “Verify” untuk
mengecek apabila terdapat perintah yang salah dalam bahasa C. Dan tekan
“Upload” untuk memasukkan perintah tersebut ke dalam Arduino Mega
2560.
e. Setelah program telah berhasil dimasukkan, maka tekan icon Serial monitor
pada kanan atas. Maka akan muncul tampilan serial monitor.
f. Setelah window serial monitor muncul, amati kiriman data serial oleh
Arduino.
4.3.4 Hasil Pengujian
Hasil dari pengujian pengisian program ke Arduino dapat dilihat pada
Gambar 4.8. Lingkaran merah menunjukan bahwa Arduino yang digunakan
berhasil diisi dengan program yang telah ditulis dalam software Arduino IDE.
Program yang dimasukan kedalam Arduino merupakan program untuk
mengirimkan data menggunakan serial. Proses pengiriman ini apabila Arduino
masih dihubungkan dengan USB PC maka kita dapat menerima data yang dikirim
menggunakan menu serial monitor pada software Arduino IDE. Hasil dari serial
monitor dapat dilihat pada Gambar 4.8.
Gambar 4.9 Program berhasil berjalan
Gambar 4.9 menunjukan bahwa data dikirimkan sesuai dengan perintah
program yang telah diisi pada Arduino. Dengan begitu Arduino ini dapat bekerja
dengan baik, dan dapat digunakan untuk sistem.
4.4 Pengujian tampilan penerimaan data pada Raspberry Pi 2 secara live
Pengujian ini merupakan pengujian penerimaan pada aplikasi berbasis
web yang berjalan dengan baik dan dapat menerima sinyal jantung dan dapat
4.4.1 Tujuan
Pengujian ini bertujuan untuk mengetahui aplikasi dapat menerima sinyal
jantung dengan baik. Dan dapat mempresentasikan sinyal jantung dengan baik ke
dalam grafik. Dan dapat menyimpan hasil sinyal jantung pada sebuah id atau
nama file yang diinginkan.
4.4.2 Alat yang digunakan
Alat yang digunakan untuk pengujian sistem ini antara lain:
a. Arduino UNO
b. Heart Sound Sensor
c. Kabel USB
d. Kabel UTP (RJ-45)
e. Router
f. Raspberry Pi 2
g. Komputer/Laptop
h. Software Browser terbaru, penulis menggunakan Google Chrome
i. Timer
4.4.3 Prosedur Pengujian
a. Menghubungkan Arduino dan Raspberry Pi 2 dengan kabel USB.
b. Menghubungkan Raspberry Pi 2 dan komputer ke Router dengan menggunakan kabel UTP.
d. Aktifkan Raspberry Pi 2 dan buka program terminal.
f. Meletakkan sensor pada jantung agar mendapatkan sinyal jantung yang
tepat.
g. Membuka aplikasi browser dari Komputer
h. Mengketikkan alamat dari Raspberry Pi 2, setelah selesai me-load halaman
utama website maka selanjutnya lihat Bagian Menu – lalu pilih Live Data
Sinyal Jantung
i. Melakukan pengambilan data selama 120 detik, untuk memperoleh sinyal
jantung.
h. Mengamati data, apakah data dapat diterima oleh aplikasi dan sinyal yang
ditangkap merupakan sinyal jantung.
h. Jika selesai mengamati dan ingin menyimpan data tersebut pilih Save Data,
lalu masukkan ID atau Nama yang diinginkan. Setelah selesai pilih Simpan.
4.4.4 Hasil Pengujian
Gambar 4.11 Tampilan pengambilan data live
Gambar 4.12 Tampilan simpan data live
Gambar 4.10 menunjukkan halaman utama website dan pilihan menu,
lalu Gambar 4.11 bahwa sinyal jantung dapat diterima oleh Raspberry Pi 2 dengan
baik. Penerimaan sinyal pada Raspberry Pi 2 dilakukan dengan cara pembacaan
data secara serial melalui aplikasi NODE-RED dengan membaca nama file
serial.txt yang telah dibuat otomatis oleh program.
Dari Gambar 4.12 dapat dilihat user dapat menyimpan kedalam id atau
kotak dialog LOG LIVE merupakan untuk menampilkan isi data yang terambil
saat itu juga. Sebelum data diolah atau dipisah data yang diterima seperti yang
terlihat pada Grafik merupakan data yang sudah diolah.
Hasil sinyal suara jantung yang dipresentasikan kedalam grafik
merupakan hasil sinyal setelah dirubah kedalam tegangan. Cara merubah data
menjadi tegangan adalah dengan cara memasukkan rumus :
x = data / 1024 * 5 – 2,5
berikut adalah penjelasan dari rumus merubah data menjadi data tegangan :
a. Pembagian 1024 : dilakukan karena sinyal auskultasi jantung telah dikonversi
menjadi data ADC dengan resolusi 10 bit.
b. Perkalian 5 : dikarenakan data diambil dari tegangan antara 0V – 5V
c. Pengurangan 2,5 : agar data yang terambil berada pada posisi tengah atau 0
saat ditampilkan dalam bentuk grafik.
Pada saat pengambilan data jantung selain posisi jantung yang tepat, hasil
dari sinyal auskultasi jantung juga terpengaruh oleh gerakan yang dilakukan oleh
subject percobaan. Misalnya saja ketika subjek berteriak atau terjadi perubahan
pada letak sensor maka nilai hasil sinyal akan menunjukkan anggka yang sangat
tinggi atau justru sangat rendah.
4.5 Pengujian tampilan rekap data pada Raspberry Pi 2 secara offline
Pengujian ini merupakan pengujian tampilan rekap pada aplikasi berbasis
web pada Raspberry Pi 2 berjalan dengan baik dapat mempresentasikan hasil
4.5.1 Tujuan
Pengujian ini bertujuan untuk mengetahui aplikasi pada Raspberry Pi 2
dapat mempresentasikan sinyal jantung dengan baik ke dalam grafik yang ada
pada website, dan dapat menampilkan hasil grafik sinyal suara detak jantung dari
sebuah file yang diperoleh dari hasil penerimaan data Arduino.
4.5.2 Alat yang digunakan
Alat yang digunakan untuk pengujian sistem ini antara lain:
a. Arduino UNO
g. Software Browser terbaru, penulis menggunakan Google Chrome
h. Router
4.5.3 Prosedur Pengujian
a. Menghubungkan Arduino dan Raspberry Pi 2 dengan menggunakan kabel USB.
b. Menghubungkan Raspberry Pi 2 dan Komputer ke router dengan menggunakan kabel UTP.
c. Mengaktifkan router dan komputer.
d. Mengaktifkan Raspberry Pi 2 dan buka program terminal.
f. Meletakkan sensor pada jantung agar mendapatkan sinyal jantung yang
g. Membuka aplikasi browser dari Komputer
h. Mengketikkan alamat dari Raspberry Pi 2, setelah selesai me-load halaman
utama website maka selanjutnya lihat Bagian Menu – lalu pilih Rekap Data
Sinyal Jantung
h. Memasukkan ID / nama file yang disimpan sebelumnya.
i. Jika data benar maka akan mengeluarkan grafik sinyal jantung yang sesuai
dengan ID / nama file yang dimasukkan sebelumnya pada aplikasi.
4.5.4 Hasil Pengujian
Pada Gambar 4.10 terdapat pilihan menu Rekap data sinyal suara jantung
yang berfungsi sebagai membuka data tersimpan sesuai dengan id atau nama yang
dimasukkan saat menyimpan data.
Pada Gambar 4.13 merupakan tampilan halaman website untuk membuka
rekap data sinyal jantung yang tersimpan, pada kolom input id adalah kolom yang
berfungsi untuk memanggil data yang sesuai dengan ID / nama yang ditulis pada
kolom tersebut.
Pada Gambar 4.14 merupakan data yang tersimpan dari penyimpanan
saat melakukan live data, dan data diproses agar dapat mempresentasikan grafik
Gambar 4.13 Tampilan program website untuk membuka rekap data
membutuhkan id atau nama file yang disimpan sebelumnya
Gambar 4.14 Hasil tampilan program rekap data
4.6 Pengujian Sistem
Pengujian ini merupakan pengujian untuk pengambilan data, agar data
yang telah diambil dapat dianalisa baudrate, loss data, dan juga delay yang terjadi
ketika proses pentransmisian data sinyal suara detak jantung dari Arduino ke
4.6.1 Tujuan
Pengujian ini bertujuan untuk mendapatkan data hasil transimisi sinyal
suara detak jantung. Dan dapat menganalisa kesesuaian baudrate atau delay yang
dibutuhkan dalam mentransmisikan sinyal suara detak jantung, berapa persen data
yang hilang saat pengiriman sinyal suara detak jantung berlangsung, serta berapa
delay yang dibutuhkan agar data sinyal suara detak jantung dapat ditampilkan
dengan baik. Sehingga dapat disimpulkan apakah pengiriman sinyal suara detak
jantung yang dibuat dapat berjalan dengan baik.
4.6.2 Alat yang digunakan
Alat yang digunakan untuk pengujian sistem ini antara lain:
a. Arduino UNO
i. Software RS232 Data Logger
j. Timer
k. Software Microsoft Excel
4.6.3 Prosedur Pengujian
a. Lokasi untuk pengambilan data hanya membutuhkan tempat yang tenang.
b. Mengkoneksikan Raspberry Pi 2 dan PC Pembanding ke router dengan
menggunakan kabel UTP / RJ-45
c. meletakkan sensor suara detak jantung pada bagian jantung subject uji pada
agar mendapatkan sinyal jantung yang tepat.
d. Menghubungkan Arduino dan PC Pembanding dengan menggunakan USB
TTL.
e. Menghubungkan Arduino dan Raspberry Pi 2 dengan menggunakan kabel
USB.
f. Membuka aplikasi terminal dari Raspberry Pi 2, ketik perintah “ifconfig” lalu
catat ip addressnya dan setelah itu ketik perintah “node-red-start”.
g. Membuka aplikasi RS232 Data Logger dari komputer, dan klik start logging.
h. Membuka aplikasi Google Chrome dari komputer, dan masukkan ip address
Raspberry Pi 2.
i. Lalu klik Live Data Sinyal Jantung pada bagian menu website tersebut.
j. Melakukan pengambilan data selama 1 menit 20 detik (120 detik), untuk
melakukan pengambilan data sinyal suara detak jantung.
k. mengamati data dan grafik, apakah sinyal yang ditangkap merupakan sinyal
jantung.
l. Setelah waktu sudah tercapai 120 detik, maka Kabel USB Arduino dilepas,
dan melakukan penyimpanan data serta menghentikan proses pengambilan