rancang bangun aplikasi instalasi rawat inap dengan

5
Rancang Bangun Aplikasi Instalasi Rawat Inap dengan Paradigma Pengembangan Terintegrasi Menggunakan Enterprise Service Bus (ESB) Bambang Setiawan, Radityo Prasetianto Wibowo, Sofyan Rachman Jurusan Sistem Informasi, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember, Surabaya, Indonesia Abstrak Rumah sakit umum pada umumnya telah memiliki unit pelayanan terpadu seperti Unit Gawat Darurat (UGD), Farmasi, Instalasi Rawat Inap (IRNA) , Instalasi Rawat Jalan (IRJA), dan beberapa layanan yang lainnya. Setiap titik pelayanan dari rumah sakit tersebut biasanya memiliki aplikasi tersendiri yang memungkinkan tidak adanya integritas data sehingga tidak valid apabila data digunakan pada aplikasi lainnya. Oleh karena itu diperlukan rancangan dan aplikasi Instalasi Rawat Inap (IRNA) yang dapat terintegrasi dengan aplikasi dari unit pelayanan yang ada di rumah sakit. Metode yang digunakan untuk mengintegrasikan aplikasi dengan aplikasi lain adalah dengan menggunakan teknologi Webservice dan Enterprise Service Bus (ESB) . dengan menggunakan teknologi soap . ESB mengintegrasikan semua aplikasi yang ada dengan cara menerima permintaan pesan yang dikirim menggunakan webservice kemudian permintaan pesan akan diteruskan ke aplikasi yang sesuai. Hasil yang dicapai dari Tugas Akhir ini adalah aplikasi Instalasi Rawat Inap yang terintegrasi dengan modul Rekam Medis, Instalasi Rawat Jalan dan Point of Sales yang terdapat pada Sistem Informasi Rumah Sakit. Fitur aplikasi Instalasi Rawat Inap yang membutuhkan web servis dari aplikasi lain adalah fitur daftar pasien dan fitur pemberian tindakan. Hanya saja penerapan web service pada jpaController akan semakin memperlambat waktu load pada halaman aplikasi. Key Words: Instalasi Rawat Inap, Web Service , Enterprise Service Bussines. 1. Pendahuluan Beragam rumah sakit di indonesia ini pada umumnya telah memiliki sebuah sistem informasi untuk menunjang segala macam kegiatan bisnis yang ada pada rumah sakit. Hanya saja kebanyakan rumah sakit hanya membangun sebuah sistem informasi berdasarkan kebutuhan bisnis pada sebuah titik tertentu sehingga apabila rumah sakit ingin mengembangkan bisnisnya maka membutuhkan rekayasa ulang yang akan menghabiskan banyak waktu dan biaya. Rumah sakit umum rata – rata memiliki berbagai layanan terpadu seperti Unit Gawat Darurat, Farmasi, Instalasi Rawat Inap, Instalasi Rawat Jalan, dan beberapa layanan yang laiinya. Dengan banyaknya unit layanan tersebut apabila masing – masing unit bisnis tersebut memiliki sebuah sistem informasi yang berdiri sendiri tanpa terintegrasi dengan unit bisnis yang lainnya maka waktu yang dibutuhkan untuk menjalankan sebuah proses bisnis akan sangat lama. Oleh karena itu rumah sakit memerlukan sebuah rancangan dan aplikasi yang terintegrasi dengan masing - masing unit bisnis yang lainnya. Berdasarkan sebuah paper yang membahas permasalahan yang terkait dengan integrasi sebuah sistem dalam rumah sakit, disebutkan bahwa dengan munggunakan framework Organic Healthcare Information System (OHIS) yang sifatnya “organic” maka setiap modul aplikasi yang ada maupun yang belum di implementasikan dapat diintegrasikan dengan modul - modul yang lainnya. Dasar teknologi pada framework OHIS adalah Service-Oriented Architecture (SOA). Hanya saja terdapat sebuah permasalahan lain yang muncul yaitu pada saat pengembangan software dilakukan oleh vendor pembangun software yang berbeda maka terdapat kemungkinan standard data yang berbeda sehingga data tidak akan bisa diterjemahkan untuk kelanjutan proses yang dilakukan aplikasi unit bisnis yang lain. Oleh karena itu untuk mengatasi hal tersebut, terdapat sebuah teknologi yang mampu menerjemahkan setiap tenologi integrasi data – data yang ada dapat dibaca oleh masing – masing aplikasi yang terhubung. Teknologi tersebut bernama Enterprise Service Bus (ESB). 2. Tinjauan Pustaka Dalam pembangunan aplikasi, digunakan beberapa dasar dari beberapa sumber bacaan.

Upload: others

Post on 16-Oct-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rancang Bangun Aplikasi Instalasi Rawat Inap dengan

Rancang Bangun Aplikasi Instalasi Rawat Inap dengan Paradigma Pengembangan Terintegrasi Menggunakan Enterprise Service Bus (ESB)

Bambang Setiawan, Radityo Prasetianto Wibowo, Sofyan Rachman

Jurusan Sistem Informasi, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember, Surabaya, Indonesia

Abstrak Rumah sakit umum pada umumnya telah memiliki unit pelayanan terpadu seperti Unit Gawat Darurat (UGD), Farmasi, Instalasi Rawat Inap (IRNA) , Instalasi Rawat Jalan (IRJA), dan beberapa layanan yang lainnya. Setiap titik pelayanan dari rumah sakit tersebut biasanya memiliki aplikasi tersendiri yang memungkinkan tidak adanya integritas data sehingga tidak valid apabila data digunakan pada aplikasi lainnya. Oleh karena itu diperlukan rancangan dan aplikasi Instalasi Rawat Inap (IRNA) yang dapat terintegrasi dengan aplikasi dari unit pelayanan yang ada di rumah sakit. Metode yang digunakan untuk mengintegrasikan aplikasi dengan aplikasi lain adalah dengan menggunakan teknologi Webservice dan Enterprise Service Bus (ESB) . dengan menggunakan teknologi soap . ESB mengintegrasikan semua aplikasi yang ada dengan cara menerima permintaan pesan yang dikirim menggunakan webservice kemudian permintaan pesan akan diteruskan ke aplikasi yang sesuai. Hasil yang dicapai dari Tugas Akhir ini adalah aplikasi Instalasi Rawat Inap yang terintegrasi dengan modul Rekam Medis, Instalasi Rawat Jalan dan Point of Sales yang terdapat pada Sistem Informasi Rumah Sakit. Fitur aplikasi Instalasi Rawat Inap yang membutuhkan web servis dari aplikasi lain adalah fitur daftar pasien dan fitur pemberian tindakan. Hanya saja penerapan web service pada jpaController akan semakin memperlambat waktu load pada halaman aplikasi. Key Words: Instalasi Rawat Inap, Web Service , Enterprise Service Bussines.

1. Pendahuluan

Beragam rumah sakit di indonesia ini pada umumnya telah memiliki sebuah sistem informasi untuk menunjang segala macam kegiatan bisnis yang ada pada rumah sakit. Hanya saja kebanyakan rumah sakit hanya membangun sebuah sistem informasi berdasarkan kebutuhan bisnis pada sebuah titik tertentu sehingga apabila rumah sakit ingin mengembangkan bisnisnya

maka membutuhkan rekayasa ulang yang akan menghabiskan banyak waktu dan biaya. Rumah sakit umum rata – rata memiliki berbagai layanan terpadu seperti Unit Gawat Darurat, Farmasi, Instalasi Rawat Inap, Instalasi Rawat Jalan, dan beberapa layanan yang laiinya. Dengan banyaknya unit layanan tersebut apabila masing – masing unit bisnis tersebut memiliki sebuah sistem informasi yang berdiri sendiri tanpa terintegrasi dengan unit bisnis yang lainnya maka waktu yang dibutuhkan untuk menjalankan sebuah proses bisnis akan sangat lama. Oleh karena itu rumah sakit memerlukan sebuah rancangan dan aplikasi yang terintegrasi dengan masing - masing unit bisnis yang lainnya.

Berdasarkan sebuah paper yang membahas permasalahan yang terkait dengan integrasi sebuah sistem dalam rumah sakit, disebutkan bahwa dengan munggunakan framework Organic Healthcare Information System (OHIS) yang sifatnya “organic” maka setiap modul aplikasi yang ada maupun yang belum di implementasikan dapat diintegrasikan dengan modul - modul yang lainnya. Dasar teknologi pada framework OHIS adalah Service-Oriented Architecture (SOA). Hanya saja terdapat sebuah permasalahan lain yang muncul yaitu pada saat pengembangan software dilakukan oleh vendor pembangun software yang berbeda maka terdapat kemungkinan standard data yang berbeda sehingga data tidak akan bisa diterjemahkan untuk kelanjutan proses yang dilakukan aplikasi unit bisnis yang lain. Oleh karena itu untuk mengatasi hal tersebut, terdapat sebuah teknologi yang mampu menerjemahkan setiap tenologi integrasi data – data yang ada dapat dibaca oleh masing – masing aplikasi yang terhubung. Teknologi tersebut bernama Enterprise Service Bus (ESB).

2. Tinjauan Pustaka

Dalam pembangunan aplikasi, digunakan beberapa dasar dari beberapa sumber bacaan.

Page 2: Rancang Bangun Aplikasi Instalasi Rawat Inap dengan

A. Framework OHIS

OHIS adalah suatu framework yang memberikan solusi alternatif bagi pengembangan sistem informasi rumah sakit dengan hanya membuat desain perangkat lunak sebagai modul service dan membuat database untuk tiap modul untuk bisa mengimplementasikannya(Mahananto, P.W., N.A., & E.R., 2010). Dengan diterapkannya OHIS, pengembang bisa melakukan pembangunan aplikasi dimulai dari yang kecil ataupun menerapkan yang sudah kompleks sekalipun dikarenakan sudah adanya standar framework dalam penulisan kode pada setiap aplikasi baru yang akan dibuat. Selain itu, juga terdapat dukungan framework SOA didalam OHIS yang menggunakan teknologi webservice yang mampu mengintegrasikan antar modul pada framework OHIS. Hal yang juga penting pada framework ini adalah adanya service locator,service loader, dan service requester yang memungkinkan untuk terjadinya integrasi antar modul, seperti yang terdapat pada gambar 1 :

Gambar 1 Arsitektur Framework OHIS.

B. Web Service Teknologi web service memberikan

kemudahan untuk mengakses informasi dari berbagai sumber tanpa mempedulikan database apa yang digunakan oleh server yang memberikan informasi kepada aplikasi yang menjadi klien web service tersebut. Web service sebenarnya adalah kumpulan dari fungsi dan method yang terletak pada suatu server web service yang dapat di request oleh klien dengan memanggil method yang disediakan oleh server web service, klien sendiri bisa bebas dikembangkan menggunakan bahasa

pemrograman maupun berjalan di platform apa saja

Berikut adalah komponen yang terdapat dalam web service :

� Simple Object Access Protocol (SOAP)

SOAP merupakan suatu format standar dari XML yang dapat diterjemahkan oleh web service untuk melakukan proses request dan response antara klien dan server web service yang menggunakan protokol Hypertext Transfer Protocol (HTTP) sebagai protokol pengiriman datanya.

� Web Service Definition Language (WSDL)

WSDL merupakan suatu dokumen dalam format XML yang berisikan penjelasan suatu informasi detail dari web service. Jadi untuk bisa mengakses suatu web service dibutuhkan terlebih dahulu alamat wsdl dari web service tersebut agar bisa digunakan. Di dalam WSDL sendiri dijelaskan method-mehod apa yang bisa dipanggil, apa saja parameternya yang dibutuhkan dalam melakukan request, apa saja hasil respon setelah melakukan request dan juga termasuk tipe data yang dibutuhkan saat melakukan request dan tipe data yang dikembalikan saat respon dilakukan. (Christensen, 2001)

C. Enterprise Service Bus

ESB adalah infrastruktur perangkat lunak yang berlaku sebagai lapisan perantara dari middleware yang menjembatani persyaratan yang tidak bisa dipenuhi oleh webservice, seperti :

• Integrasi antar webservice dan teknologi middleware yang berbeda,

• Tingkat keamanan, ketergantungan dan robustness yang tinggi

• Kontrol dan pengelolaan dari komunikasi dan servis dari webservice

Gambar 2 adalah arsitektur aplikasi apabila sudah terdapat ESB sebagai lapisan perantara:

Page 3: Rancang Bangun Aplikasi Instalasi Rawat Inap dengan

Gambar 2 Arsitektur umum aplikasi setelah menggunakan ESB.

3. Pembahasan

Pembangunan aplikasi Instalasi Rawat Inap yang selanjutnya disebut dengan IRNA dilakukan dengan menggunakan tools Netbeans, Framework ZK untuk membuat tampilan aplikasi, SOAP untuk webservice dan WSO2 sebagai esb yang nantinya menjadi jembatan komunikasi antar aplikasi instalasi rawat inap dengan aplikasi lainnya. Dalam pembangunan aplikasi IRNA ini dilakukan beberapa tahapan, yaitu:

• Studi literatur dan pembahasan • Survey dan pengambilan dokumen yang

diperlukan. • Perancangan desain system • Standarisasi web service • Pembuatan aplikasi

o Implementasi aplikasi o Implementasi webservice o Impelentasi esb

• Pengujian sistem

3.1. Studi literatur

Studi literatur yang dilakukan dalam pembuatan tugas akhir ini adalah pembelajaran dan pemahaman literatur yang berkaitan dengan permasalahan yang ada. Beberapa yang akan dipelajari seperti cara membuat webservice, contoh sistem informasi rumah sakit, membuat sistem informasi menggunakan Java Persistance API (JPA), ZK, dan teknologi pendukung lainnya. Literatur didapatkan dari banyak sumber seperti buku, video tutorial dan halaman website.

3.2. Survey dan pengambilan dokumen yang diperlukan

Tahapan ini menghasilkan informasi mengenai proses bisnis dari IRNA yang nantinya akan diterapkan dalam aplikasi IRNA. Hasil dari tahapan ini menjadi acuan dalam pembuatan aplikasi.

3.3. Perancangan desain sistem.

Tahapan ini menghasilkan 1) GUI Storyboard yang digunakan sebagai acuan untuk jalannya aplikasi IRNA dilihat dari desain tampilannya, 2) Domain model yang menunjukkan objek-objek yang digunakan dalam pembangunan aplikasi, 3) Diagram dan deskripsi use case yang menunjukkan alur yang mungkin terjadi ketika menggunakan aplikasi, 4) Diagram sequence yang menunjukkan jalannya aplikasi dilihat dari sisi aplikasi, 5) Test case merupakan rancangan yang digunakan dalam tahapan pengujian aplikasi dari sisi fungsional.

3.4. Standarisasi web service

Pada tahapan ini menghasilkan katalog servis yang berisi kebutuhan data aplikasi IRNA dari aplikasi lain dan kebutuhan data dari aplikasi lain dari aplikasi IRNA. Pada tabel 1 dibawah ini adalah contoh dari hasil pembahasan standarisasi webservice.

Tabel 1. Servis katalog pada aplikasi IRNA.

Server Servis

Servis Flow Servis Keterangan

Aplikasi Rekam Medis

List data pasien

-Token (ip, code) -getListPasien -logout -(token)

Servis untuk mendapatkan list data pasien

Aplikasi Point of Sales

addPelayananIrna

-Token (ip, code) -AddPelayananIRNA() -logout (token)

Mengirimkan data tindakan medis atau tindakan pengobatanyang dilakukan terhadap pasien

Aplikasi Human Resources

Login Token (ip, code) Login (username, password, ip) Logout

3.5. Pembuatan Aplikasi

Page 4: Rancang Bangun Aplikasi Instalasi Rawat Inap dengan

Hasil dari tahapan sebelumnya digunakan dalam tahapan pembuatan aplikasi ini.

3.5.1. Implementasi aplikasi

• Struktur kelas tampilan Pada implementasi pengembangan aplikasi Instalasi Rawat Inap (IRNA) penulis menggunakan ZK. Fungsi kelas antar muka adalah sebagai membuat tampilan aplikasi yang nantinya akan digunakan oleh pengguna aplikasi. Gambar 3 menunjukkan salah satu contoh kelas tampilan yang digunakan.

Gambar 3. Contoh potongan kode

3.5.2. Implementasi webservice

Pembuatan servis pada aplikasi ini mengikuti servis katalog yang sudah dibahas pada bab sebelumnya. Berikut salah satu contoh potongan kode pada implementasi web servis sebagai server dapat dilihat pada ga

Gambar 4. Contoh potongan kode untuk implementasi webservice

3.5.3. Implementasi esb

Sesuai dengan tujuan pada tugas akhir ini, aplikasi rawat inap akan diintegrasikan dengan aplikasi lain menggunakan teknologi Enterprise Service Bus (ESB)Fungsi ESB adalah untuk melakukan pengintegrasian antar aplikasi yang ada melalui webservice antar aplikasi.Pada gambar 5 dibawah ini adalah salah satu contoh penerpan esb pada aplikasi.

Hasil dari tahapan sebelumnya digunakan dalam

Pada implementasi pengembangan aplikasi Instalasi Rawat Inap (IRNA) penulis

ZK. Fungsi kelas antar muka adalah sebagai membuat tampilan aplikasi yang nantinya akan digunakan oleh pengguna aplikasi.

menunjukkan salah satu contoh kelas

. Contoh potongan kode kelas tampilan.

3.5.2. Implementasi webservice

Pembuatan servis pada aplikasi ini mengikuti servis katalog yang sudah dibahas pada bab sebelumnya. Berikut salah satu contoh potongan kode pada implementasi web servis sebagai server dapat dilihat pada gambar 4.

. Contoh potongan kode untuk implementasi

Sesuai dengan tujuan pada tugas akhir ini, aplikasi rawat inap akan diintegrasikan dengan aplikasi lain

rprise Service Bus (ESB). Fungsi ESB adalah untuk melakukan pengintegrasian antar aplikasi yang ada melalui webservice antar

Pada gambar 5 dibawah ini adalah salah satu

Gambar 5. Cont

3.6. Pengujian sistem

Tahapan ini meluputi 2 tahapan pengujian yaitu 1) uji coba fungsional aplikasi menggunakan test case yang telah dibuat sebelumnya 2) uji coba non fungsional dengan menguji performa dari system. Hasil dari uji coba fungsional adalah aplikais telah menunjukkan pemenuhan kebutuhan fungsional.

Uji coba Non Fungsional atau uji coba performa sistem. Untuk uji coba performa ini dahulu dengan menggunakan mendapatkan halaman yang memlama, kemudian halaman yang paling lambat tersebut diuji lagi dengan menggunakan fitur yang ada pada Netbeans 6.8 yaitu menggunakan fitur ini, dapat terlihat method mana yang membuat load time menjadi lamadilakukan optimasi lebih lanjut pada method atau fungsi tersebut. Berikut pada tabel 5dengan Apache Benchmarkyang dilakukan pada saat melakukan uji coba adalah menggunakan parameter –total request yang dilakukan adalah 1000 request, sedangkan untuk parameter 10 sampai 100 untuk bisa mendapatkan grafik dari halaman yang paling sedikit request per second nya

Tabel 2. Tabel hasil uji coba request per second.

Request per Second

Nama Halama

n

10 concurrent user

50concurrent user

Halaman

Login 12.231 42.37

. Contoh penerapan esb.

Tahapan ini meluputi 2 tahapan pengujian yaitu 1) uji coba fungsional aplikasi menggunakan test case yang telah dibuat sebelumnya 2) uji coba non fungsional dengan menguji performa dari system.

fungsional adalah aplikais telah pemenuhan kebutuhan fungsional.

Uji coba Non Fungsional atau uji coba performa sistem. Untuk uji coba performa ini dilakukan terlebih dahulu dengan menggunakan Apache Benchmark untuk mendapatkan halaman yang memiliki request time paling lama, kemudian halaman yang paling lambat tersebut diuji lagi dengan menggunakan fitur yang ada pada

profiler project. Dengan menggunakan fitur ini, dapat terlihat method mana yang membuat load time menjadi lama, sehingga bisa dilakukan optimasi lebih lanjut pada method atau fungsi

Berikut pada tabel 5-3 adalah hasil uji performa Apache Benchmark pada aplikasi IRJA. Setting

yang dilakukan pada saat melakukan uji coba adalah –n sebesar 1000 yang artinya

total request yang dilakukan adalah 1000 request, sedangkan untuk parameter –c diubah-ubah mulai dari 10 sampai 100 untuk bisa mendapatkan grafik dari halaman yang paling sedikit request per second nya :

. Tabel hasil uji coba request per second.

Request per Second (ms)

50 concurrent user

100 concurr

ent user

1000 concurrent user

42.373 56.20 95.49

Page 5: Rancang Bangun Aplikasi Instalasi Rawat Inap dengan

Halaman

Pasien 12.201 51.76 56.253 82.24

Halaman

Anamnesa

11.661 50.93 61.153 84.38

Halaman

tindakan

11.881 51 61.504 96.69

Berdasarkan data pada tabel 2 dapat diambil kesimpulan bahwa halaman yang paling banyak memakan resource adalah halaman pasien karena memiliki request per second paling rendah dan time per request paling tinggi. Oleh karena itu halaman pasien akan kembali di uji performa menggunakan Netbeans profiler untuk mendapatkan method atau fungsi yang menyebabkan kelambatan request.

Setelah dilakukan uji coba kedua untuk mengetahui penyebab kelambatan request menggunakan netbeans profiler menghasilkan analisis method yang membuat aplikasi berjalan lambat adalah jpaController pada method findPasienEntities. Hal ini disebabkan oleh banyaknya data yang di ambil dari database mencapai 5000 data dalam satu kali request dan langsung di binding ke dalam tabel yang terdapat pada halaman pasien. Solusi yang dapat digunakan untuk mengatasi permasalahan ini adalah menggunakan limit pengambilan data pada database.

Dapat diambil analisis juga apabila web service dilakukan pada method findPasienEntities ini maka dapat dimungkinkan waktu load aplikasi akan semakin lama karena dari invocation nya saja, untuk method ini sangat sering diakses, karena apabila dilakukan web service maka akan terjadi waktu tambahan untuk mengambil data dan menginputkan data pada database daripada mengakses langsung lewat database IRNA 4. Kesimpulan

Dari pembahasan di atas, dapat diambil beberapa kesimpulan sebagai berikut.

1. Aplikasi Instalasi Rawat Inap yang dibangun dapat terintegrasi dengan modul Rekam Medis dan Point of Sales, dan Instalasi Rawat Inap.

2. Fitur aplikasi IRNA yang membutuhkan servis dari modul lain adalah fitur daftar pasien dan pemberian tindakan.

3. Penerapan webservis pada method jpaController akan memperlambat waktu load pada halaman aplikasi.

5. Daftar Pustaka [1]Doug Rosenberg, Matt Stephens. Use Case Driven Object Modeling with UML Theory and Practice. [2]Holil Noor Ali, A., P.W., Radityo., Er, Mahendrawati., & Nisafani, A. S. (n.d.). Restructuring Components of Integrated Health Information System In Outpatient and Inpatient Departement Using Service Oriented Architecture. [3]Kemastuti, E., Noor Ali, A. H., & Mahananto, F. (n.d.). Pembangunan Modul Rawat Inap (IRNA) Dan Pengintegrasian Dalam Purwarupa Sistem Informasi Rumah Sakit Terpadu (SIRST) Berbasis SOA. [4]Kurniawan, H. (2008, Januari 22). Sistem Pengolahan Data Rawat Inap / Sistem Pengolahan Data Sensus Harian Rawat Inap. Retrieved Januari 16, 2011, from Hakapress - Berbagi Sesuatu: http://heryant.web.ugm.ac.id/artikel2.php?pageNum_rk=1&totalRows_rk=15&id=37 [5]Mahananto, F., P.W, Radityo., Holil N.A, A., & Er, Mahendrawati. (n.d.). OHIS : SOA Based Grow-able Healthcare Information System. [6]Raja. (u.d.). article: 5-introduction-to-java-persistence-apijpa-1. Hämtat från javabeat: http://www.javabeat.net/articles/5-introduction-to-java-persistence-apijpa-1.html den 30 december 2010 [7]W3School. (n.d.). Introduction to Web Services. Retrieved from W3School: http://www.w3schools.com/webservices/ws_intro.asp