Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015 ISSN 2407-389X (Media Cetak) Hal : 43-47
APLIKASI JARINGAN SARAF TIRUAN UNTUK MEMPREDIKSI JUMLAH PASIEN RAWAT INAP DENGAN METODE BACK PROPAGATION (Studi Kasus : RSU. TERE MARGARETH) Fitri Ruth Diani Br. Simangunsong 1, Surya Darma Nasution 2 1
Mahasiswa Teknik Informatika STMIK Budi Darma 2 Dosen Tetap STMIK Budi Darma 1, 2 Jl. Sisingamangaraja No. 338 Simpang Limun Medan ABSTRAK Jaringan syaraf tiruan merupakan program computer yang dapat meniru proses pemikiran dan pengetahuan untuk menyelesaikan suatu masalah yang spesifik. Implementasi jaringan syaraf tiruan banyak dipandang sebagai cara penyimpanan pengetuhan pada bidang tertentu dalam program computer sehingga keputusan dapat diberikan secara cerdas. Salah satu implementasi yang diterapkan jaringan syaraf tiruan untuk melakukan prediksi jumlah pasien rawat inap. Diharapkan dengan sistem ini, orang awam dapat menyelesaikan masalah tertentu baik sedikit rumit sekalipun tanpa bantuan para ahli dalam bidang tersebut. Sedangkan bagi para ahli, sistem ini dapat digunakan sebagai asisten yang berpengalaman. Aplikasi yang dikembangkan ini bertujuan untuk memprediksi keterjumlah kematian dengan hanya menganalisa data tersebut. Dengan menggunakan metode Backpropagation, maka akan diketahui prediksi jumlah pasien rawat inap tersebut. Metode Backpropagation sangat bermanfaat untuk Jaringan syaraf tiruan memprediksi jumlah pasien rawat inap Kata Kunci: Jaringan Syaraf Tiruan, Prediksi Jumlah pasien rawat inap, Backpropagation
tinggi serta tampilan hasilnya agar mudah dalam pembacaan dan pendataan. II. TEORITIS A. Aplikasi Menurut Jogiayanto (2004), aplikasi merupakan program yang berisikan perintah-perintah untuk melakukan pengolahan data. Jogiyanto menambahkan aplikasi secara umum adalah suatu proses dari cara manual yang ditransformasikan ke komputer dengan membuat sistem atau program agar data diolah lebih berdaya guna secara optimal. Menurut Anisyah (2000), aplikasi adalah software yang berfungsi untuk melakukanberbagai bentuk pekerjaan atau tugas –tugas tertentu seperti penerapan , pengunaan dan penambahan data.
I. PENDAHULUAN Pada era globalisasi saat ini, teknologi semakin berkembang dengan sangat canggih. Komputer sangat berperan penting dalam perkembangan teknologi ini. Dengan segala kelebihannya, komputer telah menjadi bagian utama yang sangat diperlukan untuk membantu manusia dalam mengerjakan tugas dan menyelesaikan masalah. Perkembangan teknologi komputer yang sangat pesat telah membawa banyak perubahan ke dalam berbagai aspek kehidupan. Berbagai dampak perubahan baik sosial, budaya, ekonomi, dan yang lainnya terjadi sebagai akibat dari perkembangan teknologi komputer. Jaringan saraf tiruan merupakan sistem yang memproses informasi yang mencoba meniru kinerja otak manusia. Jaringan saraf tiruan mampu melakukan pengenalan kegiatan berbasis data masa lalu. Data masa lalu akan dipelajari oleh jaringan saraf tiruan sehingga mempunyai kemampuan untuk memberikan keputusan terhadap data yang belum pernah dipelajari. Jaringan saraf tiruan yang berupa susunan sel-sel saraf tiruan (neuron) dibangun berdasarkan prinsip-prinsip organisasi otak manusia. Rumah sakit adalah bagian integral dari suatu organisasi sosial dan kesehatan dengan fungsi menyediakan pelayanan , penyembuhan penyakit dan pencegahan penyakit kepada masyarakat. Memprediksi jumlah pasien rawat sangat penting untuk mengelola rumah sakit, mengatur sumber daya manusia dan keuangan , serta untuk mendistribusikan sumber daya material dengan benar. Apabila pasien rawat inap dapat diprediksikan dengan akurat, hal tersebut akan menjadi dasar perencanaan serta pembuatan keputusan bagi pengelola rumah sakit. Berdasarkan alasan tersebut maka dibutuhkan suatu alat bantu elektronik yang dapat menentukan jumlah pasien rawat inap dengan tingkat keakuratan yang
Gambar 1. Susunan Neuron Jaringan Saraf Tiruan Sumber : Kusumadewi, 2003 B. Aplikasi Jaringan Syaraf Tiruan Menurut Siang (2009), aplikasi jaringan syaraf tiruan dibedakan menjadi tiga yaitu : 1. Pengenalan Pola (pattern Recognition) Jaringan syaraf tiruan dapat dipakai untuk mengenali pola (missal huruf, angka, suara, atau tanda tangan) yang sudah sedikit berubah. Hal ini mirip dengan otak manusia yang mampu 43
Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015 ISSN 2407-389X (Media Cetak) Hal : 43-47
mengenali orang yang sudah beberapa waktu tidak dijumpanya (mungkin wajah/bentuk tubuhnya sudah sedikit berubah). 2. Signal Processing Jaringan saraf tiruan (model ADALINE) dapat dipakai untuk menekan noise dalam saluran telepon. 3. Peramalan Jaringan syaraf tiruan juga dapat dipakai untuk meramalkan apa yang akan terjadi dimasa yang akan datang berdasarkan pola kejadian yang ada dimasa yang lampau. Ini dapat dilakukan mengingat kemampuan jaringan syaraf tiruan untuk mengingat dan membuat generalisasi dari apa yang sudah ada sebelumnya. Pembangunan sistem AI yang didasarkan pada pendekatan jaringan syaraf tiruan secara umum meliputi langkah-langkah berikut (LiMin Fu, 1994): 1. Memilih model jaringan syaraf tiruan yang susuai didasarkan pada sifat dasar permasalahan. 2. Membangun jaringan syaraf tiruan yang sesuain dengan karakteristik domain aplikasinya 3. Melatih jaringan syaraf tiruan sesuai dengan prosedur pembelajaran dari model yang dipilih. 4. Menggunakan jaringan yang telah dilataih sebagai pembuatan inferensi atau pemecahan masalah. Jika hasilnya memuasakan maka kembali kelangkah berikutnya.
3.
4.
C. Prediksi Menurut Eddy Herjanto (2008) mendefinisikan bahwa “prediksi adalah proses peramalan kejadian dimasa datang dengan berdasarkan data variabel di masa sebelumnya.”dimasa datang dengan lebih mendasarkan pada pertimbangan intuisi, dalam prediksi juga sering digunakan data kuantitatif sebagai pelengkap informasi dalam melakukan peramalan”. Sedangkan “prakiraan didefinisikan sebagai proses peramalan. Proses peramalan terdiri dari hal-hal sebagai berikut (Handoko,1994), 1. Penentuan tujuan Pada tahap ini analis membicarakan dengan para pembuat keputusan untuk mengetahui apa kebutuhan-kebutuhan mereka dan menentukan. a. Variabel-variabel apa yang akan diestimasi. b. Siapa yang akan menggunakan hasil peramalan. c. Untuk tujuan-tujuan apa hasil peramalan akan digunakan. d. Estimasi jangka panjang atau pendek yang diinginkan e. Derajat ketetapan estimasi. f. Kapan estimasi dibutuhkan. g. Bagian-bagian peramalan yang diinginkan. 2. Pengembangan Model Pengembangan model merupakan penyajian secara lebih sederhana dari sistem yang dipelajari. Model peramalan adalah suatu kerangka analitik yang bisa dimasukkan data masukan, menghasilkan estimasi jumlah data di
waktu yang akan datang (variabel apa saja yang perlu diramal). Analis hendaknya memilih suatu model yang menggambarkan secara realistis variabel-variabel yang dipertimbangkan. Misalnya jika ingin meramalkan jumlah pengunjung yang polanya linier, maka model yang dipilih dengan menunjukkan jumlah pengunjung, X menunjukkan waktu, a 11 dan b adalah parameter–parameter yang menggambarkan posisi dan kemiringan garis pada grafik. Penerapan Model Pada tahap ini, data historis dimasukkan ke model untuk menghasilkan suatu ramalan. Dalam kasus peramalan banyaknya pengunjun, analisis menghitung nilai a dan b. Revisi dan Evaluasi Ramalan-ramalan yang telah dibuat harus senantiasa diperbaiki dan ditinjau kembali. Perbaikan mungkin dilakukan karena adanya perubahan- perubahan dalam suatu perusahaan atau instansi yangmengelola. Bagi pihak lain evaluasi merupakan perbandingan ramalanramalan dengan hasil-hasil nyata untuk menilai ketepatan penggunaan suatu metodologi atau teknik peramalan. Langkah ini diperlukan untuk menjaga kualitas estimasi-estimasi di masa yang akan datang.
D. Backpropagation Metode backpropagation (propagsi balik) merupakan metode pembelajaran lanjut yang dikembangkan dari aturan perceptron hal yang ditiru dari perceptrona dalah tahapan dalam algoritma jaringa. Metode backpropagation ini dikembangkan oleh Rumelhart, Hinton dan Williams sekitar tahun 1986 yang mengakibatkan peningkatan kembali minat terhadap jaringan saraf tiruan metode ini terdiri dari dua tahap,yaitu tahap feed forward yang diambil dari perceptron dan tahap backpropagation error. (Jaringan Syaraf Tiruan Memprediksi Ketersediaan Bahan Bakar Solar Dengan Menggunakan Metode Backpropagation, Pelita Informatika, 2301-9425, Vol iv, Edisi 2, 2013) Menurut Kusumadewi (2003), dalam pelatihan dengan backpropagationsama halnya seperti pelatihan pada jaringan syaraf yang lain. Pada jaringan feedfoward (umpan maju), pelatihan dilakukan dalam rangka perhitungan bobot sehingga pada akhir pelatihan akan diperoleh bobot-bobot yang baik. Selama proses pelatihan, bobot-bobot diatur secara iteratif untuk meminimumkan error(kesalahan) yang terjadi. Kesalahan dihitung berdasarkan rata-rata kuadrat kesalahan (MSE). Rata-rata kuadrat kesalahan juga dijadikan dasar perhitungan untuk kerja fungsi aktivasi. Sebagian besar pelatihan untuk jaringan feedfoward.(umpan maju) menggunakan gradient dari fungsi aktivasi untuk menentukan bagaimana mengatur bobot-bobot dalam rangka meminimumkan kinerja. Gradient ini ditentukan dengan menggunakan 44
Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015 ISSN 2407-389X (Media Cetak) Hal : 43-47
suatu teknik yang disebut backpropagation. Pada dasarnya, algoritma pelatihan standar backpropagationakan menggerakkan bobot dengan arah gradientnegatif. Prinsip dasar dari algoritma backpropagation.
Data yang digunakan dalam penelitian ini merupakan database jumlah pasien rawat inap pada tahun 2012 dimuilai dari bulan februari sampai tahun 2014. Data disusun dan dipilih variabel faktor-faktor dengan record data yang memiliki informasi paling lengkap. Data tersebut kemudian dibagi menjadi 2 bagian yaitu, data pelatihan (training), data pengujian (testing). X’ = 0. 8(x-a) + 0,1 b-a E. Data Input dan Target Sebelum proses pengolahan data dilakukan, perlu proses penentuan masukan (input) serta target atau hasil yang ingin didapatkan dari proses pengolahan data, sehingga akan memudahkan dalam melakukan pembagian data dan proses pengolahan data untuk mendapatkan hasil sesuai dengan apa yang diharapkan sebelumnya.
Gambar 2. Arsitektur Backpropagation Sumber : Kusumadewi ( 2003:117) III. ANALISA dan PEMBAHASAN Permasalahan yang akan dibahas dalam tugas akhir ini adalah membuat suatu sistem yang dapat memprediksi jumlah pasien rawat inap berdasarkan data yang dilatihkan yaitu data yang diambil dari RSU. TERE MARGARETH. Penerapan jaringan saraf tiruan dalam permasalahan prediksi jumlah pasien rawat inap meliputi penentuan komponen-komponen jaringan saraf tiruan yang digunakan dan mengaplikasikannya dalam permasalahannya. Untuk memprediksi jumlah pasien rawat inap ini diterapkan algoritma backpropagation.
F. Menggunakan Algoritma Pelatihan Inisialisasi semua bobot dengan bilangan acak kecil. Tabel bobot-bobot dari layer input ke layar tersembunyi. Fase 1 Perambatan Maju 1. Langkah Nol Inisialisasi bobot dengan bilangan acak kecil table bobot dari layer input ke layer tersembunyi. Interval acak kecil dimulai dari( -0.5 – 0.5) 2. Langkah 1 Proses pembelajarn dilakukan hingga kuadrat jumlah errornya kurang dari 0.01 jika kondisi penghentian belum terpenuhi lakukan langkah 2. 3. Langkah 2 Untuk setiap data pasangan pelatihan lakukan langkah 2 -8. Data pelatihan sebagai beriku 4. Langkah 3 Tiap unit masukan menerima sinyal dan meneruskan ke unit tersembunyi. 5. Langkah 4 Hitung semua keluaran di unit tersembunyi (Zj); Znetj = Vj0 + ∑𝑛𝑖=1 xivji Znet 1 = V10 + ∑𝑛𝑖=1 xivji
B. Analisa Metode Backpropagation Backpropagation merupakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Pelatihan sebuah jaringan yang menggunakan backpropagation terdiri dari tiga langkah, yaitu pelatihan pola input secara feedforward, perhitungan backpropagation dari kumpulan kesalahan dan penyesuaian bobot. Sesudah pelatihan, aplikasi dari jaringan hanya terdiri dari fase feedforward. Bahkan jika pelatihan menjadi lambat, sebuah jaringan yang dilatih dapat menghasilkan outputnya sendiri secara cepat.
Znet 1 = X1. V11 + X2 . V12 + X3 . V13 + X4 .V14 + X5. V15 + X6.V16+ X7. V17+ X8 .V18 + X9. V19 + X10 . V110+ X 11 . V 111+ X12 . V112+ X13 . V113 + X14. V114 = 0.4*0.1 +0.3*0.1 +0.2*0.9 +(-0.1)* 0.7 +0.2*0.1 +0.4*0.1 +0.1*0.1 +1.4*0.9 +0.3*0.9 +0.3*0.4 +0.1*0.9 +0.4*0.9+(-0.1)*0.9+(-0.1)*1.5 =0.04+0.03+0.18+(0.07)+0.02+0.04+0.001+0 .14+0.27+0.27+0.04+0.36+ (-0.09)+(-0.15) =1.09
C. Memprediksi Jumlah Pasien Rawat Inap dengan JST menggunakan Algorithm Backpropagation Pola pasien rawat inap setiap tahunnya akan banyak berubah. Pola pasien rawat inap akan berulang pada setiap tahun. Pengulangan ini juga akan terjadi pada pola kurva dari tahun ke tahun. Pengalaman bagian pendataan di RSU. TERE MARGARETH menunjukkan bahwa jumlah pasien rawat inap pada setiap tahunnya dipengaruhi oleh jumlah kematian pada tahun sebelumnya. Berikut ini merupakan sebagian contoh untuk mengimplementasikan algoritma yang digunakan
Znet 2 = X1. V21 + X2 . V22 + X3 . V23 + X4 .V24 + X5. V25 + X6.V26+ X7.\V27+ X8 .V28 + X9. V29 + X10 . V210+ X 11 . V 211+ X12 . V212+ X13 . V213 + X14. V214
D. Normalisasi Data 45
Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015 ISSN 2407-389X (Media Cetak) Hal : 43-47
∆v10 = α ϑ 1 =0.1 *(7.0022) * 1 =0.70022
= 1.2*0.1 +(-0.4)*0.1 +0.1*0.9 +(-0.1)*0.7 +0.1*0.1 +(- 0.1)*0.1 +0.3*0.1 +0.1*0.9 +(-0.2)*0.9 +0.4*04 +0.1*0.9 + 0.3*0.9 + 1.2*0.9 +0.4*1.5 =0.12 + (-0.04) +0.09+(-0.07) + 0.01+(-0.01) + 0.03+ 0.09+(- 0.18)+0.16+ 0.09+ 0.27 +1.08 + 0.6 =2.24
∆v20 = α ϑ 1 =0.1 *(2.3463) * 1 = 0.23463 9. Langkah 8 Perubahan bobot garis yang menuju unit keluaran. Wkj(baru) =wkj(lama) ∆wkj W11 (baru) =w11(lama) +∆w11 = 0.2 +0.5597 = 0.7597 W12(baru_= w12(lama)+ ∆w12 =1.3 + 0.2140 =1.514 Vij (baru) = v11(lama) + ∆v11 = 0.4 + 7.0022 =7.4022 Vij (baru) = v21(lama) + ∆v21 =1.2 + 0.2140 =1.414 Vij (baru) = v12(lama) + ∆v12 = 0.3 + 7.0022 =7.3022 Vij (baru) = v22(lama) + ∆v22 =0.4 + 0.2140 =0.614 Vij (baru) = v13(lama) + ∆v13 = 0.2 + 7.0022 =7.2022 Vij (baru) = v23(lama) + ∆v23 =0.1 + 0.2140 =0.314 Vij (baru) = v14(lama) + ∆v14 = -0.1 + 7.0022 =6.9022 Vij (baru) = v24(lama) + ∆v24 =-0.1 + 0.2140 =0.114 Vij (baru) = v15(lama) + ∆v15 = 0.2 + 7.0022 =7.2022 Vij (baru) = v25(lama) + ∆v25 =0.1 + 0.2141 =0.3141 Vij (baru) = v16(lama) + ∆v16 = 0.4+ 7.0022 =7.4022 Vij (baru) = v26(lama) + ∆v26 =-0.1 + 0.2141 =0.1141 Vij (baru) = v17(lama) + ∆v17 = 0.1+ 7.0022 =7.1022 Vij (baru) = v27(lama) + ∆v27 =0.3 + 0.2141 =0.5141 Vij (baru) = v18(lama) + ∆v18 = 1.4+ 7.0022 =8.4022 Vij (baru) = v28(lama) + ∆v28 =0.1 + 0.2141 =0.3141
Z1 = f (Znet 1) =
1 1 + e– 1.09 = -0.251 Z2 f (Znet 2) = 1 1 + e -2.24 = -0.096 6. Langkah 5 Hitung semua jaringan di unit keluaran (yk). Fase 2 Perambatan Balik 𝑝 Ynetk = wk 0+ ∑𝑗=1 Zjwkj 𝑝 Ynet k= wk 0+ ∑𝑗=1 Zjwkj =Z1.W1 + Z2.W2 = 0.2 *(-0.251) + 1.3 * (-0.096) =(-0.0502) + (-0.1248) =(-0.175) Y1=f(Y-netk) = 1 1+ e –ynetk = 1 1 + e 0.175 = 3.191 7 . Langkah 6 Besar nya α = 0.1 ϑ k= (tk –yk) f’ (y_netk) = (tk-yk) yk(1-yk) ϑ 1 =(t1 –y1) f’ (y_net1) = (t1-y1) y1(1-y1) =(0-3.191) * (3.191) * (1- 3.191) = (- 22.30) ∆wkj = α ϑ k zj ∆ w11 = α ϑ k z1 0.1 (-22.30) *( -0.251) = 0.5597 ∆ w12 = α ϑ k z2 0.1 (-22.30) * (-0.096) =0.2140 8. Langkah 7 Hitung faktor ϑ unit tersembunyi berdasarkan kesalahan disetiap unit tersembunyi zj.(J=1,2,3……m) ϑ netj =∑𝑚 𝑘=1 ϑ𝑘 wkj ϑ net1 = ϑ 1 * w11 =- 22.30 * 0.2 = -4.46 ϑ net2 = ϑ 1 * w12 =- 22.30 * 1.3 = -28.99 Faktor kesalahan ϑ unit tersembunyi ϑ j= ϑ netj f’ (z_netj) = ϑ net zj(1-zj) ϑ 1= ϑ net1 z1 (1-z1) = -22.30 *(-0.251)*(1-(-0.251) =7.0022 ϑ 1= ϑ net2 z2 (1-z2) = -22.30 *(-0.096) * (1-(-0.096)) = 2.3463 ∆vij =α ϑ 1 xi 46
Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015 ISSN 2407-389X (Media Cetak) Hal : 43-47
Vij (baru) = v19(lama) + ∆v19 = 0.3+ 7.0022 =7.3022 Vij (baru) = v29(lama) + ∆v29 =-0.2 + 0.2141 =0.0141 Vij (baru) = v110(lama) + ∆v110 = 0.3 + 7.0022 =7.3022 Vij (baru) = 210(lama) + ∆v210 =0.4 + 0.2141 =0.6141 Vij (baru) = 111(lama) + ∆v111 = 0.1+ 7.0022 =7.1022 Vij (baru) = v211(lama) + ∆v211 =0.1+ 0.2141 =0.3141 Vij (baru) = v112(lama) + ∆v18 = 0.4+ 7.0022 =7.4022 Vij (baru) = v212(lama) + ∆v212 =0.3 + 0.2141 =0.5141 Vij (baru) = v113(lama) + ∆v113 = - 0.1+ 7.0022 =6.9022 Vij (baru) = v213(lama) + ∆v213 =1.2 + 0.2141 =1.4141 Vij (baru) = v114(lama) + ∆v114 = -0.1+ 7.0022 =6.9022 Vij (baru) = v214(lama) + ∆v214 =0.4 + 0.2141 =0.6141
2.
3.
Jaringan Syaraf Tiruan menggunakan algoritma pelatihan backpropagation untuk memprediksi jumlah pasien rawat inap. Proses implementasi jaringan syaraf tiruan menggunakan metode aplikasi matlab dengan 28 data , di mana data akan dibagi menjadi dua bagian, bagian pertama digunakan untuk data pengujian (testing) dan bagian kedua untuk data pelatihan (Training).
VI. DAFTAR PUSTAKA 1. 2. 3. 4. 5.
6.
Tes nilai tertentu untuk berhenti belum terpenuhi terpenuhi karena nilai error dari output belum kecil dari 0,01 Denormalisasi dengan rumus : Xi =y (xmax – xmin)+ xmin 2017 =-0.175 ( 84 -75) + 75 = -0.175 * 9 + 75 =73 Keterangan : Xi = jumlah pesien rawat inap tahun 2017 Y = hasil output jaringan -0.175 Xmin = data dengan nilai minimum 75 Xmax =data dengan nilai maximum 84 IV. KESIMPULAN Kesimpulan yang dapat diambil setelah melakukan penelitian terhadap prediksi jumlah pasien rawat inap dengan menggunakan algoritma backpropagation adalah : 1. Jaringan Syaraf Tiruan dengan Algoritma Backpropagation mampu menentukan atau memprediksi jumlah pasien rawat inap. 47
Pemograman Matlab pada Sistem Pakar Fuzzy (Mohammad Yazdi Pusadan) 2015 Jong Jek Siang, 2004, Penggunaan Matriks Matlab, Yogyakarta, Penerbit Andi. Ruth Chrestanti, 2002, Jaringan Saraf Tiruan. Diyah Puspitaningrum. Pengantar Jaringan Saraf Tiruan Penerbit Andi Jogiyanto H.M., 1989, Analisis dan Disain, Penerbit Andi. Badul Anwar, 2011, Algoritma Backpropagation.