Selamat Datang di sitedak.blogspot.com - Semoga tulisan kami bermanfaat bagi anda...Silahkan Share untuk keluarga dan teman dekat jika tulisan ini bermanfaat, Terima Kasih

Simulasi Pengenalan Kelainan Jantung Dengan Menggunakan Metode Jaringan Syaraf Tiruan

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

Subscribe to receive free email updates:

0 Response to "Simulasi Pengenalan Kelainan Jantung Dengan Menggunakan Metode Jaringan Syaraf Tiruan "

Posting Komentar