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
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
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
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... iv
DAFTAR GAMBAR ... vii
DAFTAR TABEL ………. ix
2.8 Rangkaian Mikrokontroler... 22
2.8.1 Deskripsi Pin ... 25
2.11.1 Membuat Sebuah Form... 37 BAB IV ANALISA DAN IMPLEMENTASI SISTEM……….. 66
4.1 Implementasi Lingkungan ……... 66
4.3.3 Proses Pemilih Lead ... 71
5.1 Pengujian Rangkaian Penguat Insrtrumentasi AD620... 78
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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
(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
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%).
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
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=
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.
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
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
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
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
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.
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)
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
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
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.
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
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
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
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)
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
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
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.
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
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
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
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
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
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
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
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 ).
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).
(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,
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
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
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
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
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
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
Rangkaian penguat instrumentasi yang digunakan pada sistem ini
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
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
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 .
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
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
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
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
{
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);
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
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.
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
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
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:
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
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