JANTUNG DAN JARINGAN SYARAF TIRUAN
Struktur Dan Cara Kerja Jantung
Jantung adalah organ otot berongga yang terletak di pusat dada yang berfungsi memompa darah lewat pembuluh darah dengan kontraksi berirama yang berulang. Ukuran jantung manusia kurang lebih sebesar kepalan tangan seorang laki-laki dewasa. Jantung merupakan satu otot tunggal yang terdiri dari lapisan endothelium. Jantung terletak di dalam rongga thoracic, di balik tulang dada/sternum. Struktur jantung berbelok ke bawah dan sedikit ke arah kiri.
Jantung hampir sepenuhnya diselubungi oleh paru-paru, namun tertutup oleh selaput ganda yang bernama perikardium, yang tertempel pada diafragma. Lapisan pertama menempel sangat erat kepada jantung, sedangkan lapisan luarnya lebih longgar dan berair, untuk menghindari gesekan antar organ dalam tubuh yang terjadi karena gerakan memompa konstan jantung.
Jantung dijaga di tempatnya oleh pembuluh-pembuluh darah yang meliputi daerah jantung yang merata, seperti di dasar dan di samping. Dua garis pembelah (terbentuk dari otot) pada lapisan luar jantung menunjukkan di mana dinding pemisah di antara sebelah kiri dan kanan serambi (atrium) & bilik (ventrikel). Pada Gambar.1 diperlihatkan bagian-bagian jantung.
Gambar 1. bagian-bagian jantung
Jantung terdiri dari empat rongga, yaitu serambi kanan & kiri dan bilik kanan & kiri. Dinding serambi jauh lebih tipis dibandingkan dinding bilik karena bilik harus melawan gaya grafitasi bumi untuk memompa darah dari bawah ke atas, khususnya di aorta, untuk memompa ke seluruh bagian tubuh yang memiliki pembuluh darah. Dua pasang rongga (bilik dan serambi bersamaan) di masing-maing belahan jantung disambungkan oleh sebuah katup. Katup di antara serambi kanan dan bilik kanan disebut katup trikuspidalis atau katup berdaun tiga. Sedangkan katup yang ada di antara serambi kiri dan bilik kiri disebut katup mitralis atau katup berdaun dua. Bagian serambi jantung (atrium) bertugas mengumpulkan darah dan bagian bilik jantung (ventrikel) bertugas mengeluarkan darah. Fungsi katup trikuspidalis dan katup mitralis yaitu agar darah hanya mengalir dalam satu arah saja.
Pada saat berdenyut, setiap ruang jantung mengendur dan terisi darah (disebut periode diastolik). Selanjutnya jantung berkontraksi dan memompa darah keluar dari ruang jantung (disebut periode sistolik). Kedua atrium mengendur dan berkontraksi secara bersamaan, dan kedua ventrikel juga mengendur dan berkontraksi secara bersamaan. Darah yang kehabisan oksigen dan mengandung banyak karbondioksida dai seluruh tubuh mengalir melalui 2 vena cava menuju ke dalam atrium kanan. Setelah atrium terisi darah, dia akan mendorong darah ke dalam ventrikel kanan. Darah dari ventrikel kanan akan dipompa melalui katup pulmoner ke dalam arteri pulmonalis, menuju ke paru-paru.
Darah akan mengalir melalui pembuluh yang sangat kecil (kapiler) yang mengelilingi kantong udara di paru-paru, menyerap oksigen dan melepaskan karbondioksida yang selanjutnya dihembuskan. Darah yang kaya akan oksigen mengalir di dalam vena pulmonalis menuju ke atrium kiri. Peredaran darah diantara bagian kanan jantung, paru-paru dan atrium kiri disebut sirkulasi pulmoner
Jaringan Syaraf Tiruan
Jaringan Syaraf tiruan (JST) merupakan teknik pemrosesan informasi yang bekerja berdasarkan pada sistem saraf, seperti jaringan saraf otak manusia. Konsep dasarnya merupakan struktur dari sistem pemrosesan informasi. Sistem neural network bekerja seperti manusia yaitu belajar dari contoh (learning by example) dalam memecahkan persoalan. Jaringan Syaraf Tiruan dikomposisikan oleh serangkaian elemen-elemen yang saling terhubung (disebut neuron) yang memproses informasi sebagai respon stimuli eksternal. Jaringan Syaraf Tiruan dikonfigurasikan untuk aplikasi tertentu, seperti klasifikasi data atau pola pengenalan, melalui proses pelatihan yang disebut training.
Gambar 2. model dasar dari single neuron
Input yang diterima oleh single elemen (Gambar 2.) dapat direpresentasikan sebagai suatu vektor input A = (a1, a2, ..., an), dimana ai merupakan sinyal input ke-i. Bobot dihubungkan ke setiap pasangan neuron. Dengan demikian bobot yang terhubung dengan neuron ke-j dapat direpresentasikan sebagai vektor bobot Wj = (w1j, w2j, ..., wnj), dimana wij merepresentasikan bobot yang terhubung antara elemen ai dan elemen aj .
Fungsi Aktivasi
Perilaku dari Jaringan Syaraf Tiruan bergantung pada bobot dan fungsi aktivasi input-output (transfer function) sistem tersebut. Informasi (input) akan dikirim ke neuron dengan bobotnya masing-masing. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang datang. Hasil penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila nilai input tersebut melewati suatu nilai ambang tertentu, maka neuron akan diaktifkan, tapi jika tidak, maka neuron tersebut tidak diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang terhubung dengannya, demikian seterusnya.
Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan. Fungsi aktivasi yang disediakan pada toolbox MATLAB, antara lain :
1. Fungsi Linear (purelin)
Pada fungsi linear, aktivitas output sebanding dengan total bobot outputnya. Fungsi linear dirumuskan sebagai:
2. Fungsi Sigmoid
Pada fungsi sigmoid, output bervariasi secara kontinu tapi tidak linear saat input berubah, fungsi ini biasanya digunakan untuk melatih jaringan dengan metode propagasi balik. Contohnya yaitu fungsi sigmoid biner (logsig) dan fungsi sigmoid bipolar (tansig). Fungsi logsig memiliki nilai pada range 0 sampai 1. Sedangkan fungsi tansig memiliki range antara 1 sampai -1. Fungsi tansig dirumuskan sebagai :
Gambar 2.1 fungsi tansig
3 PEMBUATAN PROGRAM SIMULASI
a. Pengumpulan Data
Pengumpulan data diperoleh dari internet dan beberapa rekan Fakultas Kedokteran Universitas Indonesia. Data masukan yang digunakan dalam penelitian ini terdiri dari sekumpulan database detak jantung dari tiga jenis kelainan jantung. Sampel tiga jenis kelainan jantung ini antara lain: mitral valve prolapse, mitral regurgitasi dan aortic stenosis. Sampel data masukan ini diubah ke dalam bentuk .wav, mono. Masing-masing data dijadikan ke dalam bentuk matriks untuk masukan Jaringan Syaraf Tiruan. Proses pengolahan data ini menggunakan laptop dengan processor IntelTM Core 2 Duo 2 GHz, MATLAB 2008a, Adobe Audition 1.0 serta Ms Excel.
b. Pra-Proses
Sebelum sampel data digunakan sebagai masukan pada jaringan, sampel data tersebut terlebih dahulu di filter untuk mengurangi derau yang terdapat pada sampel tersebut. Tujuannya adalah untuk mendapatkan pola spektrum detak jantung yang sebenarnya. Kemudian sinyal detak jantung diubah dari domain waktu ke domain frekuensi menggunakan FFT (Fast Fourier Transform). Agar ukuran matriksnya memiliki dimensi yang sama untuk semua sampel maka masing-masing sampel akan di ekstraksi yaitu di potong-potong menjadi 1000 bagian. Kemudian masing-masing bagian ini diambil nilai rata-ratanya. Sehingga total akan didapatkan matriks dengan dimensi 1000x15. Pada setiap data dilakukan proses normalisasi untuk mengurangi perbedaan amplitudo yang disebabkan oleh variasi kondisi pengambilan data.
c. Labelisasi
Tahap pertama dari pembentukan database adalah proses labelisasi/ pelabelan. Proses ini dijalankan pertama kali untuk memasukan sampel detak jantung yang akan disimpan sebagai database. Tahapan proses pemasukan input yaitu: index label 1 digunakan sebagai label untuk jenis kelainan mitral regurgitasi, index label 2 digunakan sebagai label untuk jenis kelainan aortic stenosis, dan index label 3 digunakan sebagai label untuk jenis kelainan mitral valve prolapse. Masing-masing jumlah sampelnya sebanyak 5 sampel. Seluruh sampel yang telah dilabelkan akan disimpan dalam file label.mat. Diagram alir proses pembentukan matriks untuk input jaringan diilustrasikan oleh Gambar 3.1.
Gambar 3.1 diagram alir pembentukan database
d. Tahap Pelatihan (Training)
Kelainan jantung yang akan diklasifikasi ada tiga jenis kelainan, yaitu mitral regurgitasi dengan 5 buah sampel, aortic stenosis sebanyak 5 sampel dan mitral valve prolapse 5 sebanyak. Sehingga total terdapat 15 buah sampel yang terekam dalam bentuk .wav, mono. Masing-masing sampel telah mengalami proses filtering dan labelisasi terlebih dahulu. Kemudian sampel-sampel tersebut diubah dari domain waktu ke domain frekuensi.
Vektor target yang dibentuk merupakan suatu nilai yang telah tersimpan pada proses
pelabelan. Nilai ini ditentukan berdasarkan urutan pada proses pelabelan yaitu sampel 1 s/d 5
untuk kelainan mitral regurgitasi memiliki vektor target (1 2 3 4 5), sampel 6 s/d 10 untuk
kelainan aortic stenosis memiliki vektor target ( 6 7 8 9 10 ), dan sampel 11 s/d 15 untuk
kelainan mitral valve prolapse memiliki vektor target (11 12 13 14 15 ). Pelatihan suatu JST
dengan algoritma propagasi balik meliputi dua tahap: perambatan maju dan perambatan
mundur.
Selama perambatan maju, tiap unit masukan (xi) menerima sebuah masukan sinyal
ini ke tiap-tiap lapisan tersembunyi z1,..., z10. Tiap lapisan tersembunyi ini kemudian
menghitung aktivasinya dan mengirimkan sinyalnya (zj) ke tiap unit keluaran (seperti yang
diilustrasikan oleh Gambar 3.1). Tiap unit keluaran (yk) menghitung aktivasinya (yk) untuk
membentuk respon pada JST untuk memberikan pola masukan.
Selama proses pelatihan, tiap unit keluaran membandingkan perhitungan aktivasinya
(yk) dengan nilai targetnya (tk) untuk menentukan kesalahan pola tersebut dengan unit
tersebut. Kemudian dihitung faktor δk (k = 1). δk digunakan untuk menyebarkan kesalahan
pada unit keluaran yk kembali ke semua unit pada lapisan sebelumnya (unit-unit lapisan
tersembunyi yang terhubung ke yk). Nantinya nilai ini juga digunakan untuk mengupdate
bobot-bobot antara lapisan keluaran dengan lapisan tersembunyi. Dengan cara yang sama,
faktor δj
(j = 1,..., 10) dihitung untuk tiap unit tersembunyi zj
. Nilai δj
hanya digunakan untuk
mengupdate bobot-bobot antara lapisan tersembunyi dan lapisan masukan.
Setelah seluruh faktor δ ditentukan, bobot untuk semua lapisan diatur secara serentak.
Pengaturan bobot wjk (dari unit tersembunyi zj
ke unit keluaran yk) didasarkan pada faktor δk
dan aktivasi zj
dari unit tersembunyi zj
didasarkan pada faktor δj
dan aktivasi xi
unit masukan.
4. HASIL UJI COBA DAN ANALISA
Pada pengujian simulasi ini, akan digunakan sebanyak 30 sampel baru, yaitu 15
sampel untuk kelainan mitral valve prolapse, 15 sampel mitral regurgitasi dan 15 sampel
aortic stenosis. Pada pengujian pengenalan kelainan mitral valve prolapse program simulasi
berhasil mengenali sebanyak 12 sampel spektrum kelainan mitral valve prolapse dengan
benar, sedangkan 3 sampel lainnya salah dikenali. Kesalahan pengenalan ketiga sampel
tersebut dikarenakan pola spektrum MVP2, MVP3 dan MVP4 berbeda dengan pola spektrum
sampel-sampel yang terdapat dalam database. Oleh karena itu jaringan tidak bisa
mengenalinya sebagai kelainan mitral valve prolapse. Namun spektrum MVP2, MVP3 dan
MVP4 mirip dengan spektrum Aortic Stenosis sehingga jaringan mengenalinya sebagai jenis
kelainan Aortic Stenosis. Berdasarkan hasil pengujian tersebut maka akurasi simulasi ini
dalam mengenali jenis kelainan mitral valve prolapse yaitu sebesar 80%.
Pada pengujian pengenalan kelainan aortic stenosis program simulasi ini berhasil
mengenali sebanyak 13 sampel dengan benar, sedangkan 2 sampel salah dikenali. Kesalahan
mengenali kedua sampel tersebut dikarenakan sampel AS2 dan AS8 mirip dengan pola
spektrum mitral valve prolapse sehingga jaringan mengenalinya sebagai kelainan mitral
valve prolapse. Berdasarkan hasil pengujian tersebut maka akurasi simulasi ini dalam
mengenali jenis kelainan aortic stenosis yaitu sebesar 86.7%.
Adanya kemiripan pola spektum antara sampel aortic stenosis dan mitral valve
prolapse menjadi kendala dalam penelitian ini yang mengakibatkan jaringan salah dalam
mengenalinya. Untuk itu agar diperoleh akurasi yang optimal maka dibutuhkan jumlah
sampel yang lebih banyak lagi. Pada pengujian pengenalan sampel kelainan mitral
regurgitasi terdapat 3 sampel yang salah dikenali oleh program yaitu MR3, MR5 dan MR6.
Pola spektrum sampel kelainan mitral regurgitasi cukup bervariasi. Sehingga dibutuhkan
jumlah sampel database yang lebih banyak lagi agar variasi sampel yang akan diujikan ke
jaringan dapat dikenali dengan benar.
Berdasarkan hasil pengujian tersebut maka akurasi simulasi ini dalam mengenali
jenis kelainan mitral regurgitasi yaitu sebesar 80%. Dari ketiga hasil pengujian ini diperoleh
akurasi rata-rata sebesar 82.2%. Walaupun akurasi hasil pengujian tersebut kurang sempurna
namun program simulasi ini sudah cukup baik dalam mengenali ketiga jenis kelainan diatas.
Namun demikian simulasi ini perlu diujikan lebih lanjut dengan jumlah sampel yang lebih
banyak agar dapat diketahui akurasi sesungguhnya.
5. KESIMPULAN
Jaringan syaraf tiruan dilatih dengan cara belajar dari contoh (learning by example),
sehingga semakin banyak sampel yang dilatihkan ke jaringan maka jaringan akan semakin
baik dalam mengenali variasi sampel masukannya. Agar jaringan syaraf tiruan dapat
mengenali spektrum kelainan jantung dengan benar maka sampel-sampel yang digunakan
sebagai database harus mewakili variasi sampel data untuk jenis-jenis kelainan jantung yang
akan dikenali.
Penggunaan fungsi pelatihan traingdx pada Neural Network Toolbox memberikan
waktu pelatihan yang lebih cepat dari fungsi pelatihan lainnya. Hal ini dikarenakan adanya
konstanta momentum yang mempercepat proses konvergensi jaringan. Variasi sampel yang
berbeda-beda pada satu jenis kelainan jantung akan memperlambat proses konvergensi
jaringan. Untuk itu sebaiknya sampel yang digunakan sebagai database memiliki kemiripan
untuk satu jenis kelainan jantung.
DAFTAR PUSTAKA
[1] Dhaneswara G., Voertini V.S.,(2004).”Jaringan Saraf Tiruan Propagasi Balik Untuk
Klasifikasi Data”, hal 126-129
[2] Anggraeni L., Rizal A., Usman K., “Pengenalan Suara Jantung Menggunakan Metode
LPC dan JST-BP”, hal 337-340
[3] N. Belgacem, M.A. Chikh, F. Bereksi Reguig, White Paper.“Supervised Classification
Of ECG Using Neural Network”, hal 1-3
[4] Yu Hen Hu, Willis J, Thompkins, Jose L. Urrusti, Valtino X. Afonso, Journal of
Electrocardiology Vol 26 Supplement, “Applications of Artificial Neural Networks for
ECG Signal Detection and Classification”, hal 67-69
[5] Palaniappan R., Gupta C.N., Khrisnan M.K., “Neural Network Classification of
Premature Heartbeats”, hal 7-9
[6] W. Puti N., Magdalena R., Rizal A., “Implementasi Metode JST Backpropagation
Dalam Diagnosis Jantung Koroner Melalui Keluhan Dan Pengenalan Pola ECG
Pasien”, hal 47, hal 47-51
[7] Howard Demuth, Mark Beale, “Neural Network Toolbox For Use with MATLAB”,
User’s Guide Version 4, The Mathworks
[8] Effendy N.,”Identifikasi Spektrum Frekuensi Isyarat Elektrokardiograf Menggunakan
Jaringan Syaraf tiruan Kompetisi Penuh”
[9] Jie Zhou,”Automatic Detedtion of Premature Ventricular Contraction Using Quantum
Neural Networks”, Department of Computer Science, Northern Illnois University
[10] Tayel M.B., Mohamed E., El-Bouridy,(2006),”ECG Images Classification Using
Feature ExtractionBased On Wavelet Transformation And Neural Network” Electrical
Engineering Department
[11] Bouteraa N., Chenikher S., Doghmane N., Ramdani M.,(2007), “Cardiac Arrhytmia
Detection Based On Subspace Approach and Neural Networks”, Department of
Electronics, Faculty Engineering
[12] Antoniisfia Y., Wiryadinata R.,(2008).”Ekstraksi Ciri Pada Isyarat Suara Jantung
Menggunakan Power Spectral Density Berbasis Metode Welch”, Media Informatika,
Vol 6
0 Response to "Simulasi Pengenalan Kelainan Jantung Dengan Menggunakan Metode Jaringan Syaraf Tiruan "
Posting Komentar