Prosiding SENTIA 2009 – Politeknik Negeri Malang
PENGENALAN TIPE SUARA JANTUNG DENGAN METODE BACKPROPAGATION Irmalia Suryani Faradisa Teknik Elektro, ITN Malang
[email protected] ABSTRAK Salah satu cara yang digunakan dokter untuk mendiagnosis penyakit jantung adalah dengan mendengarkan suara jantung dengan stetoskop. Teknik ini dikenal dengan teknik auskultasi. Suara jantung yang dihasilkan pada beberapa kasus penyakit jantung menunjukkan adanya pola tertentu yang bisa dikenali. Pola suara ini dapat diambil sebagai bahan untuk menentukan diagnosis. Masalah yang timbul adalah suara jantung menempati frekuensi yang cukup rendah yaitu sekitar 20 – 400 Hz, amplitudo yang rendah masalah kebisingan lingkungan, kepekaan telinga dan pola suara yang mirip antara jenis suara jantung yang satu dengan yang lain. Karena faktor-faktor di atas tersebut kesalahan diagnosis bisa terjadi apabila prosedur auskultasi tidak dilakukan dengan benar. Data didapatkan dari situs internet. Pada penelitian ini dibahas cara menganalisis isyarat suara jantung dengan menggunakan metode artifical neural network.Dengan metode ini Sensitivitas yang dicapai > 0.8 sedangkan spesifisitas > 0.75 sedang untuk ketelitian yang dicapai untuk perangkat lebih dari 80%. Kata-kata kunci: suara jantung, murmur, artificial neural network 1. Pendahuluan Suara adalah suatu instrumen yang dapat digunakan untuk mendiagnosis banyak hal salah satunya dalam kesehatan untuk mendiagnosis organ internal. Beberapa organ internal dapat menimbulkan suara seperti jantung, paru-paru, otot, dan perut. HaI ini bisa terjadi karena posisi, gerak dan kondisi objek dapat dipahami dari tekanan suara, interval suara dan warna suara. Untuk mendengarkan dan mengenali suara yang ditimbulkan oleh organ tubuh, seorang dokter cukup menggunakan stetoskop. Suatu diagnosis melalui suara yang ditimbulkan oleh organ tubuh dikenal dengan sebutan teknik auskultasi. Dalam penelitian ini yang akan dianalisis adalah sinyal yang dihasilkan dari suara jantung. Seperti diketahui bahwa suara yang dihasilkan oleh jantung baik suara jantung normal ataupun suara jantung abnormal berada pada frekuensi disaat telinga relatif tidak sensitif yaitu di bawah 500 Hz. Suara jantung yang didengar oleh dokter dengan menggunakan stetoskop sebenarnya terjadi pada saat penutupan katup jantung. Jantung abnormal memperdengarkan suara tambahan yang disebut murmur, yang disebabkan oleh pembukaan katup yang tidak sempurna (stenosis) dan penutupan katup yang tidak sempurna (regurgitasi), Stenosis mengakibatkan darah dipaksa melewati bukaan yang sempit sedangkan regurgitasi mengakibatkan aliran balik darah. Dalam masing masing kasus suara yang timbul adalah akibat aliran darah melewati bukaan sempit dengan kecepatan tinggi. Ada perbedaan rentang frekuensi antara suara jantung normal (Sl dan S2) dan abnormal (murmur). Suara jantung S1 terdiri terutama atas energi dalam rentang frekuensi 30 hingga 45 Hz, yang sebagian A- 2
besar berada di bawah ambang dengar. Suara jantung S2 biasanya memiliki nada yang lebih tinggi dengan energi maksimum berada dalam rentang 50 hingga 70 Hz sedangkan murmur sering menghasilkan suara dengan nada yang jauh lebih tinggi. Suatu murmur regurgitasi menghasilkan suara dengan frekuensi 100 hingga 600 Hz dan bahkan untuk jenis murmur tertentu mempunyai frekuensi hingga 1000 Hz. Dari sifat-sifat yang ada dari tiap kondisi suara jantung, dicoba untuk mendapatkan ciri khas dari tiap suara jantung. Diharapkan ciri atau pola yang berhasil didapat dapat membedakan jenis suara jantung pada kasus yang satu dengan kasus yang lain. 2. Jantung Detak jantung menghasilkan suara yang berbeda yang dapat didengarkan pada stetoskop, yang sering dinyatakan dengan lub-dub. Suara lub disebabkan oleh penutupan katup atrioventrikular (tricuspid dan mitral) yang mengalirkan darah dari atria ke ventricle dan mencegah aliran balik (Gambar 1).
Gambar 1 Ruang dan Katup Jantung Umumnya hal ini disebut suara jantung pertama (S1l), yang terjadi hampir bersamaan
Prosiding SENTIA 2009 – Politeknik Negeri Malang
dengan timbulnya kompleks QRS elektrokardiogram (EKG) dan terjadi sebelum systole (periode kontraksi jantung) (Gambar 2). Suara dub disebut suara jantung kedua (S2) dan disebabkan oleh penutupan katup semilunar (aortic dan pulmonary ) yang mengalirkan darah ke system sirkulasi sistemik dan paru. Katup ini tertutup pada akhir systole dan sebelum katup atrioventrikular membuka kembali, Suara S2 ini terjadi hampir bersamaan dengan akhir gelombang T elektrokardiogram.
3. Konversi Sinyal Kontinyu ke Diskrit Sinyal auskultasi bentuk kontinyu. harus dikonversi dengan proses sampling. Dalam proses sampling bisa terjadi distorsi, juga terbatasnya lebar pita. Untuk mengatasi maka sinyal sampling harus mempunyai frekuensi tinggi dengan memenuhi kondisi berikut :
Seluruh sistem melibatkan komputer digital untuk memproses sinyal pada sistem waktu diskrit. Yang pertama sinyal harus dikodekan dalam bilangan biner. Menggunakan transformasi Laplace dapat menyederhanakan manipulasi dari sistem kontinyu. Cara yang lain adalah dengan transformasi Z.
Gambar 2 Relasi EKG dan Suara Jantung [4]
4. Teori Perancangan Filter Digital Filter digital orde empat secara matematis dapat diimplementasikan dalam dua cara yang berbeda, yaitu (Wood. J.W.W.; 2002):
Jantung abnormal memperdengarkan suara tambahan yang disebut murmur, murmur disebabkan oleh pembukaan katup yang tidak sempurna (stenosis) dan penutupan katup yang tidak sempurna (regurgitasi), Stenosis mengakibatkan darah dipaksa melewati bukaan yang sempit sedangkan regurgitasi mengakibatkan aliran balik darah.. Dalam masing masing kasus suara yang timbul adalah akibat aliran darah melewati bukaan sempit dengan kecepatan tinggi. Penyebab lain terjadinya murmur adalah adanya kebocoran septum yang memisahkan jantung bagian kiri dan kanan sehingga darah mengalir dari ventrikel kiri ke ventrikel kanan. Hal ini mengakibatkan penyimpangan sirkulasi sistemik. Gambar 3 menunjukkan ragam gelombang suara jantung normal dan beberapa jenis murrnur.
Dan
Ada tiga tipe utama pendekatan tanggapan filter digital, yaitu; Butterworth, Chebyshev (2 versi), dan eliptik 5. Metoda Backpropagation Backpropagation merupakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuran yang ada-pada lapisan tersembunyinya. Algoritma backpropagation menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk memanfaatkan error ini, tahap perambatan maju (forward propagation) harus dikerjakan terlebih dahulu. Pada saat perambatan maju, neuronneuron diaktifkan dengan menggunakan fungsi aktivasi yang dapat dideferensiasilkan,seperti sigmoid:
Gambar 3 Ragam Gelombang Suara Jantung Normal dan Abnormal Ada perbedaan rentang frekuensi antara suara jantung normal (Sl dan S2) dan abnormal (murmur). Suara jantung S1 terdiri terutama atas energi dalam rentang frekuensi 30 hingga 45 Hz, yang sebagian besar berada di bawah ambang dengar. Suara jantung S2 biasanya memiliki nada yang lebih tinggi dengan energi maksimum berada dalam rentang 50 hingga 70 Hz sedangkan mumur sering menghasilkan suara dengan nada yang jauh lebih tinggi. Suatu murmur regurgitasi menghasilkan suara dengan frekuensi 100 hingga 600 Hz dan bahkan untuk jenis murmur tertentu mempunyai frekuensi hingga 1000 Hz [2].
Arsitektur jaringan backpropagation seperti terlihat pada Gambar 4. Fungsi aktivasi yang digunakan, antara lapisan input dan lapisan tersembunyi, dan antara lapisan tersembunyi dengan lapisan output adalah fungsi aktivasi logsig.
A-3
Prosiding SENTIA 2009 – Politeknik Negeri Malang
Gambar 4 Arsitektur jaringan backpropagation Algoritma Backpropagation: Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil) Tetapkan: Maksimum Epoh, Target Error, dan Learning Rate(α). Inisialisasi: Epoh = 0, MSE = 1. Kerjakan langkah-langkah berikut selama (Epoh < Maksimum Epoh) dan (MSE > Target Error): 1. Epoh = Epoh + 1 2. Untuk tiap-tiap pasangan elemen yang akan dilakukan pembelajaran, kerjakan: Fedforward : a. Tiap-tiap unit input (Xi, i=1,2,3,...,n) menerima sinyal xi dan meneruskan sinyal tersebut ke semua unit pada lapisan yang ada di atasnya (lapisan tersembunyi). b. Tiap-tiap unit pada suatu lapisan tersembunyi (Zi,j=1,2,3,..,p) menjumlahkan sinyal-sinyal input terbobot:
(1) gunakan fungsi aktivasi untuk menghitung sinyal outputnya: (2) dan kirimkan sinyal tersebut ke semua unit diatasnya (unit-unit output). c. Tiap-tiap unit output (Yk, k=1,2,3,...,m) menjumlahkan sinyal-sinyal input terbobot. (3) gunakan fungsi aktivasi untuk menghitung sinyal outputnya: (4) dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output). Catatan: Langkah (b) dilakukan sebanyak jumlah lapisan tersembunyi. Backpropagation d. Tiap-tiap unit output (Yk, k=1,2,3,..,m) menerima target pola yang berhubungan dengan pola input pembelajaran, hitung informasii erromya:
A- 4
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk): hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai b2k). Langkah (d) ini juga dilakukan sebanyak jumlah lapisan tersembunyi, yaitu menghitung informasi error dari suatu lapisan tersembunyi ke lapisan tersembunyi sebelumnya. e. Tiap-tiap unit tersembunyi (zj,j=l,2,3,…,p) menjumlahkan delta inputnya (dari unit-unit yang berada pada lapisan di atasnya),kalikan nilai ini dengan turunan dari fungsi untuk menghitung informasi error,kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij),hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai b1j): f. Tiap-tiap unit ouput (Yk, k=1,2,3,...,m) memperbaiki bias dan bobotny a (j=0,1,2,...,p): Tiap-tiap unit tersembunyi (Zj=1,2,3,...,p) memperbaiki bias dan bobotnya (i=0,1.,2,...,n). 3. Hitung MSE. 6. Kerangka Pemikiran Di dalam penelitian ini akan dirancang suatu sistem Komputer yang dapat mengidentifikasi suara jantung normal atau tidak normal. Data berupa Heart sounds yang diambil dari beberapa sumber diinternet diidentifikasikan dengan cara data yang terekam dalam bentuk * .wav, dan frekuensi sampling 8000 Hz data ini dipotong-potong dengan durasi 1 -1.8 detik. Kerangka konsep pemikiran seperti yang ditunjukkan pada Gambar 5 Raw Data
Berupa Sinyal
Tahap I
Filtering Sinyal
Software Filter
Tahap II
Transform to Frequency Domain
Transformasi Fourier
Tahap III
Normalize + Scale
Skala, , Amplitudo,
Tahap IV
Neural Network
Backpropagation,
Gambar 5 Kerangka Konsep Pemikiran 7. Pengamatan Peubah dan Analisis Dengan menerapkan teori backpropagation, data yang telah diketahui sebagai normal atau abnormal dengan 9 keadaan dan telah ditentukan titik awal dan titik akhirnya, digunakan sebagai pembelajaran. Hasilnya diuji-cobakan pada gelombang masukan yang lain. Sehingga diperoleh
Prosiding SENTIA 2009 – Politeknik Negeri Malang
keluaran berupa keputusan, yaitu tergolong normal atau abnormal dengan 9 keadaan ataupun tidak pada 10 keadaan tersebut. Secara rinci, pembahasan meliputi Filtering Canceling waktu dalam gelombang heartsounds Identifikasi gelombang heartsounds dengan metode backpropagation Tampilan keluaran
Gambar 7 Plot Sinyal dan Spektrum Frekuensi Mitral Stenosis
8. Metode Rekayasa Perangkat Lunak Metode yang digunakan untuk membahas dan menguji data dalam penelitian ini adalah rekayasa perangkat lunak, yaitu dengan merancang perangkat lunak Analisis Isyarat Suara Jantung dengan Neural Network . Adapun flowchart untuk sistem tersebut adalah seperti pada gambar 6
Gambar 8 Plot Sinyal dan Spektrum Frekuensi Ventrikel Septum Defek
Mulai
Pengenalan Sinyal
Proses pembelajaran
Tidak
Proses Uji data
Ya Proses pembelajaran data
Data base pembelajaran
Iterasi Proses Pengenalan
Gambar 9 Plot Sinyal dan Spektrum Frekuensi Holosystolic Murmur
End
Gambar 6 Flowchat Sistem Pengenalan Sinyal Suara Jantung 9. Plot Sinyal Apabila didengarkan secara manual , kesembilan jenis data tidak dapat dibedakan dengan mudah apabila tidak didengarkan oleh ahlinya untuk itu dibuat plot sinyal dan dilihat spektrum frekuensinya.
Gambar 10 Plot Sinyal dan Spektrum Frekuensi Aorta Regurgitation 10. Proses Neural Network Jaringan syaraf ini terdiri dari lapisan input , 2 lapisan tersembunyi, dan lapisan output. Lapisan A-5
Prosiding SENTIA 2009 – Politeknik Negeri Malang
input terdiri atas 4 neuron. Lapisan tersembunyi utama pertama terdiri atas 10 neuron dengan fungsi aktivasi tansig, sedangkan lapisan tersembunyi kedua terdiri atas 5 neuron dengan fungsi aktivasi logsig. Lapisan output terdiri dari 1 neuron dengan fungsi aktivasi purelin. Sebelum jaringan dibangun, terlebih dahulu dilakukan preprosesing untuk melakukan normalisasi menggunakan mean dan deviasi standart. Kemudian dibangun jaringan syaraf dengan metode pembelajaran gradien descent dengan momentum (traingdm) Tentukan bobot awal dan Sebelum dilakukan pelatihan, kita tetapkan parameter terlebih dahulu parameter-parameter yang digunakan sebagai berikut: net.trainparam.epochs = 4000; net.trainParam.goal = 0.001; net.trainParam.Ir = 0.5; net.trainParam.show = 200; trainParam.mc = 0.8;
Setelah melakukan proses pelatihan beberapa kali maka akan didapatkan grafik korelasi seperti dibawah ini.
Gambar 11 Hubungan antara target dengan ouput jaringan untuk data pelatihan Setelah melakukan proses seperti diatas untuk tiap-tiap suara jantung maka dihasilkan korelasi pada setiap kasus jantung seperti ditunjukkan pada tabel dibawah ini . Untuk setiap data jantung dicari pula nilai akurasinya dengan memberikan data cek pada setiap kasus suara jantung yang banyaknya bervariasi. Kita ambil contoh saja untuk kasus jantung normal dan Mitral Stenosis. Tabel 5 Data hasil Uji Untuk Data Kasus Jantung Mitral Stenosis Data MS Orang ke1 2 3 4 5 6 7 8 9
Apakah Sesuai?
YA YA YA YA YA YA YA YA Tidak
Waktu
Epoch
Korelasi
(detik) 2k 900 2 900 2 2 120 1200 1200
200 100.000 2 100.000 2 2 32425 150.000 150.000
0.9999 0.994 0.999 0.991 0.994 0.995 0.9995 0.993 0.795
10
YA
150
35250
0.9995
Dari data tabel 4 dan 6 maka didapatkan sensitivitas SE dan Spesifisitas SP sebagai berikut dan juga ketelitiannya: Hasil Pengujian Diagnosis Positif Negatif Positif 9 (TP) 1 (FN) 10 (P) Negatif 1 (FP) 7(TN) 8 (P’) 10 (Q) 8 (Q’) 18 Sensitivitas : SE=TP/(TP + FN) =TP/P =9/10 = 0.9 Spesivisitas: SP =TN/(FP + TN) =TN/P’ = 7/8 = 0.875 Ketelitian : 90% Sensitivitas (SE) merupakan probablitas yang mempunyai pengujian positif dari sekelompok pasien yang mempunyai diagnosis positif. Spesifisitas (SP) adalah probabilitas dari pengujian negatif sekelompok pasien yang mempunyai diagnosis negatif. 11. Kesimpulan Dari uji coba dan analisis di atas dapat diperoleh beberapa kesimpulan sebagai berikut: 1. Semua data untuk setiap kasus suara jantung harus digunakan sebagai data pelatihan dan data cek, guna keperluan pengidentifikasian sinyal suara jantung. 2. Ketelitian dan Sensitivitas dari perangkat ini tergantung dari ketepatan batas korelasi yang digunakan. 3. Ketelitian dan Sensitivitas dari perangkat ini tergantung dari banyaknya iterasi yang dilakukan 4. Sensitivitas yang dicapai untuk perangkat > 0.8 sedangkan spesifisitas > 0.75 5. Ketelitian yang dicapai untuk perangkat diatas lebih dari 80%. 6. Penelitian tersebut diatas dapat mengidentifikasikan sinyal suara jantung sebanyak 9 kasus suara jantung. 12. Saran Untuk pengembangan lebih lanjut dalam penelitian auskultasi, berikut ini diberikan beberapa saran, antara lain: 1. Untuk Mendapatkan hasil keakurasian dan sensitivitas yang lebih baik hendaknya epoh dan batas korelasi adalah mendekati maksimum dalam pengambilan keputusan. Dan juga data untuk pengecekan diperbanyak lagi 2. Penelitian menggunakan data primer diperlukan sehingga menghasilkan perangkat yang real time. DAFTAR PUSTAKA Lehrer, Steven, MD. Dr. Damayanti ,DSA.,1994, Memahami Bunyi dan Bising Jantung Anak, Binarupa Aksara.
A- 6
Prosiding SENTIA 2009 – Politeknik Negeri Malang
Heart
Soundshttp://w.w.w.scii sdsu. edu/multi media/headsounds, 2004 Normal and Abnormal Heart Sounds, http://www.bioscience.org/at.lases/heart/soun d.htm, 2004 Widodo Thomas Sri, (2004)”Analisis Spektral Isyarat Jantung” Seminar on Electical Enginering (SEE 2004) hal 109-114, Universitas Achmad Dahlan, Yogyakarta, Indonesia Widodo Thomas Sri, (2005 )”Analisis Wavelet Isyarat Jantung”6 th Seminar on Intelligent Technology and Its applications hal 344-349, Institut Teknologi Sepuluh Nopember, Surabaya Indonesia
Guyton Athur C MD, Jhon E Hall PhD. Text Bokk Of Medical Physiology Purnomo Mauridhi Hery, Agus Kurniawan,” Supervised Artificial artificial neural network dan Aplikasinya”,2006 Graha Ilmu Yogyakarta Muis Saludin, 2006“ teknik Jaringan Syaraf Tiruan“, Graha Ilmu Kusumadewi, Sri, (2004) “Membangun Jaringan Saraf Tiruan Menggunakan Mathlab & Excel Link”, Graha Ilmu, Yogyakarta
A-7
Prosiding SENTIA 2009 – Politeknik Negeri Malang
Tabel 1 Korelasi Hasil Pengujian untuk Data Pelatihan Sama Dengan Data Cek
Normal MS MR VSD ASE HM ASD AR PS
Normal 0.99952 0.50196 0.52109 0.62141 0.4972 0.37183 0.37186 0.35365 0.4157
MS 0.34953 0.9995 0.76842 0.91783 0.6264 0.74691 0.56763 0.50203 0.51760
MR 0.39054 0.79442 0.96053 0.82907 0.69116 0.67463 0.62914 0.38277 0.6478
VSD 0.38882 0.80334 0.90386 0.9959 0.83782 0.653 0.57218 0.70312 0.60002
Data Target Epoh = 400 ASE 0.51561 0.87145 0.89501 0.93496 0.9995 0.90676 0.52676 0.69768 0.58353
HM 0.42011 0.83586 0.71346 0.87168 0.82001 0.9995 0.34568 0.5225 0.31312
ASD 0.5618 0.63263 0.73881 0.67293 0.55579 0.57335 0.9995 0.72939 0.76279
AR 0.48425 0.69452 0.73813 0.76474 0.73974 0.68031 0.7295 0.9995 0.6348
Tabel 2 Korelasi Hasil Pengujian untuk Data Pelatihan Tidak Sama Dengan Data Cek
Nr MS MR VSD ASE HM ASD AR PS
Nrml 0.999 0.501 0.521 0.621 0.497 0.371 0.371 0.353 0.4157
MS 0.369 0.997 0.887 0.973 0.856 0.757 0.929 0.926 0.798
Data Target Epoh = 1000, R = 0.95 VSD ASE HM 0.293 0.517 0.432 0.955 0.896 0.848 0.912 0.918 0.763 0.984 0.961 0.934 0.960 0.999 0.912 0.752 0.911 0.999 0.893 0.925 0.894 0.967 0.896 0.874 0.708 0.791 0.766
MR 0.589 0.759 0.998 0.801 0.751 0.694 0.814 0.758 0.778
ASD 0.412 0.919 0.882 0.965 0.943 0.855 0.977 0.932 0.739
AR 0.322 0.961 0.845 0.967 0.895 0.750 0.927 0.990 0.792
PS 0.563 0.843 0.826 0.882 0.865 0.845 0.843 0.832 0.999
Tabel 3 Sensitivitas Hasil Pengujian untuk Data Pelatihan Sama Dengan Data Cek
Norml MS MR VSD ASE HM AR ASD PS
Normal YA TDK TDK TDK TDK TDK TDK TDK TDK
MS TDK YA TDK TDK TDK TDK TDK TDK TDK
MR TDK TDK YA TDK TDK TDK TDK TDK TDK
Data Target Epoh = 400, r = 0.95 VSD ASE HM TDK TDK TDK TDK TDK TDK TDK TDK TDK YA TDK TDK TDK YA TDK TDK TDK YA TDK TDK TDK TDK TDK TDK TDK TDK TDK
AR TDK TDK TDK TDK TDK TDK YA TDK TDK
ASD TDK TDK TDK TDK TDK TDK TDK YA TDK
PS TDK TDK TDK TDK TDK TDK TDK TDK YA
Tabel 4 Sensitivitas Hasil Pengujian untuk Data Pelatihan Tidak Sama Dengan Data Cek
Norm MS MR VSD ASE HM AR ASD PS
NRM YA TDK TDK TDK TDK TDK TDK TDK TDK
MS TDK YA TDK YA TDK TDK TDK TDK TDK
MR TDK TDK YA TDK TDK TDK TDK TDK TDK
Data Target Epoh = 1000 ,r = 0.97 VSD ASE HM TDK TDK TDK TDK TDK TDK TDK TDK TDK YA TDK TDK TDK YA TDK TDK TDK YA TDK TDK TDK TDK TDK TDK TDK TDK TDK
AR TDK TDK TDK TDK TDK TDK YA TDK TDK
A- 8
ASD TDK TDK TDK TDK TDK TDK TDK YA TDK
PS TDK TDK TDK TDK TDK TDK TDK TDK YA
PS 0.54682 0.65131 0.76817 0.68069 0.65007 0.65833 0.80046 0.63728 0.9968
Prosiding SENTIA 2009 – Politeknik Negeri Malang
A-9