PEMBUATAN APLIKASI DIET PASIEN RAWAT INAP RUMAH SAKIT MENGGUNAKAN ARTIFICIAL NEURAL
NETWORK
1
Debora Glory Kharismadani 5206100097
Jurusan Sistem InformasiFakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember
PEMBIMBING
•Mahendrawathi Er. SMahendrawathi Er. SMahendrawathi Er. SMahendrawathi Er. S....T.T.T.T.,,,, MMMM....Sc.Sc.Sc.Sc.,,,, PhPhPhPh....DDDD
•Danu PrananthaDanu PrananthaDanu PrananthaDanu Pranantha S.T., M.Sc.S.T., M.Sc.S.T., M.Sc.S.T., M.Sc.
2
LATAR BELAKANG [1]
P E N D A H U L U A N
Salah satu divisi yang mendukung proses bisnis suatu rumah sakit adalah divisi nutrisi. Pemberian nutrisi pada pasien-pasien yang sedang dirawat di rumah sakit harus berjalan sejajar dengan penanganan masalah primernya. Masalah primer dari keadaan sakit pasien akan memburuk bila
3
Masalah primer dari keadaan sakit pasien akan memburuk bila pemberian nutrisinya kurang tepat. Hal buruk yang akan terjadi adalah pasien akan sulit sembuh dan kemungkinan akan menderita berbagai komplikasi yang sulit diatasi. Kesalahan pemberian nutrisi disebut malnutrisi. Risiko terjadinya malnutrisi pada pasien rawat inap (hospital malnutrition) berkisar antara 6 sampai 55% [1].
LATAR BELAKANG [2]
P E N D A H U L U A N
� Pada umumnya, analisis dalam pemberian menu diet bagi pasien
masih manual. Analisis berdasarkan pengalaman dan ingatan yang
dimiliki tenaga medis Divisi Nutrisi. Inilah kelemahan sistem
manual pemilihan nutrisi. Keterbatasan pengalaman dan ingatan
membuat terjadinya kemungkinan malnutrisi pada pasien.
4
membuat terjadinya kemungkinan malnutrisi pada pasien.
� Solusi: pembuatan Sistem Diet yang terkomputasi
PERUMUSAN MASALAH
P E N D A H U L U A N
•Faktor apa saja yang mempengaruhi pemilihan diet bagi pasien dalam terapi gizi•Bagaimana parameter yang optimal dari struktur ANN untuk pemilihan nutrisi bagi pasien
5
pemilihan nutrisi bagi pasien•Bagaimanakah hasil implementasi sistem diet otomatis dengan menggunakan ANN
BATASAN MASALAH
P E N D A H U L U A N
•Database yang digunakan adalah MySQL 5.0.37
•Sistem Diet Rumah Sakit ini dibuat menggunakan framework Struts2 dengan bahasa pemrograman JSP dan Java.
•Sistem yang dibuat hanya sebatas sebagai sistem pemilihan menu diet pada pasien.
6
•Sistem dibuat sesuai kondisi nasional, tidak mencakup aplikasi yang dapat digunakan dalam lingkup internasional.
•Faktor pengambil keputusan yang digunakan adalah faktor yang dipakai oleh ahli gizi dan dokter pada rumah sakit yang diteliti.
•Sistem ini ditujukan untuk pasien yang menderita penyakit tertentu, yang riskan terhadap beberapa jenis makanan dan mengakibatkan risiko buruk terhadap pasien jika terjadi kesalahan pemilihan menu makanan.
TUJUAN TUGAS AKHIR
P E N D A H U L U A N
Tujuan dari pembuatan tugas akhir ini adalah untuk membuat suatu sistem sebagai panduan pemilihan diet sehingga dapat membantu pihak rumah sakit dalam memberikan terapi gizi secara lebih tepat
7
pihak rumah sakit dalam memberikan terapi gizi secara lebih tepat dan akurat bagi pasien rawat inap rumah sakit.
Relevansi atau Manfaat Kegiatan Tugas Akhir
P E N D A H U L U A N
•Sistem ini dapat mendukung Divisi Nutrisi dalam mengambil keputusan diet yang tepat bagi pasien rumah sakit.
8
•Sistem ini dapat menjadi referensi dalam penggunaan algoritma ANN di dalam dunia medis.
PERANCANGAN
Tahap perancangan terdiri dari:1. Perancangan Data2. Perancangan Proses3. Perancangan interface
12
PERANCANGAN
Perancangan data terdiri dari:1. Perancangan Data Input2. Perancangan Data Proses3. Perancangan Data Output
PERANCANGAN DATA
13
PERANCANGAN
Perancangan data input terdiri dari:1. Perancangan Data Input Fase Training ANN
•Data riwayat penyakit pasien.riwayat penyakit pasien meliputi riwayat diabetes mellitus, hipertensi dan gagal ginjal dengan cuci darah.
•Data evaluasi kondisi pasien.
PERANCANGAN INPUT
14
2. Perancangan Data Input Fase Testing ANNStrukturnya sama dengan data input proses ANN
3. Perancangan Data Menu Pasien4. Perancangan Data Pasien
Selain memiliki struktur yang sama dengan fase testing ANN, klasifikasi
karakteristik menu pasien membutuhkan inputan:• Data primer berupa jenis kelamin dan data pendukung lainnya.• Data antropometri berupa umur, berat dan tinggi badan, faktor aktivitas,
faktor stress dan data
PERANCANGAN
Perancangan data proses terdiri dari:1. Perancangan Data struktur ANN2. Perancangan Data bobot tiap node dan layer.3. Perancangan Data karakteristik menu diet.4. Perancangan Data konversi inputan5. Perancangan Data konversi outputan
PERANCANGAN PROSES
15
PERANCANGAN
Perancangan data output terdiri dari:1. Kebutuhan nutrisi pasien dalam sehari.2. Pilihan menu diet
PERANCANGAN DATA OUTPUT
16
PERANCANGAN
Perancangan proses terdiri dari:
Perancangan fase training ANN
Perancangan fase testing ANNSama dengan proses ANN ditambahkan konversi
PERANCANGAN PROSES
17
Perancangan perhitungan kebutuhan nutrisi pasien
Perancangan pemilihan karakteristik menu diet
Perancangan pemilihan menu diet
31 Juli 2010
PERANCANGAN
Perancangan training ANN memiliki tahap sebagai berikut:
1. Penentuan jumlah hidden layer, node dalam hidden layer, jumlah iterasi serta learning rate.
2. Hitung jumlah faktor input sebagai variabel inputan dan output sebagai variabel outputandari database, tabel faktor_input dan faktor_output, sebagai penentu dimensi input[inputan] dan output[outputan].
3. Random bobot tiap koneksi dan simpan dalam array w[i][j][l], i untuk urutan neuron, j
PERANCANGAN PROSES ANN[1]
18
3. Random bobot tiap koneksi dan simpan dalam array w[i][j][l], i untuk urutan neuron, juntuk sinyal masukkan, dan l untuk urutan layer j serta threshold tiap node hidden dan output layer t[i][l].
4. Ambil data pasien untuk traning data dari database, tabel input dan output. Penggabungan data tabel input dan tabel output didapat dari tabel status. Simpan data input ke dalam array input[j+1] dan data output ke dalam array output[j+1].
5. Normalisasi data dari tabel input.6. Hitung output dengan rumus
Dan sigmoid function
31 Juli 2010
PERANCANGAN
Perancangan training ANN memiliki tahap sebagai berikut:
7. Hitung error:Pada layer terakhir memakai rumus
Pada hidden layer memakai rumus
PERANCANGAN PROSES ANN[2]
19
Pada hidden layer memakai rumus
Hitung perubahan bobot
Hitung perubahan threshold
Update bobot
Update threshold dengan rumus
31 Juli 2010
PERANCANGANPerancangan Perhitungan Kebutuhan Nutrisi
Langkah perhitungan kebutuhan nutrisi adalah sebagai berikut:
•Lihat data pasien primer(umur,berat badan, tinggi badan)
dan jenis kelamin di tabel pasien.
•Hitung Berat Badan Ideal pasien
Untuk wanita
20
Untuk pria
•Hitung Indeks Massa Tubuh pasien Untuk wanita<18.7 =kurusjika 18.7-22.6 =normaljika >22.6 =gemuk
Untuk pria<20.1 =kurusjika 20.1-25 =normaljika >25 =gemuk
31 Juli 2010
PERANCANGANPerancangan Perhitungan Kebutuhan Nutrisi
•Hitung Energi basal pasienUntuk wanita
Untuk pria
21
Namun jika IMT termasuk dalam kategori kurus ataupun gemuk, maka BB pada rumus diganti dengan BBI. Sedangkan untuk penderita diabetes mellitus rumusannya sebagai berikutUntuk wanita
Untuk pria
31 Juli 2010
PERANCANGANPerancangan Perhitungan Kebutuhan Nutrisi
Hitung Total Energi(AKG)TEE=BEE+FA+FSUntuk penderita diabetes mellitus rumusannya menjadiTEE=BEE+FA+FS-KUDan untuk penderita komplikasi diabetes mellitus dan gagal ginjal rumusnya adalah
TEE=35XbbiKeterangan:TB=Tinggi BadanBB=Berat Badan
22
BB=Berat BadanBBI=Berat Badan IdealIMT=Indeks Massa TubuhBEE=Energi BasalTEE=Energi TotalFA=Faktor aktivitasFA=5%BEE jika aktivitasnya bed restFA=10%BEE jika aktivitasnya mobilitas di tempat tidurFA=20%BEE jika aktivitasnya jalan-jalanFA=30%BEE jika aktivitasnya ringanFA=40%BEE jika aktivitasnya sedangFA=50%BEE jika aktivitasnya beratFS=Faktor StressFS=10%BEE jika menderita DM murniFS=10%BEE jika menderita gagal ginjal ringanFS=20%BEE jika menderita gagal ginjal beratKU=Koreksi UmurKU=5%BEE jika umur 40-49KU=10%BEE jika umur 50-59KU=15%BEE jika umur 60-69KU=5%BEE jika umur >=70
31 Juli 2010
PERANCANGANProses pemilihan menu diet
Menu0 -- - 1 + Y N
Karakteristik Menu0 √
-- √ √
- √ √ √
1 √ √ √ √
23
1 √ √ √ √
+ √
Y √
N √
31 Juli 2010
PERANCANGANPerancangan Antar Muka
Antar muka yang dibutuhkan dalam sistem adalah:
•Form Training dan Testing ANN•Form Input Data Pasien•Form Input Menu Diet•Form Kebutuhan Nutrisi Pasien•Form Menu Diet Tepat bagi Pasien
24
31 Juli 2010
UJI COBA DAN ANALISA
hidden layer hidden node learning rate Jumlah running
1 20 0.1 5000
Uji Validasi
25
31 Juli 2010
UJI COBA DAN ANALISAUji Coba dan Analisis Pengaruh Parameter
hidden layer hidden node jumlah running
1 20 20000
Learning rate Waktu running(m) Data sukses
Prosentase
Kesuksesan
UJI LEARNING RATE
26
Learning rate Waktu running(m) Data sukses Kesuksesan
0.1 4:59 29 0.29
0.3 4:53 19 0.19
0.5 4:38 26 0.26
31 Juli 2010
UJI COBA DAN ANALISAUji Coba dan Analisis Pengaruh Parameter
UJI LEARNING HIDDEN NODE
hidden layer jumlah running learning rate
1 20000 0.1
Jumlah Hidden
Node
Waktu
running(m) Data sukses
Prosentase
Kesuksesan
27
Node running(m) Data sukses Kesuksesan
15 4:03 21 0.21
20 4:59 29 0.29
25 5:30 30 0.30
31 Juli 2010
UJI COBA DAN ANALISAUji Coba dan Analisis Pengaruh Parameter
UJI LEARNING HIDDEN LAYER
hidden node jumlah running learning rate
25 20000 0.1
Jumlah Hidden Layer
Waktu
running(m) Data sukses
Prosentase
Kesuksesan
28
1 5:30 30 0.30
2 7:47 44 0.48
3 10:35 81 0.81
31 Juli 2010
UJI COBA DAN ANALISAUji Coba Kinerja ANN
Uji coba kinerja ANN ada 11 skenario:•Skenario 1 Uji Pasien Diabetes Murni•Skenario 2 Uji Pasien Diabetes dengan Hipertensi•Skenario 3 Uji Pasien Diabetes dengan Kolesterol•Skenario 4 Uji Pasien Diabetes dengan Asam Urat•Skenario 5 Uji Pasien Diabetes dengan Gagal Ginjal
29
•Skenario 5 Uji Pasien Diabetes dengan Gagal Ginjal•Skenario 6 Uji Pasien Diabetes dengan Gagal Ginjal Hemodialisa•Skenario 7 Uji Pasien Diabetes dengan Infeksi(Gangren)•Skenario 8 Uji Pasien Diabetes dengan Gagal Ginjal Dan Hipertensi•Skenario 9 Uji Pasien Diabetes dengan Gagal Ginjal Hemodialisa Dan Hipertensi•Skenario 10 Uji Pasien Diabetes dengan Gagal Ginjal Dan Infeksi•Skenario 11 Uji Pasien Diabetes dengan Kolesterol Dan Asam Urat
Dari 11 skenario diatas, uji coba berhasil pada uji coba 1-10. Sedangkan 11 hasilnya tidak sesuai.
31 Juli 2010
Kesimpulan dan saran
•Kesimpulan:•Pemilihan menu diet bergantung pada data riwayat penyakit dan evaluasi kondisi pasien. •Metode ANN dapat dijadikan sebagai solusi untuk memberikan saran menu diet dengan tingkat keakurasian lebih dari 90% bagi pasien berdasarkan kesuksesan 10 skenario dari 11 skenario kasus yang diambil.•Untuk mengatasi kesalahan pengambilan keputusan dengan metode ANN dapat menggunakan fasilitas pemilihan karakteristik menu manual. •Dari uji coba validitas didapatkan total error 29.486 dari 400 data training dengan jumlah iterasi sebanyak 5000.•Dari uji coba learning rate dengan nilai learning rate 0.1, 0.3 dan 0.5 didapatkan prosentase kesuksesan secara berurutan 0.29, 0.19, dan 0.26 dari 100 testing data. •Dari uji coba hidden node dengan nilai hidden node 15, 20 dan 25 didapatkan prosentase kesuksesan secara berurutan 0.21,
30
•Dari uji coba hidden node dengan nilai hidden node 15, 20 dan 25 didapatkan prosentase kesuksesan secara berurutan 0.21, 0.29, dan 0.30 dari 100 testing data. •Dari uji coba hidden layer dengan nilai hidden layer 1, 2 dan 3 didapatkan prosentase kesuksesan secara berurutan 0.30, 0.48,dan 0.81 dari 100 testing data. •Klasifikasi karakteristik menu dengan metode ANN sejauh ini akan mendapatkan prosentase kesuksesan terbaik dengan menggunakan 3 hidden layer, 25 hidden node dan learning rate 0.1.
•Saran:•Pada penelitian ini hanya meliputi beberapa jenis penyakit. Sistem ini selanjutnya dapat dikembangkan dengan lingkup permasalahan yang lebih besar. Contoh permasalahan yang dapat diambil adalah pemilihan menu diet bagi pasien komplikasi penyakit diabetes, gagal ginjal dan jantung.•Pada penelitian ini masih menemui banyak data yang tidak lengkap. Data kondisi pencernaan pasien terkadang tidak tercatat. Padahal data kondisi pencernaan pasien mempengaruhi keputusan pemilihan bentuk dan cara pemberian makanan. Jadi, seharusnya kelengkapan data kondisi pasien tersebut tercatat secara lengkap.