PERANCANGAN ALAT PENDETEKSI SINYAL ELECTROCARDIOGRAM BERBASIS MIKROKONTROLER.

(1)

Untuk Memperoleh Gelar Sarjana Pada Jurusan Teknik Informatika

Universitas Pembangunan Nasional “ Veteran “ Jatim

OLEH

SUGITO PRATAMA INDRA NPM 0634105092

JURUSAN TEKNIK INFORMATIKA – FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS PEMBANGUNAN NASIONAL “ VETERAN “ JAWA TIMUR


(2)

pengerjaan Tugas Akhir ini dapat berjalan lancar. Serta shalawat dan salam bagi Nabi Muhammad SAW atas teladan bagi seluruh umat manusia.

Selama proses pelaksanaan dan pengerjaan Tugas Akhir ini, penulis banyak menerima bimbingan, pengarahan, bantuan dan motivasi dari berbagai pihak. Oleh karena itu, penulis ingin menyampaikan penghargaan dan ucapan terima kasih yang sedalam dalamnya kepada pihak-pihak sebagai berikut:

1. Allah SWT atas rahmat dan karunia-Nya dan junjungan Nabi besar

Muhammad SAW

2. Kedua orang tua tercinta bapak dan ibu atas segala do’a, nasihat, serta dukungannya.

3. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri

Universitas Pembangunan Nasional “ Veteran “ Jawa Timur Surabaya Bapak Basuki Rahmat, S.si, MT selaku Ketua Jurusan Teknik Informatika Universitas Pembangunan Nasional “ Veteran “ Jawa Timur. Beliau sekaligus menjadi dosen pembimbing I terima kasih atas bimbingan, pengarahan, serta motivasi yang diberikan selama pengerjan penelitian Tugas Akhir ini.

4. Ir Kartini, MT, selaku dosen pembibing II yang telah memberikan pengarahan dan bimbingan

5. Hj.Asti Dwi, S.kom, M.kom Irfianti dan Delta Ardy Prima S.ST, MT Selaku Dosen penguji terima kasih atas sarannya

6. Seluruh Bapak dan Ibu Pengajar di Jurusan Teknik Informatika atas ilmu yang telah diberikan selama penulis menuntut ilmu di kampus UPN Jawa Timur


(3)

7. Mas Andri dan Mas Yusuf yang telah membantu dalam rangkaian elektronikanya

8. Some One Spesial atas semangat dan bantuan do’anya

9. Teman-teman seperjuangan, Bayu, Yogi, Ryan, Obi, Ari yang telah banyak membantu penulis dalam menaklukan semua tantangan dan kompetisi pada masa-masa perkuliahan

10.Semua pihak yang tidak dapat saya sebutkan satu per satu, atas segala bantuan dan do’a dalam penyelesaian Tugas akhir ini.

Penulis menyadari bahwa terdapat banyak kekurangan dalam penulisan Tugas Akhir ini. Oleh karena itu, penulis memohon maaf atas segala kekurangan yang ada. Pada akhirnya, semoga penelitian Tugas Akhir ini dapat bermanfaat bagi semua pihak pada umumnya dan bagi rekan-rekan di Teknik Informatika UPN Jatim pada khususnya.

Surabaya, Juni 2010

Penulis


(4)

ABSTRAK ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... vii

DAFTAR TABEL ………. ix

BAB I PENDAHULUAN... 1

1.1 Latar Belakang... 1

1.2 Permasalahan... 3

1.3 Tujuan dan Manfaat... 3

1.4 Batasan Masalah... 4

1.5 Metodologi Penelitian... 4

1.6 Sistematika Penulisan... 6

BAB II DASAR TEORI... 7

2.1 Electrocardiogram ... 7

2.2 Elektrodiografi... 8

2.1.2. Lead ... 9

2.3 Standar Tampilan Sinyal ECG ... 14

2.4 Aritmia... 15

2.5 Penguat Instrumentasi... 18

2.6 Filter Analog ... 19

2.6.1 Filter Band Pass (BPF)... 20

2.6.2 Filter Low Pass (LPF) Orde 2... 21

2.7 Rangkaian Adder... 21

2.8 Rangkaian Mikrokontroler... 22

2.8.1 Deskripsi Pin ... 25


(5)

2.11.1 Membuat Sebuah Form... 37

2.11.2 Mengganti Nama Form... 37

2.11.3 Menempatkan Komponen... 38

2.11.4 Mengubah Nilai Properti ... 39

2.11.5 Membuat Method... 40

2.12 Code Vision AVR... 41

BAB III DESAIN SISTEM... 46

3.1 Diagram Blok Sistem ... 47

3.2 Perancangan Perangkat Keras... 48

3.2.1 Rangkaian Pemilih Lead ... 48

3.2.2 Penguat Instrumentasi... 49

3.2.3 Filter Band Pass (BPF)... 51

3.2.4 Filter Low Pass (LPF) Orde 2... 52

3.2.5 Rangkaian Adder ... 53

3.2.6 Rangkaian Mikrokontroler ... 54

3.2.7 Limb Clamp Electrode... 55

3.3 Perancangan Perangkat Lunak... 56

3.3.1 Perancangan Perangkat Lunak Mikrokontroler... 56

3.3.2 Code Vision AVR……….… 59

3.3.3 Perancangan Perangkat Lunak pada Komputer………. 61

3.3.4 Perancangan User Interface……... 62

3.3.5 Perancangan Komunikasi Serial ……… 63

3.4 Alur Kerja Pembuatan Tugas Akhir……… 64

BAB IV ANALISA DAN IMPLEMENTASI SISTEM……….. 66

4.1 Implementasi Lingkungan ……... 66


(6)

4.3.3 Proses Pemilih Lead ... 71

4.3.4 Proses Klasifikasi Aritmia ... 73

4.3.5 Proses Setting Port ... 74

4.3.6 Implementasi Pause Tampilan Sinyal... 75

4.3.7 Implementasi Save Image Sinyal………... 75

4.4. Implementasi Hardware ... 75

4.4.1 Rangkaian Mikrokontroler ………... 76

4.4.2 Rangkaian Akusisi ECG……… 76

4.4.3 Clamp Electrode……… 77

BAB V EVALUASI DAN UJI COBA ... 78

5.1 Pengujian Rangkaian Penguat Insrtrumentasi AD620... 78

5.2. Pengujian Rangkian Filter Analog ... 79

5.3 Pengujian Sistem Akuisisi ECG ... 80

5.1.1 Pengujian Sistem sinyal ECG ... 80

5.1.2 Pengujian dengan Oscilaloscope ... 81

5.1.3 Pengujian deteksi Aritmia dengan R – R Interval... 82

5.4. Pembahasan Sistem dan Evaluasi... 85

BAB VI PENUTUP... 87

6.1 Kesimpulan ... 87

6.2 Saran ... 87


(7)

Gambar 2.1 Sinyal ECG ... 8

Gambar 2.2 Konfigurasi electrode pada lead standar... 10

Gambar 2.3 Wilson’s Central Terminal... 11

Gambar 2.4 Lead augmented dengan cara Wilson’s... 12

Gambar 2.5 Lead augmented dengan cara Goldberger... 12

Gambar 2.6 Penempatan electrode untuk lead prekordial... 13

Gambar 2.7 Standar tampilan sinyal ECG ... 14

Gambar 2.8 Sinyal ECG normal ... 15

Gambar 2.9 Sinus takikardia aritmia... 16

Gambar 2.10 Sinus bradikardia aritmia ... 16

Gambar 2.1 Sinyal ECG Afib aritmia... 17

Gambar 2.12 Sinyal ECG PAC aritmia... 17

Gambar 2.13 Sinyal ECG PVC aritmia... 17

Gambar 2.14 Penguat Instrumentasi... 19

Gambar 2.15 Filter Band Pass ………... 20

Gambar 2.16 Filter Low Pass Orde 2………... 21

Gambar 2.17 Rangkaian Adder... 22

Gambar 2.18 Konfigurasi Pin ATmega16... 25

Gambar 2.19 Level tegangan RS-232... 34

Gambar 2.20 IC MAX 232 ... 35

Gambar 2.21 Simulator ECG ... 36

Gambar 2.22 Form pada Delphi 7.0 ... 37

Gambar 2.23 Object Inspector... 38

Gambar 2.24 Kumpulan komponen... 39

Gambar 2.25 IDE CodeVision AVR... 43

Gambar 2.26 Kode Generator ... 44

Gambar 2.27 Kode-kode program yang dibangkitkan otomatis oleh kode generator………. 45 Gambar 3.1 Diagram Blok Sistem... 48

Gambar 3.2 Rangkaian pemilih lead... 49

Gambar 3.3 Penguat Instrumentasi ... 51

Gambar.3.4 Filter Band Pass... 52

Gambar 3.5 Filter Low Pass Orde 2... 53

Gambar 3.6 Rangkaian Adder... 53

Gambar 3.7 Rangkaian Mikrokontroler... 55

Gambar 3.8 Clamp Electrode... 56

Gambar 3.9 Diagram blok rangkaian mikrokontrololer ... 57


(8)

Gambar 4.3 Rangkaian Mikrokontroler ATmega16 ………... 76

Gambar 4.4 Rangkaian Akuisisi ECG ……… 77

Gambar 5.1 Sinyal ECG pada lead 1………... 77

Gambar 5.2 Sinyal ECG pada lead II... 81

Gambar 5.3 Sinyal ECG pada lead III... 81

Gambar 5.4 Lead I dengan Oscilloscope... 81

Gambar 5.5 Lead II dengan Oscilloscope... 82

Gambar 5.6 Lead III dengan Oscilloscope... 82

Gambar 5.7 Pengujian ECG Normal... 84

Gambar 5.8 Hasil Pengujian ECG Takikardia ………... 84


(9)

Tabel 2.1 Pemilihan Tegangan Referensi Untuk ADC... 29

Tabel 2,2 Pemilihan Input Channel………. 29

Tabel 2.3 Pemilihan Prescaler Untuk ADC.……… 30

Table 2.4 Pemilihan Sumber Clock Untuk Timer……… 32

Tabel 3.1 Kombinasi Logika Untuk Pemilih Lead……… 49

Tabel 3.2 Perbandingan 3 Op-Amp dengan AD620……… 50

Tabel 5.1 Pengujian Rangkaian Penguat Instrumentasi AD620………. 79

Tabel 5.2 Pengujian Rangkaian Filter Analog……… 80

Tabel 5.3 Pengujian Heart rate pada Simulator menggunakan Lead………. 83


(10)

PERANCANGAN ALAT PENDETEKSI SINYAL

ELECTROCARDIOGRAM BERBASIS MIKROKONTROLER Disusun Oleh :

Sugito Pratama Indra

Dosen Pembimbing I : Basuki Rahmat, S.si, MT Dosen Pembimbing II : Ir. Kartini, MT

Abstraksi

Sebuah rangkaian ‘bio amplifier’ yang memperkuat signal

gelombang listrik yang berasal dari kegiatan fungsi jantung, dihubungkan dengan alat perekam atau display membentuk sebuah instrument medis yang dikenal dengan Electro-Cardiograph (ECG). Alat perekam (recorder) atau display yang berfungsi untuk menggambarkan bentuk signal jantung ini, merupakan komponen ECG yang cukup mahal, tetapi dipergunakan hanya untuk fungsi yang terbatas karena hanya diperuntukan bagi ECG tersebut. Dengan menambahkan sebuah rangkaian filter analog dan rangkaian antar-muka (interface) pada keluaran (output) bio amplifier sehingga dapat dihubungkan dengan Personal Computer (PC), membentuk komposisi baru dari sebuah ECG. Komposisi ini dapat memberikan fasilitas untuk pengolahan data signal jantung yang terdeteksi dan terekam dalam memori PC. Selain itu, PC yang berfungsi sebagai display dapat berdiri sendiri untuk keperluan lain.

Aritmia adalah kelainan pada jantung yang berupa gangguan pada frekuensi, ketidakteraturan, tempat asal denyut atau konduksi impuls listrik pada jantung. Aritmia merupakan penyakit yang berbahaya, sehingga memerlukan pengobatan yang segera dan terapi yang teratur untuk mencegah kondisi yang lebih buruk. Salah satu diagnosis aritmia yang paling popular digunakan adalah dengan Electrocardiograph (ECG).

Penelitian ini bertujuan untuk merancang dan merealisasikan sistem akuisisi ECG dan klasifikasi aritmia secara atomatis dengan menggunakan filter analog dan digital akuisisi ECG dan pendeteksi aritmia yang dirancang dapat membaca sinyal ECG dari 3 lead yaitu lead 1, lead 2 dan lead 3 pada lead standar , serta dapat mengenali beberapa aritmia antara lain : Normal, Takikardia, Bradikardia.


(11)

1

BAB 1 PENDAHULUAN

1. 1 Latar Belakang

Jantung adalah organ tubuh manusia yang memiliki fungsi vital, kelainan kecil bisa berpengaruh besar pada kinerja tubuh kita. Berdasarkan data dari Badan Kesehatan Dunia (WHO), penyakit jantung memiliki persentasi mencapai 29% dalam kasus kematian di Dunia. Selama ini penderita jantung melakukan pengobatan dengan melakukan pemeriksaan rutin ke dokter dengan durasi waktu tertentu. Sehingga tidak ada laporan keadaan kesehatan jantung secara kontinyu. Oleh karena itu diperlukan alat yang mampu mendeteksi kelainan jantung sehingga para penderita penyakit jantung bisa berobat lebih dini untuk membantu mengurangi nilai kematian akibat serangan jantung.

Kelainan jantung atau Aritmia merupakan gangguan yang terjadi pada frekuensi, keteraturan, tempat asal denyut atau konduksi impuls listrik jantung. Pada umumnya aritmia harus diterapi untuk mencegah kondisi yang lebih buruk. Untuk mendiagnosis aritmia dapat dilakukan dengan sinyal listrik jantung yang biasa disebut Electrocardiogram (ECG)

Telah banyak penelitian dikembangkan untuk dapat mendeteksi kelainan aritmia. Rony Mardiyanto (2006) menggunakan analisa kecepatan denyut jantung untuk mendeteksi aritmia Kecepatan denyut jantung pada penelitian tersebut


(12)

didasarkan pada perhitungan R-R interval yang diperoleh dari deteksi QRS secara analog. Kohler et al. (2002) pada papernya yang berjudul The Principles of

Software QRS Detection telah mengkaji dan membandingkan algoritma-algoritma

untuk mendeteksi sinyal QRS-komplek menggunakan software. Salah satu algoritma yang sederhana untuk deteksi QRS ini dipaparkan oleh Tompkins (1993) pada bukunya yang berjudul Biomedical Digital Signal Processing . Pada buku tersebut dijelaskan deteksi QRS menggunakan teknik band pass filtering.

Melalui deteksi QRS ini dapat diperoleh perhitungan denyut jantung pasien tiap menit dengan menghitung R-R intervalnya. Kecepatan denyut inilah yang dapat dijadikan salah satu acuan untuk menganalisa adanya kelainan aritmia. Dan Arif Widodo (awal 2010) melakukan penelitian akuisisi ECG menggunakan USB dengan mengadopsi algoritma dari Tompkins, berhasil membaca sinyal dari 11 lead dan menghitung heart rate. Tujuan utama dari penelitian tersebut adalah membuat komunikasi USB untuk membaca sinyal ECG

Pembacaan keadaan jantung dilakukan dengan mengambil sinyal ECG yang kemudian diakuisisi dan dibandingkan dengan data jantung normal, jika ada perbedaan signifikan yang menunjukkan adanya kelainan maka sistem akan mengidentifikasi bahwa jantung tidak normal. Aritmia ada bermacam – macam, sehingga dibutuhkan suatu alat yang mampu membedakan kelainan satu dengan yang lainnya. Kelainan tersebut dapat dibedakan dari bentuk sinyal ECG yang dihasilkan oleh aktifitas otot jantung, setiap kelainan memiliki bentuk sinyal yang berbeda dengan kelainan yang lain. Dari latar belakang permasalahan diatas maka


(13)

dapat disimpulkan perlu dibuat suatu sistem yang dapat membaca dan mengidentifikasi sinyal ECG, sehingga dapat mengklasifikasikan keadaan jantung dalam keadaan normal atau terjadi kelainan dan juga mampu untuk membedakan setiap kelainan yang terjadi.

1.2 Permasalahan

Berdasarkan dari latar belakang diatas maka dapat dirumuskan masalah sebagai berikut :

1. Membuat sistem akuisisi ECG (Electrocardiogram) dengan Standar Clinical 2. Perancangan sistem untuk membaca sinyal ECG

3. Mengenali kelainan kelainan jantung pada sinyal ECG dengan menganalisa

patern sinyalnya dan jumlah denyut jantung

1.3 Tujuan dan Manfaat

Tujuan yang ingin dicapai pada tugas akhir ini adalah sebagai berikut: 1. Membuat alat yang mampu mendeteksi sinyal jantung

2. Membuat sistem yang membantu untuk mengenali jenis- jenis kelainan jantung 3. Menunjang penelitian deteksi kelainan jantung secara otomatis

Hasil yang diperoleh dari tugas akhir ini diharapkan dapat memberi manfaat berikut:

1. Mempermudah penelitian deteksi sinyal jantung sehingga dapat membantu analisa medis untuk menganalisa kelainan jantung pada pasien.


(14)

2. Dapat digunakan untuk membantu penderita kelainan jantung dan diharapkan dapat dibuatsecara portable sehingga membantu dalam fleksibilitas penggunaan. 3. Menjadi bahan penelitian lanjutan.

1.4 Batasan Masalah

Dalam pengerjaan tugas akhir, permasalahan di atas dibatasi dengan asumsi sebagai berikut :

1. ECG dirancang sebagai standard clinical ECG dengan menggunakan 3 lead. 2. Perancangan difokuskan pada proses pendeteksian sinyal

3. Input ECG yang digunakan diambil dari simulator terutama untuk sinyal ECG yang memiliki kelainan Kelainan jantung

1.5 Metodologi Penelitian

Metodologi yang digunakan pada penelitian tugas akhir ini adalah sebagai berikut:

1. Studi Literatur

Pemahaman konsep mengenai biopotensial dan desain ECG standar klinik serta mempelajari metode-metode yang telah digunakan untuk memfilter noise pada ECG. Mempelajari konsep dan algoritma

2. Perancangan dan pembuatan alat

Menyempurnakan sistem akuisisi ECG yang sudah ada.

3. Perencanaan dan pembuatan perangkat lunak


(15)

yang baik. Meliputi pembuatan perangkat lunak untuk menampilkan sinyal ECG, pembuatan filter digital untuk menghilangkan noise pada sinyal ECG

4. Penggabungan perangkat lunak dan perangkat keras

Penggabungan sistem perangkat keras yang mengolah sinyal secara analog dengan perangkat lunak yang telah dibuat untuk melihat sinkronisasi dan kecepatan kerja sistem.

5. Pengujian

Pada tahap ini dilakukan pengujian terhadap sistem yang telah dibuat. Dengan parameter keberhasilannya adalah mampu membaca dan mengklasifikasikan setiap sinyal ECG yang diberikan, baik normal maupun terjadi aritmia.

6. Evaluasi

Apabila hasil yang diperoleh dari tahap pengujian terjadi ketidaksesuain pada sinyal yang direkam atau mungkin kurang memuaskan secara bentuk dan ketelitian pengambilan, maka perlu diadakan evaluasi pada perangkat lunak dan perangkat keras serta sistem secara keseluruhan. kemudian dilakukan pengujian ulang sampai parameter keberhasilan telah dicapai.

7. Penarikan Kesimpulan dan Penulisan Buku Tugas Akhir

Kesimpulan tentang kinerja dari alat ini dapat ditarik dan dilakukan pengambilan data. Kemudian dilakukan penulisan buku tugas akhir.


(16)

1.6 Sistematika Penulisan

Laporan tugas akhir ini terdiri dari lima bab dengan sistematika penulisan sebagai berikut:

Bab 1 : Pendahuluan

Bab ini meliputi latar belakang, perumusan masalah, tujuan dan manfaat, sistematika penulisan, metodologi.

Bab 2 : Teori Penunjang

Bab ini menjelaskan sekilas tentang elektrokardiograf, lead pada tubuh manusia, penguat instrumentasi, komunikasi dengan USB, serta mikrokontroler Atmega16, Pendukung Perangkat Lunak Delphi 7.0

Bab 3: Perancangan Sistem

Bab ini menjelaskan tentang perencanaan sistem baik perangkat keras maupun perangkat lunak. Bab ini juga menjelaskan tentang modul – modul yang digunakan untuk menyusun sistem utama dan pembantu simulasi secara keseluruhan.

Bab 4 : Pengujian Alat

Bab ini menjelaskan tentang hasil yang didapat dari tiap blok subsistem dan mengevaluasi hasil tersebut.

Bab 5 : Penutup

Bab ini menjelaskan tentang kesimpulan dari sistem telah dibuat berdasarkan kinerja alat dan hasil analisa data. Bab ini juga menyertakan saran untuk pengembangan ke depan.


(17)

2.1 Electrocardiogram

Electrocardiogram ( ECG ) merupakan rekaman aktivitas electrical

jantung dalam selang waktu tertentu. ECG digunakan untuk mendapatkan informasi diagnosis yang diperoleh dari analisa detail gelombang – gelombang ECG yang dihasilkan oleh denyut jantung. Secara khusus ECG sangat penting untuk identifikasi kekacaun irama jantung, Sedang peralatan kedokteran yang digunakan untuk mengukur aktivitas electris dari jantung dengan mengukur perbedaan biopetensial pada jantung disebut dengan Elektrokardiograf. Sebuah ECG dapat digunakan untuk mengukur denyut jantung, mendiagnosis adanya

infark mikroad yang sedang berkembang, mengidentifikasi aritmia akibat efek dari obat - obatan dan peralatan yang digunakan pada penanganan jantung.

Sinyal elektrokardiogram merupakan sinyal ac dengan bandwith antara 0.05 Hz sampai 100 Hz. Sinyal ECG normal seperti pada Gambar 2.1 terdiri atas sebuah gelombang P, gelombang QRS komplek, gelombang T dan kadang-kadang muncul gelombang U. Besar amplitudo dari Sinyal ECG bervariasi tergantung pada pemasangan elektroda dan pada kondisi fisik dari pasien. Variabel - variabel klinis yang penting dari sinyal ECG antara lain magnitudo, polaritas dan durasi waktu. Variasi dari tanda-tanda tersebut dapat mengindikasikan sebuah penyakit .


(18)

Gambar 2.1 Sinyal ECG

2.2 Elektrokadiografi

Ada tiga teknik dasar yang digunakan pada elektrokardiografi klinik, yaitu

1. Standard clinical ECG (12 lead) 2. VCG (3 ortogonal lead)

3. Monitoring ECG (1 atau 2 lead)

Teknik yang paling umum dijumpai adalah standard clinical electrocardiogram. Teknik ini dilakukan dengan merekam kondisi pasien yang sedang beristirahat pada 12 perbedaan potensial dari permukaan tubuh yang disebut lead ECG. Pendekatan kedua menggunakan potensial-potensial tubuh lainnya sebagai input untuk menghasilkan model vektor tiga dimensi yang disebut

vektorkardiogram (VCG). Terakhir, untuk keperluan monitoring pasien dalam jangka waktu yang lama pada pasien ICU, digunakan satu atau dua lead saja untuk dipantau dan direkam. Tujuan dari monitoring ECG adalah untuk melihat gangguan-gangguan yang terjadi pada irama denyut jantung. Pendekatan ini dinamakan analisis aritmia. Dengan melihat pada sinyal elektris pada permukaan tubuh yang merupakan sebuah prosedur noninvasive, seorang ahli jantung dapat menentukan kondisi jantung pasien.


(19)

2.2.1 Lead

Kombinasi yang ekivalen dari beberapa electrode dengan tambahan beberapa komponen resistif disebut lead. Pada elektrokardiografi dikenal 3 golongan lead.

1. Lead dasar (lead bipolar/lead standar)

Lead dasar mengukur perbedaan potensial pada bidang frontal tubuh yang ditunjukan pada gambar 2.2. Elektroda ditempatkan pada tangan kanan (RA), tangan kiri (LA), kaki kanan (RL) dan kaki kiri (LL). Dengan kaki kanan (RL) sebagai driven right leg, kombinasi dari elektroda tersebut dapat diperoleh 3 lead sebagai berikut:

Lead I : Mengukur potensial antara RA dan LA Lead II : Mengukur potensial antara RA dan LL Lead III : Mengukur potensial antara LA dan LL


(20)

Gambar 2.2 Konfigurasi electrode pada lead standar

2. Lead augmented (lead unipolar)

Lead augmented merupakan lead yang mengukur perbedaan potensial bidang tranversal, lead ini merupakan lead unipolar karena potensial pada satu elektroda dengan elektroda referensi yang ekivalen merupakan rata-rata sinyal yang ditunjukkan oleh satu atau dua elektroda. Elektroda referensi ekivalen pada lead ini disebut Wilson’s Central Terminal (WCT). WCT didapatkan melalui penggabungan elektroda pada limb yang masing-masing dihubungkan dengan R sebesar 5K – 10K Ohm kemudian disambung menjadi satu seperti pada gambar 2.3.


(21)

Gambar 2.3 Wilson’s Central Terminal

Ada dua cara untuk memperoleh lead unipolar ekstremitas yaitu cara Wilson dan cara oldberger

- Cara Wilson :

Wilson’s Central Terminal merupakan terminal rata-rata tiap elektroda dengan salah satu limb. Sehingga dengan cara ini akan diperoleh aVR, aVL dan aVF seperti pada gambar 2.4.

- Cara Goldberger :

Cara Goldberger ini serupa dengan cara Wilson, hanya saja hubungan terminal pusat diputuskan dengan ekstremitas yang akan diukur potensialnya. Hubungan elektroda pada cara ini dapat dilihat pada gambar 2.5.


(22)

Gambar 2.4 Lead augmented dengan cara Wilson

Gambar 2.5 Lead augmented dengan cara Goldberger Dengan cara ini diperoleh kenaikan amplitudo mencapai 50%.

3. Lead prekordial

Lead prekordial merupakan lead untuk melihat ECG dalam bidang tranversal, ditandai dengan huruf V (Voltage). Di belakang huruf V diberi angka yang merupakan lokasi elektroda di atas dada (precordial). ECG yang diperoleh merupakan potensial antara V dan Wilson’s Central Terminal. Dengan menggunakan lead ini didapatakan enam kombinasi lead dan sinyal ECG yaitu


(23)

V1, V2, V3, V4, V5 dan V6. Letak elektroda pada lead ini ditunjukkan pada gambar 2.6.

Gambar 2.6 Penempatan elektroda untuk lead prekordial

Lead-lead di atas merupakan lead standar pada standard clinical ECG yang memiliki 12 lead yaitu Lead I, Lead II, Lead III, aVR, aVL, aVF, V1, V2, V3, V4, V5 dan V6. Semua lead tersebut dapat menjadi informasi yang sangat penting bagi dokter untuk menentukan kondisi jantung pasien.

Ada 3 macam elektroda yang bisa digunakan dalam pengambilan data ECG, yaitu :

1. Elektroda invasif, seluruh elektroda dimasukkan ke bawah permukaan kulit. 2. Elektroda penetrasi, hanya bagian sensing yang yang masuk ke bawah kulit. 3. Elektroda permukaan, jenis yang sering digunakan.

Bahan electroda adalah Ag – AgCl. Pada electrode permukaan penggunaannya ditambahkan elektrolit untuk mempertahankan kontak antara kulit dan elektroda.


(24)

2.3 Standar Tampilan Sinyal ECG

Dalam dunia kedokteran visualisasi sinyal ECG merupakan hal yang sangat penting, karena tampilan grafik sinyal ECG berhubungan dengan kesehatan manusia. Dengan standart tampilan ECG maka seorang dokter dapat menentukan kelainan jantung pasien dengan melihat sekilas grid yang ada pada rekaman ECG. Standar tampilan sinyal ECG adalah seperti pada gambar 2.7.

Terdapat dua grid pada tampilan standar sinyal ECG yaitu major grid dan

minor grid. Major grid atau large box pada gambar 2.7 memberikan informasi waktu tiap grid horisontal sebesar 0.2 detik dan tegangan tiap grid vertikal sebesar 0.5 mV. Minor grid memberikan informasi waktu tiap grid horisontal sebesar 0.04 detik dan tegangan tiap grid vertikal sebesar 0.1 mV.


(25)

2.4 Aritmia

Aritmia merupakan kelainan dalam kecepatan, irama, tempat asal dari impuls / gangguan konduksi yang menyebabkan perubahan dalam urutan normal aktivitas atrium sampai ventrikel dan dapat diketahui dari gambaran sinyal ECG . Sinyal ECG normal ditunjukkan pada gambar 2.8. Pada aritmia terjadi perubahan pada frekuensi, keteraturan dan bentuk gelombang P-Q-R-S-T pada sinyal ECG. Aritmia yang akan dikenali dalam tugas akhir ini adalah takikardia, badikardia,

Pada kondisi normal jantung berdenyut rata – rata 60 sampai dengan 100 denyut per menit. Jika kecepatan denyut jantung diatas 100 seperti pada gambar 2.9, maka keadaan ini dinamakan sinus takikardia. Jika kecepatan denyut jantung dibawah 60 seperti pada gambar 2.10, maka disebut sinus bradikardia. Sinus takikardia dan sinus bradikardia dapat dikatakan normal atau patologis. Sebagai contoh, latihan fisik yang berat akan mempercepat frekuensi denyut jantung di atas 100 denyut per menit. Sementara pada atlet dengan kondisi baik, frekuensi istirahat jantung di bawah 60 denyut per menit adalah normal.


(26)

Gambar 2.9 Sinus takikardia aritmia

Gambar 2.10 Sinus bradikardia aritmia

Sinus takikardia dapat disebabkan oleh suhu tubuh, rangsangan jantung oleh saraf simpatis, dan keadaan toksik pada jantung. Sinus bradikardia dapat disebabkan oleh sindrom sinus karotikus dan rangsangan saraf parasimpatis.

Beberapa kelainan yang lain seperti AFIB (Atrial fibrillation) ditunjukkan pada gambar 2.11 adalah atrial tachycardia yang umum. Pada atrial fibrillation

muncul signal listrik dari daerah-daerah lain di atria, selain dari Sino Atria node. Signal-signal ini pada gilirannya menyebabkan kontraksi ventricle yang cepat dan tidak beraturan. Penyebab-penyebab dari atrial fibrillation termasuk serangan jantung, tekanan darah tinggi, gagal jantung, penyakit klep mitral (seperti mitral valve prolapse), tiroid yang aktif berlebihan, gumpalan darah di paru (pulmonary embolism), alkohol yang berlebihan, emphysema, dan radang dari lapisan jantung


(27)

(pericarditis). Premature atrial contractions (PAC) pada gambar 2.12, terdapat denyut tambahan di awal yg berasal dari atrium (ruang jantung bagian atas).

Premature venticular contractions (PVC) pada gambar 2.13 merupakan aritmia yang paling umum dan terjadi pada orang dengan atau tanpa penyakit jantung. Pada beberapa orang, ini bisa berkaitan dengan stres, terlalu banyak kafein atau nikotin, atau terlalu banyak latihan. Tetapi kadang-kadang, PVC dapat disebabkan oleh penyakit jantung atau ketidakseimbangan elektrolit.

Gambar 2.11 Sinyal ECG A-fib aritmia (http://www.bem.fi/book/15/15)

Gambar 2.12 Sinyal ECG PAC aritmia


(28)

2.5 Penguat Instrumentasi

Biopotensial memiliki amplitudo yang sangat kecil dalam ukuran mV. Sehingga, agar sinyal bisa diolah diperlukan penguatan sinyal. Penguat untuk sinyal biomedik sering disebut sebagai biopotensial amplifier atau penguat instrumentasi. Dalam hal ini penguat digunakan untuk menguatkan sinyal dengan tetap memelihara bentuk dan karakteristik dari sinyal asli.

Penguat instrumentasi harus memenuhi syarat-syarat yang dibutuhkan rangkaian penguat biopotensial jantung yaitu:

1. Memiliki impedansi input yang tinggi, agar sinyal input tidak

terpengaruh oleh impedansi rangkaian sebelumnya (untuk differensial > 2.5 Mohm, common mode > 100 Mohm).

2.CMRR (common mode rejection ratio) tinggi, penguat yang memiliki CMRR yang tinggi berarti memiliki kemampuan yang lebih baik untuk menapis noise. 3. Penguatannya dapat diatur dengan mudah.

4 Low noise, amplitudo sinyal input dari tubuh yang sangat rawan terhadap noise, bahkan mungkin dapat hilang karena noise. Maka perlu karakteristik penguat yang low noise.

5. Nilai komponen dengan toleransi rendah (1%).

Rangkaian penguat instrumentasi ini dibentuk dari dua penguat non-inverting dan satu penguat diferensial (differential amplifier) seperti yang ditunjukkan pada gambar 2.14 (Keterangan gambar dibaliknya)


(29)

Gambar 2.14 Penguat Instrumentasi

Besar penguatan rangkaian penguat instrumentasi diatas dapat diturunkan dalam persamaan berikut :

Vo =

[

1+ 2R/Rg

]

(v2-v1)...( 2.1 )

2.6 Filter Analog

Filter adalah rangkaian yang digunakan untuk melewatkan sinyal-sinyal dengan frekuensi yang diinginkan dan meredam sinyal-sinyal di luar batas frekuensi yang diinginkan. Sinyal ECG memiliki amplitudo yang sangat kecil sehingga rawan terhadap interferensi dari sinyal lain seperti sinyal otot, pergerakan tranduser dan interferensi dari tegangan jala – jala. Untuk meredam sinyal-sinyal interferensi tersebut maka digunakan rangkaian filter untuk mendapatkan sinyal ECG yang baik. Penyaringan pada frekuensi tinggi dapat meredam interferensi dari gelombang elektromagnet, jala-jala listrik dan sinyal otot.


(30)

2.6.1 Filter Band Pass (BPF)

Filter Bandpass merupakan gabungan dari filter low pass dan filter high pass. Besarnya frekuensi cut-off dari filter low pass dipengaruhi oleh komponen R1 dan C1. Sedangkan filter high pass terletak pada awal rangkaian dan komponen yang mempengaruhi frekuensi pada rangkaian tersebut adalah R4 dan C2. Sedangkan Gain dari filter ini dipengaruhi oleh R1 dan R2 .

Filter tersebut memiliki frekuensi cut-off bawah (fcl) dan frekuensi cut-off

atas (fch) yang masing-masing ditentukan oleh rumus sebagai berikut:

Fcl= 1/2πR1C1 , Fch = 1/2πR2C2 ...(2.2)

Sedangkan penguatan pada rangkaian filter band pass ini ditentukan oleh rumus sebagai berikut :

A=


(31)

2.6.2 Filter Low Pass (LPF) Orde 2

Karena sinyal hasil penyaringan dari filter band pass masih terkontaminasi komponen pada frekuensi tinggi, maka digunakan pula filter low pass (LPF) orde dua untuk mengilangkannya. Dengan menggunakan nilai R1= R2 = 0.5 R3 dan C2 = 2C1 maka didapatkan nilai frekuensi cut-off dari rangkaian tersebut dengan rumus sebagai berikut :

Fch ………. (2.4 )

2.7 Rangkaian Adder

Sinyal ECG merupakan sinyal sinus, oleh karena itu agar tegangan sinyal ECG dapat tersampling secara utuh oleh ADC internal mikrokontroller yang memiliki range tegangan input 0V – 5V maka perlu dilakukan menaikkan level tegangan sinyal dengan suatu rangkaian adder. Sehingga bagian negatif dari sinyal ECG naik menjadi positif seluruhnya.


(32)

Gambar 2.17 Rangkaian Adder

Dengan menggunakan nilai resistor R3 = R4 maka output dari rangkaian

adder ini ditentukan oleh persamaan berikut:

Vout = Vin + Vdc ...( 2.5 )

Nilai tegangan dc (Vdc) yang diberikan untuk menaikkan level sinyal ECG diperoleh dengan mengatur resistansi multiturn R5.

2.8 Mikrokontroller ATMega16

ATmega16 adalah 8-bit CMOS mikrokontroler berdaya rendah berbasis pada arsitektur AVR RISC (Reduced Instruction Set Computing). Dengan menjalankan perintah pada satu clock cycle, ATmega16 dapat menyelesaikan sekitar 1 MIPS (Million Instruction Per Second) per MHz, yang memungkinkan perancang sistem untuk mengoptimasikan konsumsi daya dengan kecepatan


(33)

proses.

Inti AVR mengkombinasikan instruction set yang banyak dengan 32 register kerja umum. Seluruh 32 register ini terhubung secara langsung pada

Arithmetic Logic Unit (ALU), yang memungkinkan dua register berbeda dapat diakses pada satu instruksi dalam satu clock cycle. Arsitektur yang didapatkan lebih efisien pada code dan memiliki kecepatan sepuluh kali lebih cepat dari mikrokontroler CISC (Complex Instruction Set Computing) konvensional. ATmega16 menyediakan beberapa fitur diantaranya:

1. Advanced RISC Architecture

 130 Powerful Instructions – Most Single Clock Cycle Execution

 32 x 8 General Purpose Fully Static Operation

 Up to 16 MIPS Throughput at 16 MHz  On-chip 2-cycle Multiplier

2. Nonvolatile Program and Data Memories

 8K Bytes of In-Sistem Self-Programmable Flash

Optional Boot Code Section with Independent Lock Bits

 512 Bytes EEPROM  512 Bytes Internal SRAM

Programming Lock for Software Security

3. Peripheral Features

Two 8-bit Timer/Counters with Separate Prescalers and Compare


(34)

Modes

One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode

Real Time Counter with Separate Oscillator

Four PWM Channels

8-channel, 10-bit ADC

Byte-oriented Two-wire Serial Interface

Programmable Serial USART

4. Special Microcontroller Features

Power-on Reset and Programmable Brown-out Detection

Internal Calibrated RC Oscillator

External and Internal Interrupt Sources

Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Powerdown, Standby and Extended Standby

5. I/O and Package

32 Programmable I/O Lines

40-pin PDIP, 44-lead TQFP, 44-lead PLCC, and 44-pad MLF

6. Operating Voltages

2. 2.7 - 5.5V for Atmega16L

4.5 - 5.5V for Atmega16

ATmega16 AVR didukung dengan berbagai macam program dan sistem development tools, diantaranya C compilers, macro assemblers, program


(35)

debugger/simulators, In-Circuit Emulators dan Evaluation kits.

2.8.1 Deskripsi Pin

Gambar 2.18 Konfigurasi Pin ATmega16

ATmega16 dengan kemasan PDIP memiliki konfigurasi sebagai berikut. Kemasan pin tersebut terdiri dari 4 Port yaitu Port A, Port B, Port C dan Port D. Masing masing port terdiri dari 8 buah pin. Selain itu juga terdapat pin RESET, VCC, GND 2 buah, VCC, XTAL1, XTAL2 dan AREF.

Diskripsi dari pin-pin ATMega16 dijelaskan sebagai berikut: 1. VCC : Supply Tegangan Mikrokontroler.

2. GND : Ground


(36)

4. PORT B : Port B adalah 8 bit bi-directional I/O port dengan internal pull-up resistor. Buffer output port B ini mempunyai karakteristik symmetrical drive

dengan kapabilitas source dan sink yang tinggi. Port B bersifat tri-states ketika kondisi reset menjadi aktif walaupun clocknya tidak bekerja.

5. PORT C : Port C adalah 8 bit bi-directional I/O port dengan internal pull-up resistor. Buffer output port B ini mempunyai karakteristik symmetrical drive

dengan kemampuan source dan sink yang tinggi. Pin port C bersifat tri-states

ketika kondisi reset pada mikrokontroler berlangsung sekalipun clocknya tidak bekerja. Jika interface JTAG diaktifkan maka pull up resistor di pin PC5(TDI), PC3(TMS), dan PC2(TCK) akan aktif.

6. PORT D : Port D adalah 8 bit bi-directional I/O port dengan internal pull-up resistor. Pin port D juga bersifat tri-states ketika kondisi reset menjadi aktif meskipun clocknya tidak bekerja.

7. RESET : pin untuk melakukan reset program yang sedang diproses.

8. AVCC : pin supply tegangan untuk Port A dan A/D converter. Sebaiknya pin ini tetap dihubungkan ke VCC meskipun ADC tidak digunakan. Namun jika fasilitas ADC internal digunakan maka pin ini dihubungkan ke VCC melalui sebuah low pass filter yang berupa rangkaian LC yang disusun secara seri. Sebab pin ini juga dapat difungsikan sebagai Sumber referensi ADC internal. Rangkaian low pass filter tersebut juga bertujuan meminimalkan noise dari

supply saat ADC melakukan konversi.


(37)

10. XTAL2 : output dari penguat inverting oscilator. 11. AREF : pin referensi analog untuk A/D converter

2.8.2 ADC Internal Mikrokontroler ATmega16

ATMega16 dilengkapi dengan 10-bit successive approximation ADC. ADC tersebut terhubung pada sebuah 8-channel Analog Multipexer yang dapat mengkonversi delapan tegangan input pada port A. ADC pada channel ADC4 dan ADC5 akurasinya dibatasi hanya sampai 8-bit. Sedangkan channel ADC dan ADC dapat digunakan untuk akurasi 10-bit penuh. ADC ini memiliki rangkaian

Sample and Hold yang memastikan tegangan input yang masuk pada ADC ditahan pada level konstan selama proses konversi berlangsung. ADC memiliki tegangan supply analog yang dipisahkan yaitu pada pin AVCC. AVCC tidak boleh melebihi batas + 0.3V dari Vcc. ATMega16 menyediakan tegangan referensi internal biasanya sebesar 2.56V atau AVCC. Tegangan referensi dapat juga dihubungkan secara eksternal pada pin AREF melalui sebuah kapasitor untuk menghilangkan noise. Setelah proses konversi selesai, hasil konversi dapat dilihat pada Result Register ADC (ADCL, ADCH). Untuk konversi single ended, hasilnya adalah

ADC = . ...(2.6)

Dengan VIN adalah pin input yang dipilih dan VREF adalah tegangan referensi yang dipilih. 0x000 menujukkan analog ground dan 0x3FF


(38)

menunjukkan tegangan refernsi dikurangi satu LSB. Register-register yang digunakan pada proses konversi analog ke digital ini antara lain :

1. ADC Multiplexer Selection Register – ADMUX

Isi dari ADMUX ini adalah · Bit 7:6 – REFS1:0: Bit Pilihan Referensi Bit ini akan memilih tegangan referensi untuk ADC, seperti yang ditujukkan pada tabel 2.1. Jika bit ini diubah pada saat proses konversi, perubahan tersebut tidal akan menimbulkan efek sampai proses konversi selesai. Tegangan referensi internal tidak dapat digunakan jika tegangan referensi eksternal digunakan pada pin AREF.

 Bit 5 – ADLAR: ADC Left Ajust Result

Bit ADLAR berpengaruh pada presentasi dari hasil konversi ADC pada register data ADC. dengan mengisi satu pada ADLAR, hasil konversi akan digeser ke kiri, sebaliknya hasil konversi akan digeser ke kanan. Perubahan bit ADLAR akan berpengaruh langsung pada register data ADC meskipun sedang terjadi proses konversi.

 Bit 3:0 – MUX3:0: Bit Pilihan Analog Channel

Nilai dari bit-bit ini akan menentukan masukan analog mana yang dihubungkan dengan ADC. Untuk lebih jelaskan dapat dilihat pada tabel 2.2. Jika bit-bit ini diubah pada saat proses konversi, perubahan tersebut tidak akan berpengaruh sampai proses konversi selesai.


(39)

Tabel 2.1 Pemilihan Tegangan Referensi untuk ADC

REFS1 REFS0 Voltage Reference Selection

0 0 AREF, Internal V, turnef off

0 1 AVCC with external capacitor at AREF pin 1 0 Reserved

1 1 Internal 2,56 V Voltage Reference with external capacitor AREF pin

Tabel 2.2 Pemilihan Input Channel MUX3_0 Single Ended Input

0000 ADC0 0001 ADC1 0010 ADC2 0011 ADC3 0100 ADC4 0101 ADC5 0110 ADC6 0111 ADC7 1000 1001 1010 1011 1100 1101

1110 123 V

1111 0 V (GND)

2. ADC Control and Status Register A – ADCSRA

Isi dari ADCSRA ini adalah Bit 7 – ADEN: ADC Enable

Mengisi satu pada bit ini akan mengaktifkan ADC. Dengan mengisi bit ini nol, ADC akan dimatikan. Jika ADC dimatikan selama proses konversi maka proses konversi tersebut akan berakhir.


(40)

Pada mode Single Conversion, tulis satu pada bit ini untuk memulai pada tiap proses konversi. ada mode Free Running, tulis satu pada bit ini untuk memulai konversi pertama.

 Bit 5 – ADFR: ADC Free Running Select

Ketika bit ini di tulis satu, ADC bekerja pada mode Free Running

 Bit 4 – ADIF: ADC Interrupt Flag

Bit ini bernilai satu ketika konversi ADC selesai dan register data diupdate. ADC Conversion Complete Interupt dieksekusi jika bit ADIE dan bit I pada SREG bernilai satu.

Tabel 2.3 Pemilihan Prescaler untuk ADC

ADP32 ADP31 ADP30 Devision Factor

0 0 0 2 0 0 1 2 0 1 0 4 0 1 1 ² 1 0 0 16 1 0 1 32 1 1 0 64 1 1 1 128

 Bit 3 – ADIE: ADC Interrupt Enable

Ketika bit ini ditulis satu dan bit I pada SREG bernilai satu, ADC Complete Interrupt diaktifkan.

 Bit 2:0 – ADPS2:0: ADC Prescaler Select Bits

Bit-bit ini menentukan faktor pembagi antara frekuensi XTAL dan clock input untuk ADC


(41)

2.8.3 Timer/Counter0 8-bit

Timer/Counter0 adalah modul Timer/Counter umum yang memiliki satu

channel. Fungsi utama dari Timer/Counter0 ini antara lain:

Single Channel Counter

Frequency Generator

External Event Counter

 10-bit Clock Prescaler

Beberapa register pada Timer/Counter0 antara lain Timer/Counter

(TCNT0) yang merupakan register 8-bit. Sinyal permintaan interrupt dapat terlihat pada Timer Interrupt Flag Register (TIFR). Semua interrupt secara terpisah di-mask dengan Timer Interrupt Mask Register (TIMSK). Timer/Counter

dapat di-clock secara internal atau melalui prescaler, atau dengan clock eksternal pada pin T0. Penjelasan mengenai register 8-bit Timer/Counter0 adalah sebagai berikut.

1. Timer/Counter Control Register – TCCR0

 Bit 2:0 – CS02:0: Clock Select

Tiga bit clock select berfungsi untuk memilih sumber clock yang akan digunakan oleh Timer/Counter dengan ketentuan seperti pada tabel 2.4

Jika mode pin eksternal digunakan untuk Timer/Counter0, transisi pada pin T0 akan menjadi clock untuk counter meskipun pin tersebut digunakan sebagai output. Fitur ini mengijinkan kontrol software dari perhitungan.


(42)

2. Timer/Counter Register – TCNT0

Timer/Counter Register memberikan akses langsung, baik untuk operasi baca maupun tulis, untuk unit 8-bit counter pada Timer/Counter.

Tabel 2.4 Pemilihan sumber clock untuk Timer/Counter

CS02 CS01 CS00 Description

0 0 0 No clock source (timer/counter stopped)

0 0 1 Clk1/0/ ( No Prescalling)

0 1 0 Clk1/0/ ( From Prescaler)

0 1 1 Clk1/0/ ( From Prescaler)

1 0 0 Clk1/0/ ( From Prescaler)

1 0 1 Clk1/0/ ( From Prescaler)

1 1 0 External clock source on T0 pin. Clock on falling

edge

1 1 1 External clock source on T0 pin. Clock on falling

edge

3. Timer/Counter Interrupt Mask Register – TIMSK

Bit 0 – TOIE0: Timer/Counter0 Overflow Interrupt Enable

Ketika bit TOIE0 ditulis satu dan I-bit pada Register Status bernilai satu, maka Timer/Counter0 Overflow Interrupt berfungsi.

4. Timer/Counter Interrupt Flag Register – TIFR

Bit 0 – TOV0: Timer/Counter0 Overflow Flag

Bit TOV0 akan bernilai satu ketika overflow muncul pada Timer/Counter0.

2.9 Komunikasi Serial


(43)

secara asinkron dan komunikasi data secara sinkron. Pada komunikasi data serial

sinkron, clock dikirim bersama-sama dengan data serial, sedangkan komunikasi data serial asinkron, clock tidak dikirimkan bersama-sama data serial, tetapi dibangkitkan secara sendiri – sendiri baik pada sisi pengirim (transmitter) maupun pada sisi penerima (receiver). Pada IBM PC kompatibel port serialnya termasuk jenis asinkron. Komunikasi data serial ini dikerjakan oleh UART ( Universal Asynchronous Receiver/Transmitter). IC UART dibuat khusus untuk mengubah data paralel menjadi data serial dan menerima data serial yang kemudian diubah kembali menjadi data paralel. Mikronkontroler Atmega16 sudah dilengkapi dengan IC UART. Pada UART, kecepatan pengiriman data Baud rate dan fase

clock pada sisi transmitter dan receiver harus sinkron. Untuk itu diperlukan

sinkronisasi antara transmitter dan receiver. Hal ini dilakukan oleh bit “Start” dan bit “Stop”. Dalam keadaan idle output UART dalam keadaan logika “1” ketika

transmitter akan mengirimkan data, output UART akan diset terlebih dahulu ke logika “0”untuk waktu satu bit. Sinyal pada receiver akan dikenali sebagai sinyal “Start” yang digunakan untuk mensinkronkan fase clock-nya sehingga sinkron dengan fase clock transmitter. Selanjutnya data akan dikirimkan secara serial dari bit paling rendah (bit 0) sampai bit tertinggi. Kemudian akan dikirim sinyal “STOP” sebagai akhir dari pengiriman data serial. Cara pemberian kode data akan disalurkan tidak tetap secara pasti.


(44)

2.9.1 Komunikasi Serial RS 232 dan MAX 232

Karakteristik dari RS-232 memiliki ketentuan level tegangan sebagai berikut:

 Logika ‘1’ disebut ‘mark’ terletak antara -3 Volt hingga -25 Volt.

 Logika ‘0’ disebut ‘space’ terletak antara +3 Volt hingga +25Volt.

 Daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level, yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga, level tegangan lebih negatif dari -25 Volt atau lebih positif dari +25 Volt juga harus dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS-232. Berikut ini adalah contoh pengiriman huruf ‘A’ (41 Hex / 10000001 biner) dalam format ASCII (American Standard Code for Information Interchange) tanpa bit paritas yang dapat dilihat pada Gambar 2.17.

Kecepatan transmisi (baudrate) dapat dipilih bebas dalam rentang tertentu.

Baudrate yang umum dipakai adalah 110, 135, 150, 300, 600, 1200, 2400 dan 9600 bps. Dalam komunikasi data serial,

baudrate dari kedua alat yang berhubungan harus diatur pada kecepatan yang sama.


(45)

Gambar 2.20 IC MAX 232 [14]

IC MAX 232 mempunyai 16 kaki dengan supply tegangan sebesar 5 volt. Kaki ke-16 sebagai input tegangan (Vcc), kaki ke-15 sebagai Ground (GND). Kaki 8 dan 13 sebagai input RS-232, sedangkan kaki 7 dan 14 sebagai output RS-232. RS 232 merupakan suatu interface yang menghubungkan antara terminal data dari suatu peralatan yang melakukan pertukaran data biner secara serial.

2.10 Simulator ECG Generator

ECG generator adalah alat yang mampu menghasilkan sinyal yang bentuknya menyerupai sinyal ECG. Sinyal ECG yang dihasilkan oleh simulator ini meliputi sinyal ECG normal, takikardia, bradikardia, Afib, 2BLK1, PAC, PVC, RBBB dan aritmia – aritmia yang lain. Simulator ini bisa digunakan untuk

standart clinical ECG dimana bisa diakses menggunakan 12 lead yaitu lead 1, lead 2, lead 3, aVL, aVR, aVF, V1, V2, V3, V4, V5 dan V6. Bentuk fisik dari ECG generator ditunjukakn oleh gambar 2.21.


(46)

Gambar 2.21 Simulator ECG generator 2. 11 Borland Delphi 7.0

Perangkat Lunak yang digunakan dalam tugas akhir ini adalah Delphi 7.0 Aplikasi / program berbasis windows sering disebut dengan jendela (window). Pada pemrograman berbasis windows, kita akan diperhadapkan pada satu atau beberapa jendela yang nampak dihadapan kita. Jendela ini dalam Delphi disebut juga dengan form. Pada pemrograman berbasis windows, kita akan diperhadapkan pada satu atau beberapa jendela yang nampak dihadapan kita. Jendela ini dalam Delphi disebut juga dengan form. Delphi adalah sebuah perangkat lunak (bahasa pemrograman) untuk membuat program / aplikasi komputer berbasis windows. Delphi merupakan bahasa pemograman berbasis objek, artinya semua komponen yang ada merupakan objek-objek. Ciri sebuah objek adalah memiliki nama, properti dan method/procedure. Delphi disebut juga visual programming artinya komponen-komponen yang ada tidak hanya berupa teks (yang sebenarnya program kecil) tetapi muncul berupa gambar-gambar.


(47)

2.11.1. Membuat Sebuah Form

Saat anda pertama kali masuk ke Delphi, anda akan diperhadapkan pada sebuah form kosong yang akan dibuat secara otomatis. Form tersebut diberi nama Form1. Form ini (Gambar 2.22) merupakan tempat bekerja untuk membuat antarmuka pengguna.

Gambar 2.22 Form pada Delphi 7.0

2.11.2 Mengganti Nama Form

Delphi akan secara otomatis memberi nama form1, form2, form3 .Nama form tersebut kurang mengandung arti dan akan menyulitkan bila form yang dibuat cukup banyak. Saat membuka Delphi pertama kali nampak sebuah jendela

Object Inspector. Jika tidak muncul pilih menu View Object Inspector atau tekan tombol F11. Pada Object Inspector ada dua buah halaman (tab) yaitu Properties

dan Events. Properties digunakan untuk mengganti properti (kepemilikan) sebuah

Nama form

minimize

maximize

Tempat bekerja


(48)

objek/komponen. Sedangkan Events digunakan untuk membuat procedure . Pada gambar 2.23 ditunjukan tampilan dari object Inspector

Gambar 2.23Object Inspector

Semua properti diurutkan berdasarkan alpabetik dan dapat juga diurutkan berdasarkan kategori. Gantilah judul form dengan Hello melalui properti Caption, sedangkan nama form dengan nama frmHello melalui properti Name. Caption digunakan untuk menyimpan keterangan yang dimunculkan pada form, sedangkan Name digunakan sebagai Nama dari objek tersebut.

2.11.3. Menempatkan Komponen

Karena Delphi merupakan bahasa pemrograman visual, maka komponen-komponen akan nampak pada layer (lihat gambar 2.24). Untuk menempatkan komponen pada Delphi ada beberapa cara menempatkan komponen pada form. Misalnya memilih komponen Button pada Components Palette bagian Standard Page dapat dilakukan dengan cara-cara berikut:


(49)

 Klik pada kompenen tersebut, pindahkan kursor ke form, sambil menekan tombol kiri mouse (drag komponen dan geser pada form) atau

 Pilih komponen (klik komponen yang diinginkan) pada Components Palette kemudian klik pada form dimana komponen itu akan diletakkan.

 Klik ganda pada komponen yang diinginkan, maka komponen tersebut akan ditambahkan pada form

 Anda dapat menggunakan Copy dan Paste bila ingin membuat komponen yang sama yang sudah ada pada form. Caranya Shift-Klik kiri pada komponen yang ada di form, lalu pilih menu Copy (Ctrl-C) kemudian pilih menu Paste (Ctrl-V).

Gambar 2.24 Kumpulan komponen

2.11.4. Mengubah Nilai Properti

Properti name adalah properti internal dan digunakan untuk memberi nama pada sebuah komponen/objek. Nama ini adalah sebuah variabel yang mengacu pada komponen tersebut. Beberapa aturan penamaan komponen atau variabel atau


(50)

 Diawali alpabet berikutnya boleh angka garis bawah.

 Tidak memakai spasi atau tanda-tanda baca atau operator.

 Boleh huruf kapital atau kecil tidak ada perbedaan

 Tidak menggunakan kata kunci (reserve word) yang digunakan Delphi

 Gunakan nama komponen diawali kelompok komponennya, misal btnHello, frmHello, rgrKelas.

Berikut ini adalah contoh penamaan yang salah mengguakan spasi

object Form1: T form1

:

Caption = ‘H ello’

:

object btnH ello: T button

Caption = ‘Katakan H ello’

End

End

2.11.5. Membuat Method/Procedure lewat Event

Delphi mendefinisikan sejumlah event pada setiap komponennya. Daftar

event ini bebeda untuk setiap komponen. Event yang paling umum pada komponen Button adalah OnClick. Artinya jika komponen Button tersebut di Klik maka akan melakukan suatu procedure. Ada beberapa teknik yang dapat dilakukan untuk menangani event misal OnClick pada komponen button


(51)

diantaranya adalah :

 Klik ganda pada button tersebut, maka sebuah method/procedure

btnHelloClick.

 Pilih button kemudian pilih Object Inspector’s combo box (called the Object Selector)

 Pilih Tab Events dan klik ganda pada area putih disebelah kanan event OnClick

 Pilih button pilih Tab Events dan masukkan nama method yang dikehendaki misal btnHelloClick pada area putih di sebelah kanan event OnClick

2.12. Code Vision AVR

Dalam pengoperasian perangkat keras ini agar dapat berjalan sesuai dengan yang diharapkan maka perlu suatu perangkat lunak yaitu Software yang sesuai dengan mikrokontroler yang digunakan. Disini digunakan IC mikrokontroler Atmega16 yang mempunyai 8 Kb Flash memori. Secara umum bahasa yang sesuai dengan mikrokontroler adalah bahasa assembly karena merupakan suatu bahasa mesin. Namum mikrokontroler keluarga AVR juga mengijinkan bahasa C sebagai bahasa pemograman untuk menjalankan instruksi- instruksi pada Atmega16, sehingga penulis memutuskan untuk menggunakan bahasa C sebagai bahasa pemograman dalam pembuatan alat deteksi sinyal jantung ini . Dan untuk compiler bahasa C pada mikrokontroler ini digunakan


(52)

CodeVisionAVR. CodeVisionAVR pada dasarnya merupakan perangkat lunak pemograman mikrokontroler keluarga AVR berbasis bahasa C . Ada tiga komponen yang penting yang telah diintergrasikan dalam perangkat lunak ini :

Compiler C, IDE dan Program generator. Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan pengembangannya, Compiler C yang digunakan hamper mengimplementasikan semua komponen standar yang ada pada bahasa C standar ANSI ( seperti struktur program, jenis tipe data, jenis operator, dan library

fungsi standar berikut penamaannya), Tetapi walaupun demikian dibandingkan bahasa C untuk aplikasi computer compiler C untuk mikrokontroler ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan (embedded).

Khusus untuk library fungsi, disamping library standar (seperti fungsi-fungsi matematik, manipulasi string, pengaksesan memori dan sebagainya). CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yang sangat bermanfaat dalam pemrograman antarmuka AVR dengan perangkat luar yang umum digunakan dalam aplikasi kontrol. Beberapa fungsi library yang penting diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi IC, IC RTC (Real time Clock), sensor suhu LM75, SPI (Serial Peripheral Interface) dan lain sebagainya. Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR juga dilengkapi IDE yang sangat user friendly ( lihat gambar 2.25 ).


(53)

lunak berbasis Windows, CodeVisionAVR ini telah mengintegrasikan perangkat lunak downloader (in system programmer) yang dapat digunakan untuk mentransfer kode mesin hasil kompilasi kedalam sistem memori mikrokontroler AVR yang sedang diprogram.

2.25 Gambar IDE CodeVision AVR

Selain itu, CodeVisionAVR juga menyediakan sebuah tool yang dinamakan dengan Code Generator atau CodeWizardAVR (lihat gambar 2.26). Secara praktis, tool ini sangat bermanfaat membentuk sebuah kerangka program


(54)

(template), dan juga memberi kemudahan bagi programmer dalam penginisialisasian register-register yang terdapat pada mikrokontroler AVR yang sedang diprogram. Dinamakan Code Generator, karena perangkat lunak CodeVision ini akan membangkitkan kode-kode program secara otomatis setelah fase inisialisasi pada jendela CodeWizardAVR selesai dilakukan.

2.26 Gambar Code Generator

Pada Gambar 2.27 berikut memperlihatkan beberapa penggal baris kode program yang dibangkitkan secara otomatis oleh CodeWizardAVR. Secara teknis, penggunaan tool ini pada dasarnya hampir sama dengan application wizard pada


(55)

bahasa-bahasa pemrograman Visual untuk komputer ( seperti Visual C dan Borland Delphi)

2.27 Gambar Kode-kode program yang dibangkitkan otomatis oleh code generator

Disamping versi yang komersil Perusahaan Pavel Haiduc juga mengeluarkan CodeVisionAVR versi Demo Dalam versi ini, memori flash yang dapat diprogram dibatasi maksimal 2K, selain itu tidak semua fungsi library yang tersedia dapat dipanggil secara bebas.


(56)

Sistem ini dirancang untuk menampilkan sinyal Electrocardiogram yang didapat dari simulator pembangkit sinyal ECG yang dibaca menggunakan modul akuisisi ECG dengan penguat instrumentasi AD620, kemudian data sinyal dikirimkan ke PC mengunakan modul USB to Serial.

Data sinyal yang masuk ke PC ditampilkan dan sebelum ditampilkan sinyal difilter menggunakan filter digital. Selain itu juga digunakan analisa data sinyal menggunakan R-R interval untuk menganalisa heart reat (BPM) dari jantung.

Bab ini akan menjelaskan tentang diagram blok sistem, perancangan perangkat keras yang digunakan dan perancangan perangkat lunak. Perancangan perangkat keras akan membahas :

1. Rangkaian Pemilih lead

2. Penguat Instrumentasi Amplifier AD620 3. Filter analog

4. Rangkaian adder

5. Sistem minimum Atmega16

Sedangkan untuk perancangan perangkat lunak akan membahas tentang Alur sistem dan User Interface.


(57)

3.1 Diagram Blok Sistem

Diagram blok perangkat keras sistem ditunjukkan pada gambar 3.1. perangkat keras terdiri dari rangkaian pemilih lead, penguat instrumentasi AD620, filter analog yang terdiri dari filter bandpass dan filter lowpass orde 2, rangkaian

adder, sistem minimum mikrokontroler ATmega16, modul USB to Serial dan

sistem pada komputer.

Sinyal ECG dari tubuh manusia atau dari ECG simulator masuk ke rangkaian pemilih lead untuk menentukan kombinasi electrode dalam pengambilan sinyal ECG, sinyal masuk ke penguat instrumentasi untuk dikuatkan karena sinyal yang masuk memiliki amplitudo yang sangat kecil dalam ukuran mV. Sehingga, agar sinyal bisa diolah diperlukan penguatan sinyal. Penguat untuk sinyal biomedik sering disebut sebagai biopotensial amplifier atau penguat instrumentasi. Dalam hal ini penguat digunakan untuk menguatkan sinyal dengan tetap memelihara bentuk dan karakteristik dari sinyal asli. Sinyal ECG memiliki amplitudo yang sangat kecil sehingga rawan terhadap interferensi dari sinyal lain seperti sinyal otot, pergerakan tranduser dan interferensi dari tegangan jala – jala. Untuk meredam sinyal-sinyal interferensi tersebut maka digunakan rangkaian

filter analog untuk mendapatkan sinyal ECG yang baik. Setelah sinyal ECG

difilter dan dinaikkan level tegangannya baru akan diproses oleh ADC internal Atmega16 dan dikirim ke komputer menggunakan modul USB to serial.


(58)

Gambar 3.1 Diagram blok sistem 3.2 Perancangan Perangkat Keras

Perangkat keras pada tugas akhir ini memliki fungsi yang sangat fital, karena sangat berpengaruh terhadap proses jalannya sinyal dari tubuh ke sistem.

3.2.1 Rangkaian Pemilih Lead

Rangkaian pemilih lead menggunakan 2 IC analog multiplexer 4051 yang dikontrol oleh mikrokontroler. Rangkaian ini berfungsi untuk memilih lead yang digunakan untuk mengambil data yang akan diproses pada sistem akuisisi dan kemudian dikirimkan ke PC. Gambar rangkaian pemilih lead ditunjukkakn oleh gambar 3.2.

Filter analog (bandpass dan lowpass orde 2)

Rangkaian adder Mikrokontroler ATmega16

ADC internal ATmega 16

KOMPUTER Modul USB to Serial


(59)

Gambar 3.2 Rangkaian pemilh lead

Kombinasi logika untuk pin input multiplexer dalam proses pemilihan lead sesuai dengan tabel 3.1:

Tabel 3.1 Kombinasi logika untuk pemilihan lead

Lead IC8 IC7 I 000 000 II 001 001 III 010 010 aVL 011 011 aVR 100 100 aVF 101 101

3.2.2 Penguat Instrumentasi

Rangkaian penguat instrumentasi berfungsi sebagai diferensial amplifier dan juga sebagai penguat, karena sinyal ecg memiliki amplitudo yang sangat kecil, berkisar antara 0.5mV sampai 2mV. Pada umumnya penguat instrumentasi


(60)

menggunakan 3 Op-amp, tapi pada tugas akhir ini penguat instrumentasi yang digunakan adalah AD620. Dengan pertimbangan seperti ditubjukakan pada tabel 3.2.

Rangkaian penguat instrumentasi yang digunakan pada sistem ini ditunjukkan oleh gambar 3.4. Penguatan ditentukan oleh RG, dimana dengan RG = 560 Ohm diperoleh penguatan sebesar 90 kali. Perhitungan RG untuk menentukan penguatan ditentukan oleh persamaan 3.1 :

………...(3.1)

Tabel 3.2 Perbandingan 3 Op-Amp dengan AD620 Kriteria

Perbandingan AD620

Menggunakan 3 Op-amp

Konsumsi daya internal 650mW 3x500mW

Arus Supply 1.3mA max 15mA max

CMRR 130 dB 110 dB

Package DIP – 8 3xDIP – 8

Tabel 3.3 Kombinasi logika untuk pemilihan lead

Lead IC8 IC7 I 000 000 II 001 001 III 010 010 aVL 011 011 aVR 100 100 aVF 101 101

Rangkaian penguat instrumentasi yang digunakan pada sistem ini ditunjukkan oleh gambar 3.3.


(61)

Gambar 3.3 Rangkaian Penguat Instrumentasi

3.2.3 Filter Band Pass (BPF)

Sistem akuisisi ECG ini menggunakan dua filter, yang pertama adalah

bandpass filter yang ditunjukkan oleh gambar 3.5. Desain filter bandpass harus

sesuai dengan frekuensi dari sinyal ECG yaitu sekitar 0.05 hz – 100 hz. Filter bandpass dibentuk dari filter highpass dan filter lowpass. Filter lowpass berfungsi untuk meredam noise frekuensi tinggi akibat dari arus jala – jala . Sedangkan filter

highpass berfungsi untuk meredam noise frekuensi rendah dari arus DC. Sehingga


(62)

Gambar 3.4 Filter Band Pass

Filter tersebut memiliki frekuensi cut-off bawah (fcl) dan frekuensi cut-off

atas (fch) yang masing-masing ditentukan oleh rumus sebagai berikut:

fcl = ; fch = ...(3.2)

Dari persamaa di atas dipilih C1 = C2 =100uF dan R1 = 100K maka didapatkan nilai fch = 0.03 hz. Dan untuk filter lowpass ditentukan C3 = 15nf dan

R8 = 100k diperoleh fcl = 106Hz.

3.2.4 Filter Low Pass (LPF) Orde 2

Karena sinyal hasil penyaringan dari filter band pass kurang meredam komponen pada frekuensi tinggi, maka digunakan pula filter low pass (LPF) orde dua yang ditunjukkan oleh gambar 3.5.


(63)

Gambar 3.5 Filter Low Pass Orde 2 3.2.5 Rangkaian Adder

Sinyal ECG merupakan sinyal AC, oleh karena itu agar tegangan sinyal ECG dapat tersampling secara utuh oleh ADC internal mikrokontroller maka dibutuhkan suatu rangkaian adder seperti pada gambar 3.6. Rangkaian ini berfungsi untuk menaikkan level tegangan .


(64)

3.2.6 Rangkaian Mikrokontroler

Langkah perancangan selanjutnya dari hardware pendeteksi sinyal electrocardiogram ini adalah implementasian dari perancangan perangkat keras mikrokontroler dimana pada rangkaian mikrokontroler yang dibuat oleh penulis terdapat beberapa rangkaian yaitu rangkaian reset, rangkaian oscillator, rangkaian buzzer dan LED. Pada perancangan mikrokontroler terdapat satu kompone yang berfungsi member tegangan sebesar 5Vdc yaitu komponen IC (integrated circuit) regulator atau IC 7805 komponen ini berfungsi untuk menurunkan sumber tegangan DC yang diterima oleh rangkaian menjadi 5Vdc ini dikarenakan mikrokontroler Atmega bekerja pada sumber tegangan 5Vdc.

Inti AVR mengkombinasikan instruction set yang banyak dengan 32

register kerja umum. Seluruh 32 register ini terhubung secara langsung pada

Arithmetic Logic Unit (ALU), yang memungkinkan dua register berbeda dapat

diakses pada satu instruksi dalam satu clock cycle. Arsitektur yang didapatkan lebih efisien pada code dan memiliki kecepatan sepuluh kali lebih cepat dari mikrokontroler CISC (Complex Instruction Set Computing) konvensional


(65)

Gambar 3.7 Rangkaian Mikrokontroler

3.2.7 Limb Clamp Electrode

Limb Clamp Electrode merupakan perangkat keras yang digunakan untuk

mengambil sinyal dari tubuh manusia. Alat tersebut terdiri dari 4 buah yang berwarna merah, hitam, kuning dan hijau. Dibagian ujung alat ini terdapat


(66)

dari tubuh manusia dan kabel tersebut sebagai media perantara antara Limb Clamp Electrode dengan rangakaian akuisi ECG yang telah dibuat.

Gambar 3.8 Limb Clamp Electrode

3.3 Perancangan Perangkat Lunak

Dalam sistem ini terdapat interfacing dua perangkat lunak yaitu perangkat lunak pada mikrokontroler dan perangkat lunak pada komputer. Perangkat lunak pada mikrokontroler berfungsi untuk mengatur kombinasi lead, mengkonversi data sinyal ECG dari analog ke digital dan mengirimkannya ke komputer. Sedangkan perangkat lunak pada komputer berfungsi untuk menampilkan sinyal ECG dan mengklasifikasikan sinyal ECG.

3.3.1 Perancangan Perangkat Lunak Mikrokontroler

Perangkat lunak pada mikrokontroler ATmega16 berfungsi untuk pemilihan lead, konversi data dan pengiriman data. Bahasa yang digunakan adalah


(67)

bahasa C dengan compiler CodeVision AVR. Alur program mikrokontroler ditunjukkan oleh diagram blok 3.9 :

Gambar 3.9 Diagram Blok Perangkat lunak mikrokontroler

Sistem mikrokontroler bekerja berdasarkan request dari komputer, jika ada

request maka mikrokontroler akan melakukan pemilihan lead dan menentukan

nilai variabel A, jika A = 1 maka proses konversi dan pengiriman data dilakukan.

1. Rutin program pemilih lead

if(rx_counter)

Pilih Lead START

Ada Request

A = 1 ?

STOP

Baca ADC

Kirim Data Ya

Tidak

Ya


(68)

{

x = getchar(); a=0;

switch(x) {

case 'a' : PORTB = 0b00000000; a=1; break; case 'b' : PORTB = 0b00000011; a=1; break; case 'c' : PORTB = 0b00001100; a=1; break; case 'd' : PORTB = 0b00001111; a=1; break; case 'e' : PORTB = 0b00110000; a=1; break; case 'f' : PORTB = 0b00110011; a=1; break; }

}

Ketika mikrokontroler menerima karakter dari komputer, misalkan komputer mengirimkan karakter ‘a’ berarti lead yang digunakan adalah lead 1, maka mikrokontroler mengeluarkan logika 0x00h ke PORTB yang artinya adalah multiplexer mengijinkan sinyal dari LA dan RA untuk menjadi input.

2. Rutin program pengiriman data ke komputer menggunakan komunikasi serial. if (a=1)

{

data = read_adc(0); putchar(data);


(69)

delay_ms(5); }

Rutin program diatas adalah pengambilan data hasil konversi dari analog ke digital dan dikirimkan ke computer

3. Rutin program pengambilan dan pemrosesan data oleh ADC internal

mikrokontroler ATmega16.

#define ADC_VREF_TYPE  x   // Read the 8 most significant bits  // of the AD conversion result 

unsigned char read_adc unsigned char adc_input   { 

ADMUX=adc_input|ADC_VREF_TYPE;  // Start the AD conversion 

ADCSRA|= x4 ; 

// Wait for the AD conversion to complete  while  ADCSRA &  x == ; 

ADCSRA|= x ;  return ADCH; }  

  Rutin program ADC diatas menggunakan 8 bit signifikan data, ketika

mikrokontroler menerima perintah dari komputer dan variabel a bernilai 1 maka ADC akan memroses data dan mengirimkannya ke komputer.


(70)

3.3.2. CodeVisionAVR

Program C ++ merupakan program yang digunakan penulis untuk perancangan perangkat lunak mikrokontroler. Program ini ditulis menggunakan

software CodeVision AVR. Pada dasarnya merupakan perangkat lunak

pemrograman mikrokontroler keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang telah diintegrasikan perangkat lunak ini yaitu Compiler C, IDE dan Program generator.

Khusus untuk library fungsi, disamping library standart (seperti fungsi-fungsi matematik, manipulasi String, pengaksesan memori dan sebagainya), CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yang sangat bermanfaat dalam pemrograman antarmuka AVR dengan perangkat luar yang umum digunakan dalam aplikasi kontrol. Beberapa fungsi library yang penting diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi IC, IC RTC (Real time Clock), sensor suhu LM75, SPI (Serial Peripheral Interface) dan lain sebagainya. Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR juga dilengkapi IDE yang sangat user friendly (gambar 3.10). Selain menu-menu pilihan yang umum dijumpai pada setiap perangkat lunak berbasis Windows, CodeVisionAVR ini telah mengintegrasikan perangkat lunak

downloader (in system programmer) yang dapat digunakan untuk mentransfer

kode mesin hasil kompilasi kedalam sistem memori microcontroller AVR yang sedang diprogram.


(71)

C yang digunakan hamper mengimplementasikan semua komponen standar yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis operator dan library fungsi standar berikut penamaannya). Tetapi walaupun demikian dibandingkan bahasa C untuk aplikasi computer, compiler C untuk mikrokontroler ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan (embedded).

Gambar 3.10 CodeVisionAVR

3.3.3 Perancangan Perangkat Lunak pada Komputer

Perancangan perangkat lunak pada komputer bertujuan untuk menampilkan Sinyal ECG dari tubuh manusia atau dari ECG simulator dalam bentuk visual,


(72)

selain itu fungsi yang lebih penting adalah untuk memproses dan mengklasifikasikan sinyal agar bisa mengenali aritmia berdasarkan kecepatan denyut per menit (BPM) . Alur program pada komputer ditunjukkan pada diagram block 3.11 :

Gambar 3.11 Diagram Blok Perangkat lunak computer

START

Pilih Lead

Kirim Karakter

Ada data masuk ?

klasifikasi jenis aritmia berdasarkan denyut

jantung

Tampilkan sinyal

Ada data masuk ?

Selesai

Tidak

Ya

Ya


(73)

3.3.4. Perancangan User Interface

Untuk perancangan user interface dalam tugas akhir ini menggunakan pemograman berbasis desktop yaitu Delphi 7.0 . Pada gambar 3.12 ditunjukan gambaran secara umum rancangan user interface yang akan digunakan .

Gambar 3.12 Gambaran user interface

3.3.4. Perancangan komunikasi serial

Pengiriman data dari mikrokontroler ke komputer pada sistem ini menggunakan modul USB to Serial. Mode komunikasi serial yang digunakan adalah komunikasi serial asinkron dengan setting sebagai berikut:


(74)

Data Bit : 8 Bit

Parity : Tidak ada

Stop Bit : 1 Bit

Flow Control : Tidak ada

Komunikasi serial pada Delphi menggunakan komponen TComport seperti gambar 3.10 :

Fungsi yang digunakan untuk mengirim data dari komputer ke mikrokontroler dengan menggunakan komponen Tcomport adalah sebagai berikut. Comport1.Open;

Comport1.Write('a');

Gambar 3.13 Setting comport pada delphi

3.4 Alur Kerja Pembuatan Tugas Akhir

Dalam Tugas Akhir ini proses pembuatan Alat Pendeteksi Sinyal Electrocardiogram ada beberapa tahapan dalam proses pengerjaannya yang ditunjukan pada gambar diagram blok 3. 14


(75)

Gambar 3.14 Diagram blok alur proses pengejaan

Pada diagram blok 3.14 dijelaskan bahwa proses diawali pada proses pemahaman tentang terbentuknya sinya ECG dilanjutkan dengan pembuatan filter untuk mengubah sinyal ECG dari analog ke digital, perangcangan hardware, perancangan perangkat lunak, pengambilan dari sebagai tolak ukur dari sistem dan yang terakhir adalah pengejaan laporan Tugas Akhir.


(76)

BAB IV

ANALISA DAN IMPLEMENTASI SISTEM

Pada Bab ini akan membahas tentang lingkungan implementasi, implementasi interface, implementasi proses sistem, dan implementasi alat hardware yang digunakan

4.1 Lingkungan Implementasi

Pada bagian ini akan dijelaskan mengenai perangkat keras dan perangkat lunak yang digunakan pada implementasi sistem kali ini.

Perangkat Keras :

- 1 Buah Laptop prosessor Intel Core Duo L300 1.7 Ghz (2CPUs)

- SDRAM DDR2 1 GB

- Harddisk 160 GB

Perangkat Lunak :

- Sistem operasi Microsoft Windows XP Professoinal service pack 3 - Bahasa C sebagai bahasa pemograman untuk mikrokontroler

menggunakan CodeVision AVR

- Borland Delphi 7.0 Sebagai pemograman desktop untuk aplikasi - Componen comport264 untuk setting port


(77)

4.2 Implementasi Interface

Rancangan antarmuka memudahkan pengguna dalam melakukan pekerjaan Implementasi antarmuka, dimaksudkan untuk memberikan gambaran secara langsung tentang isi dari aplikasi alat pendeteksi sinyal jantung, baik gambaran dalam bentuk gambar maupun penjelasan dalam penggunaannya.

4.2.1 Form Menu Utama

Form menu utama merupakan menu yang menampilkan semua fungsi yang digunakan untuk aplikasi ini. Pada sistem hanya terdapat menu utama saja dan tidak mempunyai anak menu yang lain . Program ini sangat sederhana sekali sehingga sangat memungkinkan untuk pemakaian user yang sangat mudah . Pada gambar 4.1 akan ditampilkan gambar untuk menu utama.


(78)

Pada gambar 4.1 ada beberapa fungsi utama yang sangat penting yaitu fungsi start. Fungsi start digunakan untuk memulai menampilkan sinyal ECG dari tubuh manusia. Fungsi Pause untuk menghentikan tampilan sinyal ECG dan fungsi Setting Comport.

4.3 Implementasi Proses Sistem

Pada bagaian Implementasi proses dari sistem akan di bahas tentang jalannya sistem yang dibuat. Sebelum perangakat lunak dijalankan ada beberapa tahap yang harus dilakukan.Tahap tersebut harus dilakukan secara berurutan sesuai dengan urutan kegunaannya dengan tujuan untuk memperoleh hasil yang maksimal.

4.3.1 Proses Pengambilan Sinyal ECG

Sinyal yang masuk pada rangakaian akuisisi ECG diperoleh dari sinyal ECG manusia yang diambil dari beberapa Lead . Lead yang digunakan pada tugas akhir ini adalah lead dasar (lead bipolar). Lead dasar mengukur perbedaan potensial pada bidang frontal tubuh. Elektroda ditempatkan pada tangan kanan (RA), tangan kiri (LA), kaki kanan (RL) dan kaki kiri (LL). Dengan kaki kanan (RL) sebagai driven right leg, kombinasi dari elektroda tersebut dapat diperoleh 3 lead sebagai berikut:

Lead I : Mengukur potensial antara RA dan LA

Lead II : Mengukur potensial antara RA dan LL


(79)

4.4 Gambar Letak Penempatan Clamp

Untuk implementasi proses pengambilan data yang berupa sinyal yang berasal dari perangkat keras rangkaian akuisisi ECG berikut ini adalah sub rutin potongan programnya.

procedure TForm1.comport1rxchar(Sender: TObject; Count: Integer);

var data : integer; sdata: string; vdata : variant; p :pansichar; begin

comport1.Read(data,1);

form1.Caption := IntToStr(data); p := pansichar(sdata);

edit1.Text:=IntToStr(data); yn := highpass(lowpass(data*2)); dn := derivative(yn);

SqF := SquaringFunction(dn); Mov := moving(SqF);


(80)

{Trhesholding}

if (10*Mov)>trh then begin

trh:= round((5*10*Mov)/6); //nilai treshold 5/6 kali nilai max

trcount:=0; end;

trcount:= trcount+1; if trcount > 150 then begin

trh:= round(2*(trh)/3); //Adaptif turun 2/3 kali trcount:=0; //ketika tidak menemukan nilai max lagi

end;

if (10*Mov)> trh then

rr:=50 //komparator else

rr:=0;

{End Trhesholding}

4.3.2 Proses Pembuatan Filter Analog

Sistem akuisisi ECG ini menggunakan dua filter, yang pertama adalah

bandpass filter yang terdiri dari Filter lowpass berfungsi untuk meredam noise

frekuensi tinggi akibat dari arus jala – jala dan filter highpass berfungsi untuk meredam noise frekuensi rendah dari arus DC. Berikut ini adala sub rutin program filter analog.

{----<<<function digital filter>>>----} function lowpass(lpf:integer):integer; var fl: byte;

begin

xlpf[0]:=lpf;

ylpf[0]:=(2*ylpf[1])-ylpf[2]+xlpf[0]-(2*xlpf[6])+xlpf[12];

for fl:=12 downto 1 do xlpf[fl]:=xlpf[fl-1];

ylpf[2]:=ylpf[1]; ylpf[1]:=ylpf[0];


(81)

lowpass:= round(ylpf[0]/30); end;

function highpass(hpf:integer):integer; var fl: byte;

begin

xhpf[0]:=hpf;

yhpf[0]:=yhpf[1]+xhpf[0]-xhpf[32];

for fl:=32 downto 1 do xhpf[fl]:=xhpf[fl-1];

yhpf[1]:=yhpf[0];

highpass:= round(xhpf[16] - (yhpf[0]/32)); end;

function derivative(der:integer):integer; var fl: byte;

begin

xd[0]:=der;

derivative:=round(((2*xd[0])+xd[1]-xd[3]-(2*xd[4]))/10); for fl:=4 downto 1 do

xd[fl]:= xd[fl-1]; end;

function SquaringFunction(SF:integer):integer; begin

SquaringFunction := sqr(SF); end; function Moving(Mv:integer):integer; var fl:byte; begin mav[0]:=Mv; Moving := round((mav[21]+mav[20]+mav[19]+mav[18]+mav[17]+mav[16]+mav[15]+mav [14]+mav[13]+mav[12]+mav[11]+mav[10]+mav[9]+mav[8]+mav[7]+mav[6]+m av[5]+mav[4]+mav[3]+mav[2]+mav[1]+mav[0])/22);

for fl:= 22 downto 1 do mav[fl] := mav[fl-1]; end;

4.3.3 Proses Pemilih Lead

Lead dasar mengukur perbedaan potensial pada bidang frontal tubuh. Elektroda ditempatkan pada tangan kanan (RA), tangan kiri (LA), kaki kanan (RL) dan kaki kiri (LL) dengan kaki kanan (RL) sebagai driven right leg


(82)

procedure TForm1.StartClick(Sender: TObject); begin

comport1.Open;

if combobox1.Text = 'Lead I' then begin

comport1.WriteStr('a'); select := true;

end;

if combobox1.Text = 'Lead II' then begin

comport1.WriteStr('b'); select := true;

end;

if combobox1.Text = 'Lead III' then begin

comport1.WriteStr('c'); select := true;

end;

if combobox1.Text = 'AVR' then begin

comport1.WriteStr('d'); select := true;

end;

if combobox1.Text = 'AVL' then begin

comport1.WriteStr('e'); select := true;

end;

if combobox1.Text = 'AVF' then begin

comport1.WriteStr('f'); select := true;

end;

clrscr.Click; i :=1;

sample := 0; end;

procedure TForm1.FormCreate(Sender: TObject); begin

clrscr.Click; data1 := 0; mode := 0; sample := 0; n := 0; nn := 0; i := 0; j := 0; t := 0; ia := 0;

lamdp := 0.005; lamdn := 0.005; toe := 0.85;


(83)

4.3.4 Proses Klasifikasi Aritmia

Pada tugas akhir ini klasifikasi aritmia hanya terdiri dari tiga aritmia yaitu sinus bradikardia, normal dan sinus takikardia. Berikut ini sub rutin program untuk klasifikasi aritmia .

if sample = 0 then begin

if mode = 1 then begin

if rr = 0 then begin

n := n+1; end;

if rr > 0 then begin

if n > a then begin

mode := 0; t := n; n := 0; end; end; end;

if rr > 0 then begin

if t = 0 then begin

n := n+1; a := n; mode := 1; end;

end;

if t > 0 then begin

if mode = 0 then begin

bpm := 0;

for j := 2 downto 1 do begin

wan[j] := wan[j-1]; end;

wan[0] := round(60/(t/200)); for j := 0 to 1 do

begin

bpm := bpm + wan[j]; end;


(1)

84

Dari hasil pengujian heart rate baik pada simulator maupun pada pasien sistem bisa mengenali sinyal ECG normal, tachycardia, dan bradycardia. Gambar hasil pengujian heart rate ditunjukkan pada gambar 5.7,5.8 dan 5.9

Gambar 5.7 Hasil pengujian ECG normal


(2)

Gambar 5.9 Hasil pengujian ECG Bradikardia

Secara umum dan keseluruhan, tugas akhir ini sudah bekerja sesuai dengan tujuan. Sistem bisa menampilkan sinyal dari lead1, lead 2, lead 3. Sistem mampu mengenali sinyal ECG normal, takikardia aritmia dan bradikardia aritmia dengan metode R – R interval dan system juga mampu mengklasifikasikan sinyal ECG normal baik pada simulator maupun pada pasien.

5.4 Pembahasan Sistem dan Evaluasi

Secara umum dan keseluruhan, tugas akhir ini sudah bekerja sesuai dengan tujuan. Sistem bisa menampilkan sinyal dari lead1, lead 2, lead 3, aVL dan aVF, sistem mampu mengenali sinyal ECG normal, takikardia aritmia dan bradikardia aritmia dengan metode R – R interval

Tetapi sistem ini masih memiliki kekurangan baik dari segi hardware maupun software. Dari sisi hardware antara lain perlu dilakukan pemisahan titik referensi antara rangkaian analog dan rangkaian digital, menambahkan rangkaian

Hak Cipta © milik UPN "Veteran" Jatim :


(3)

86

notch filter untuk meredam noise dari frekuensi jala – jala dan dari sisi software

bisa menggunakan metode lain yang mungkin lebih baik untuk klasifikasi aritmia, seperti algoritma neural network yang lain atau NeuroFazzy dan masih banyak lagi. Untuk analisa dari pengujian alat dan sistem supaya menghasilkan hasil yang maksimal diperlukan alat – alat berdasarkan standart clinical. Untuk tampilan sinyal ECG agar mendapatkan sinyal yang baik dibutuhkan kondisi tubuh yang rileks dan apabila sinyal sudah bisa ditampilkan dengan baik disarankan untuk posisi tangan dan yang stabil dan tidak banyak bergerak karena hal ini akan menyebabkan sinyal tidak stabil .


(4)

87 BAB VI PENUTUP 6.1 Kesimpulan

Dari hasil perancangan, pembuatan dan pengujian dapat diambil beberapa kesimpulan sebagai berikut :

1. Perancangan akuisisi ECG dengan penguat instrumentasi AD620 memiliki banyak kelebihan dibandingkan dengan 3 Op-Amp antara lain : penguatan bisa mencapai 100 kali, kemampuan meredam noise mencapai 130 dB. 2. Sistem akuisisi ECG yang dirancang bisa menampilkan sinyal ECG dari

lead 1, lead 2, lead 3. Program deteksi aritmia dengan R – R interval dapat mendeteksi aritmia takikardia, bradikardia dan normal

3. Presentase kesalahan pada sistem ini sekitar 5% dibandingkan dengan

Oscilloscope . Hal ini disebabkan karena perangkat keras yang digunakan

bukan .Standard Clinical dan akan lebih jika menggunakan yang standar.

6.2 Saran

Sistem dalam tugas akhir ini masih memiliki banyak kekurangan dan saran – saran untuk pengembangan sistem ini antara lain :

1. Disarankan untuk memisahkan titik referensi antara rangkaian analog dan rangkaian digital menggunakan penguat isolasi.

2. Menggunakan kabel lead standart agar pengiriman sinyal menjadi lebih baik.

Hak Cipta © milik UPN "Veteran" Jatim :


(5)

88

3. Menggunakan elektroda yang standart agar pembacaan sinyal ECG menjadi lebih baik.

4. Menambahkan Notch filter untuk mereduksi noise dari frekuensi jala – jala.

5. Untuk akuisisi ECG dengan 12 lead agar dapat ditampilkan secara bersamaan disarankan untuk menggunakan penguat amplifier dan pengkondisi sinyal pada masing-masing lead.

6. Menggunakan algoritma neural network yang sudah ada bisa dikembangkan dengan menambahkan jenis aritmia yang lain


(6)

89

[2] Mardiyanto, Ronny, Perancangan dan Realisasi Prototip Elektrokardiograf Berbasis Mikrokontroler, ITB, Bandung, 2006.

[3] Setiawan, Rachmad, Teknik Akuisisi Data, Graha Ilmu, Yogyakarta, 2008.

[4] Thaler, Malcolm S, Satu-satunya buku EKG yang anda perlukan / Malcolm S Thaler ; Alih bahasa, Samik Wahab.- Ed.2 -,Hipokrates, Jakarta, 2000.

[5] Widodo, Arif, Sistem Akuisisi ECG Menggunakan USB Untuk Deteksi Aritmia, ITS, Surabaya, 2010.

[6] __________, Atmega16, http://www.atmel.com/ATmega16, 23 November 2010.

[7] ________, 12 Lead ECG Sistem, http://www.bem.fi/book/15/15. htm, 02 Desember 2009. [7] __________, MAX232, http://www.maxim-ic.com/quick_ view2. cfm/qv_ pk/1798, 23

November 2010.

Hak Cipta © milik UPN "Veteran" Jatim :