PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PENERAPAN BASIS DATA MULTIMEDIA MENGGUNAKAN FORMAT DICOM PADA SISTEM PENGELOLAAN REKAM MEDIS STUDI KASUS DI RS PARU RESPIRA
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh: Rekiyan Seto 125314036
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2017
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MULTIMEDIA DATABASE IMPLEMENTATION USING DICOM FORMAT ON MEDICAL RECORD MANAGEMENT SYSTEM CASE OF STUDY AT RS PARU RESPIRA
THESIS
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Komputer Degree In Informatic Engineering Department
By: Rekiyan Seto 125314036
DEPARTMENT OF INFORMATIC ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2017
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSETUJUAN
SKRIPSI PENERAPAN BASIS DATA MULTIMEDIA MENGGUNAKAN FORMAT DICOM PADA SISTEM PENGELOLAAN REKAM MEDIS STUDI KASUS DI RS PARU RESPIRA
Disiapkan dan ditulis oleh : Rekiyan Seto 125314036
Telah disetujui dan disahkan oleh: Yogyakarta, …….....................
Dosen Pembimbing,
Agnes Maria Polina S.Kom., M.Sc.
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PENGESAHAN SKRIPSI
PENERAPAN BASIS DATA MULTIMEDIA MENGGUNAKAN FORMAT DICOM PADA SISTEM PENGELOLAAN REKAM MEDIS STUDI KASUS DI RS PARU RESPIRA
Yang dipersiapkan dan ditulis oleh: Rekiyan Seto 125314036 Telah dipertahankan di depan Panitia Penguji Pada Tanggal 11 Januari 2017 Dan dinyatakan memenuhi syarat
Susunan Panitia Penguji: Nama Lengkap
Tanda Tangan
Ketua
: Iwan Binanto M.Cs.
…………………
Sekretaris
: JB. Budi Darmawan S.T., M.Sc.
…………………
Anggota
: Agnes Maria Polina S.Kom., M.Sc.
…………………
Yogyakarta,……………………………. Fakultas Sains dan Teknologi Universitas Sanata Dharma Dekan,
Sudi Mungkasi, S.Si.,M.Math.Sc.,Ph.D
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN “Janganlah engkau menyukai tidur, supaya engkau tidak jatuh miskin, bukalah matamu dan engkau akan makan sampai kenyang.” (Amsal 20 : 13)
Karya ini saya persembahkan kepada :
Tuhan Yesus Kristus, Keluarga, Dosen dan Sahabat Terimakasih untuk semua doa, kasih sayang, perhatian, dan semangat serta bantuan yang kalian berikan dalam bentuk apapun juga. Terimakasih untuk selalu ada dan tidak pernah meninggalkan saya dalam keadaan susah maupun senang.
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN KEASLIAN KARYA Saya menyatakan dengan sesungguhnya bahwa skripsi saya yang saya tulis ini tidak memuat karya atau bagian orang lain, kecuali yang tekah saya sebutkan dalam daftar kutipan dari daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta,………………………. Penulis
Rekiyan Seto
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma : Nama
: Rekiyan Seto
Nim
: 125314036
Demi pengembangan ilmu pengetahuan, saya memberikan Kepada Perpustakaan Universitas Sanata Dharma, karya ilmiah saya yang berjudul :
Penerapan Basis Data Multimedia Menggunakan Format Dicom Pada Sistem Pengelolaan Rekam Medis Studi Kasus Di Rs Paru Respira
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan Kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberi royalty kepada saya, selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini saya buat dengan sebenarnya
Dibuat di Yogyakarta,…..……………2017 Yang Menyatakan,
Rekiyan Seto
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAK Rekam medis adalah berkas yang berisi catatan dan dokumen antara lain identitas pasien, hasil pemeriksaan, pengobatan yang telah diberikan, serta tindakan dan pelayanan lain yang telah diberikan kepada pasien. Tidak semua rekam medis berupa file teks namun ada juga yang berformat raster misalnya hasil rontgen. Cara yang paling banyak digunakan untuk mengelola rekam medis dengan komputer adalah pencatatan rekam medis berbasis teks dan citra yang tidak terpadu. Permasalahan yang timbul akibat rekam medis elektronik yang tidak terpadu ini adalah ketika pasien tidak membawa hasil rontgent saat pemeriksaan. Dokter tidak dapat melakukan pemeriksaan karena dokter harus melihat hasil rontgent beserta interpretasinya untuk acuan pemeriksaan. Oleh karena itu dalam tugas akhir ini dibangun sistem rekam medis elektronik yang mampu menangani penyimpanan data rekam medis berbasis teks dan data hasil rontgent paru-paru (format dicom) secara terpadu yang dapat membantu tenaga kesehatan untuk melihat perkembangan kesehatan pasien. Sistem ini dibangun menggunakan Bahasa pemrograman JSP dan pengolahan data menggunakan Oracle 11g. Sistem ini juga memanfaatkan basis data multimedia untuk memanipulasi data multimedia dicom. Berdasarkan pengujian terhadap pengguna, sistem ini memiliki tingkat kegunaan yang tinggi dan memiliki tingkat kemudahan penggunaan yang tinggi.
Kata kunci : Rekam Medis, Radiologi, Basis Data, Multimedia, Rontgen
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
Medical record is a file that contains records and documents include patient’s identity, examination, treatment has been given, and actions or other services that have been given to patients. Not all medical records in a text file format, but there are also raster eg x-rays. The most way used to manage medical records with a computer is recording a textbased medical records and images that are not integrated. Problems arised from this unintegrated electronic medical record is when the patient does not bring hard copy of x-ray results. The doctor can not perform the tests because the doctor has to look at the x-ray results and the interpretation for reference. Therefore, in this thesis built electronic medical record system that can handle the storage of medical records and text-based data from lung rontgent (DICOM format) in an integrated manner that can help health workers to see the development of the patient's health. The system is built using JSP programming languages and data processing using Oracle 11g. The system also uses multimedia data base to manipulate multimedia data DICOM. Based on user testing, this system have a high degree of usability and have a high level of ease of use.
Keywords: Medical Record, Radiology, Database, Multimedia
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Esa atas berkat dan karuniaNya, sehingga penulis dapat menyelesaikan tugas akhir ini sebagai salah satu syarat akademik jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta. Pada Kesempatan ini, penulis mengucapkan terimakasih kepada seluruh pihak yang telah membantu dalam proses pengerjaan tugas akhir ini. Ucapan terimakasih disampaikan kepada : 1. Tuhan Yesus, You are the first and always. Terimakasih untuk setiap udara yang keluar masuk paru-paru dan inspirasi serta pemikiran-pemikiran ciamik sehingga saya dapat menyelesaikan tugas akhir ini. 2. Kedua orang tua, Sri Iswanto dan Arijanti untuk setiap perjuangan nya sehingga dapat mencukupi biaya kuliah, biaya hidup selama kuliah dan untuk motivasi, doa, pelajaran hidup serta Gen yang diturunkan sehingga saya menjadi pribadi yang tidak kenal putus asa, kuat, mandiri, dan tulus. 3. Adik tercinta Lintang Arganinggar, yang selalu menceritakan kehidupan sehari-hari nya yang wajar tapi tetap mengasyikan. Terimakasih sudah membuat saya tertawa dan ingin memutar waktu menjadi anak SMA lagi. 4. Dosen pembimbing skripsi, Ibu Agnes Maria Polina yang telah memberi saya inspirasi untuk menentukan topik skripsi. Terimakasih untuk kemurahan senyum saat bimbingan sehingga bimbingan skripsi bukan merupakan hal yang menakutkan bagi saya. 5. Sudi Mungkasi S.Si., M. Math.Sc., Ph.D selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta. 6. Dr. Anastasia Rita Selaku Ketua Program Studi Teknik Informatika Sanata Dharma Yogyakarta. 7. Kedua dosen penguji, Bapak Iwan Binanto dan Bapak J.B. Darmawan yang telah berkenan meluangkan waktu untuk menanya-nanyai selama kurang lebih satu setengah jam yang menjadi momen bersejarah dalam hidup saya.
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8. Ibu Aisyah selaku pihak penghubung saya dengan Rumah Sakit Respira yang selalu memberikan solusi untuk persoalan yang saya hadapi selama penelitian di Rumah Sakit Respira. 9. Mikhael Fajarjati, Tri Pina Putri, Nicolaus Dhesa, Yosua Astutakari, Vina Puspitasari, Novianti Ekasari, Brigita Cynthia Dewi, Hervian jatmika, Laurensius Haris, Lukas Bayu, Dhesa Ardhiyanta, Lukas Bayu dan sahabatsahabat lain yang telah berjuang bersama saya dari semester satu hinga semester terakhir. 10. Rekan-rekan penghuni Lab Tugas Akhir, Hugo, Tedjo, Slamet, Alvin, Jay, Bayu, Mariadi, Wisnu, Daniel, Wiga, Anjar, Dion yang menciptakan lelucon-lelucon dan obrolan-obrolan menarik sehingga suasana lab tugas akhir menjadi santai tidak kaku. 11. Rekan-rekan UKF Badminton Fakultas Sains dan Teknik. Terimakasih untuk menjadi rekan berlatih bulutangkis, olahraga yang menjadi separuh jiwa saya. 12. Romualdus Vanadio, Yustinus Adrian Nada, Henrycus Bagus, Theodosius Amy, Mikael Fajar yang telah menjadi rekan dan lawan bermain Pro Evolution Soccer dari pagi saat otak sedang jenuh dengan skripsi. 13. Sahabat-sahabat Kos Dwi Tunggal, yang selalu meramaikan kamar saya dan menobatkan kamar saya menjadi aula Kos Dwi Tunggal sehingga saya tidak pernah kesepian di kos. 14. Salim, Ruben Seno, Rossa Andhika, Christoper Yanuar. Saya tidak tahu apa kontribusi kalian dalam skripsi ini. Tapi tetap, terimakasih. 15. Google. Sudah sewajarnya semua berterimakasih pada Google. 16. Aerosmith, Judika, Glenn Fredly, Sandy Sandhoro, Mr. Big, Bon Jovi, John Meyer, Dewa 19 yang telah menciptakan lagu yang sering saya putar untuk menemani saya mengerjakan skripsi. 17. Jodoh saya yang saat ini terpisahkan oleh dimensi waktu (dia di masa depan, saya di masa kini). Terimakasih untuk tidak hadir saat saya sedang mengerjakan skripsi. Jika dia hadir, mungkin saya lebih memilih menikah daripada menyelesaikan kuliah.
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18. Kepada semua pihak yang tak dapat saya sebutkan namanya satu per satu, entah mungkin karena saya lupa atau kalian tidak punya nama, saya ucapkan terimakasih sebanyak-banyaknya. Penulis menyadari masih banyak kekurangan dan hal yang perlu diperbaiki. Oleh karena itu saran dan kritik dari pembaca yang sekiranya dapat membangun sangat penulis harapkan. Semoga penulisan skripsi ini berguna untuk semua pihak terutama mahasiswa Teknik Informatika.
Yogyakarta,………………………. Penulis
Rekiyan Seto
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI HALAMAN PERSETUJUAN .......................................................................................... iii HALAMAN PENGESAHAN SKRIPSI............................................................................ iv HALAMAN PERSEMBAHAN ......................................................................................... v PERNYATAAN KEASLIAN KARYA ............................................................................ vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI ........................................... vii ABSTRAK ....................................................................................................................... viii ABSTRACT ...................................................................................................................... ix KATA PENGANTAR ........................................................................................................ x DAFTAR ISI ................................................................................................................... xiii DAFTAR GAMBAR ........................................................................................................ xv DAFTAR TABEL........................................................................................................... xvii BAB I
PENDAHULUAN .............................................................................................. 1
1.1.
Latar Belakang .................................................................................................... 1
1.2.
Rumusan Masalah ............................................................................................... 2
1.3.
Tujuan dan Manfaat Penelitian ........................................................................... 2
1.3.1.
Tujuan Penelitian ........................................................................................ 2
1.3.2.
Manfaat Penelitian ...................................................................................... 2
1.4.
Batasan Masalah ................................................................................................. 3
1.5.
Metodologi Penelitian ......................................................................................... 3
1.5.1.
Survei Awal ................................................................................................ 3
1.5.2.
Studi Pustaka............................................................................................... 3
1.5.3.
Pengembangan Sistem Pengelolaan Rekam Medis .................................... 4
1.5.4.
Pengujian .................................................................................................... 4
1.6.
Sistematika Penulisan ......................................................................................... 5
BAB II
LANDASAN TEORI .......................................................................................... 6
2.1.
Sistem Informasi ................................................................................................. 6
2.2.
Bahasa Pemrograman Java ................................................................................. 7
2.3.
Framework MVC ................................................................................................ 8
2.4.
Oracle Multimedia .............................................................................................. 8
2.4.1.
Arsitektur Oracle Multimedia ..................................................................... 9
2.4.2.
Kemampuan Oracle Multimedia ............................................................... 11
2.5.
ORD DICOM .................................................................................................... 14
2.6.
Metode Pengembangan Sistem Waterfall ......................................................... 15
2.7.
Rekam Medis .................................................................................................... 17
2.7.1.
Pengertian Rekam Medis .......................................................................... 17 xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.7.2.
Isi Rekam Medis ....................................................................................... 17
2.7.3.
Penyelenggaraan Rekam Medis ................................................................ 17
2.7.4.
Manfaat Rekam Medis .............................................................................. 18
2.7.5.
Penyimpanan Rekam Medis ..................................................................... 19
BAB III ANALISA DAN PERANCANGAN SISTEM ................................................. 20 3.2.
Analisa Sistem .................................................................................................. 20
3.2.1.
Gambaran Umum Sistem .......................................................................... 20
3.2.2.
Alur Kerja Pengelolaan Rekam Medis...................................................... 21
3.2.3.
Analisa Kebutuhan Pengguna ................................................................... 22
3.2.4.
Use Case Diagram..................................................................................... 23
3.2.5.
Narasi Use Case ........................................................................................ 24
3.3.
Planning ............................................................................................................ 40
3.3.1.
Diagram Activity ...................................................................................... 40
3.3.2.
Diagram Sequence .................................................................................... 62
3.3.3.
Perancangan Sistem .................................................................................. 78
3.3.4.
Perancangan Basis Data ............................................................................ 79
BAB IV IMPLEMENTASI SISTEM ............................................................................. 85 4.1.
Construction ...................................................................................................... 85
4.1.1.
Spesifikasi Perangkat Keras dan Perangkat Lunak ................................... 85
4.1.2.
Implementasi basis Data ........................................................................... 85
4.1.3.
Implementasi Sistem ................................................................................. 91
BAB V PENGUJIAN DAN ANALISA HASIL .......................................................... 131 5.1.
Pengujian Terhadap Sistem............................................................................. 131
5.1.1.
Subsistem Kelola User ............................................................................ 131
5.1.2.
Subsistem Kelola Dokter ........................................................................ 133
5.1.3.
Subsistem Kelola Pasien ......................................................................... 135
5.1.4.
Subsistem Kelola Radiologi .................................................................... 137
5.1.5.
Subsistem Kelola Rekam Medis ............................................................. 138
5.2.
Pengujian Terhadap Pengguna ........................................................................ 140
5.2.1.
Persepsi Kegunaan .................................................................................. 140
5.2.3.
Rangkuman Hasil Uji Coba Terhadap Pengguna ................................... 144
BAB VI PENUTUP ...................................................................................................... 145 6.1.
Kesimpulan ..................................................................................................... 145
6.2.
Saran ............................................................................................................... 145
DAFTAR PUSTAKA ..................................................................................................... 146 LAMPIRAN ................................................................................................................... 147
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Gambar 2. 1. Arsitektur Oracle Multimedia ......................................................... 11 Gambar 2. 2. Metode Waterfall versi Pressman ................................................... 15 Gambar 3. 1. Alur kerja pengelolaan rekam medis............................................... 21 Gambar 3. 2. Use Case Sistem .............................................................................. 23 Gambar 3. 3. Diagram Activity Tambah Pemeriksaan ......................................... 40 Gambar 3. 4. Diagram Activity Edit Pemeriksaan................................................ 41 Gambar 3. 5. Diagram Activity Tambah Asesmen Awal ..................................... 42 Gambar 3. 6. Diagram Activity Anamnesa ........................................................... 43 Gambar 3. 7. Diagram Activity Lihat Asesmen Awal .......................................... 44 Gambar 4. 1. Menu Tambah User ......................................................................... 85 Gambar 4. 2. Menu Lihat User ............................................................................. 86 Gambar 4. 3. Menu Edit User ............................................................................... 87 Gambar 4. 4. Menu Hapus User ............................................................................ 88 Gambar 4. 5. Menu Tambah Dokter ..................................................................... 89 Gambar 4. 6. Menu Edit Dokter ............................................................................ 90 Gambar 4. 7. Menu Hapus Dokter ........................................................................ 91 Gambar 4. 8. Menu Lihat Dokter .......................................................................... 93 Gambar 4. 9. Menu Tambah Pasien ...................................................................... 94 Gambar 4. 10. Menu Edit Pasien .......................................................................... 96 Gambar 4. 11. Menu Hapus Pasien ....................................................................... 98 Gambar 4. 12. Menu Lihat Pasien......................................................................... 99 Gambar 4. 13. Menu Pendaftaran Pemeriksaan Pasien ...................................... 101 Gambar 4. 14. Menu Tambah Data Radiologi .................................................... 102 Gambar 4. 15. Menu Hapus Data Radiologi ....................................................... 105 Gambar 4. 16. Menu Lihat Data Radiologi ......................................................... 106 Gambar 4. 17. Menu Tambah Interpretasi .......................................................... 107 Gambar 4. 18. Menu Edit Interpretasi................................................................. 108 Gambar 4. 19. Menu Tambah Pemeriksaan ........................................................ 109 Gambar 4. 20. Menu Edit Pemeriksaan .............................................................. 110 xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4. 21. Menu Tambah Asesmen Awal .................................................... 112 Gambar 4. 22. Menu Anamnesa.......................................................................... 114 Gambar 4. 23. Menu Lihat Anamnesa ................................................................ 115 Gambar 4. 24. Menu Lihat Pemeriksaan............................................................. 116 Gambar 4. 25. Menu Lihat Asesmen Awal ......................................................... 118 Gambar 4. 26. Menu Lihat Antrian Anamnesa ................................................... 121 Gambar 4. 27. Menu Lihat Antrian Pemeriksaan ............................................... 122 Gambar 5. 1. Hasil Testing Tambah User ........................................................... 125 Gambar 5. 2. Hasil Testing Edit User ................................................................. 125 Gambar 5. 3. Hasil Testing Hapus User.............................................................. 125 Gambar 5. 4 Hasil Testing Tambah Dokter ........................................................ 126 Gambar 5. 5. Hasil Testing Edit Dokter.............................................................. 127 Gambar 5. 6. Hasil Testing Hapus User.............................................................. 127 Gambar 5. 7. Hasil Testing Tambah Pasien ........................................................ 128 Gambar 5. 8. Hasil Testing Lihat Pasien ............................................................ 129 Gambar 5. 9. Hasil Testing Hapus Pasien ........................................................... 129 Gambar 5. 10. Hasil Testing Hapus Radiologi ................................................... 131 Gambar 5. 11. Hasil Testing Tambah Pemeriksaan ............................................ 132 Gambar 5. 12. Hasil Testing Edit Pemeriksaan .................................................. 132 Gambar 5. 13. Hasil Testing Tambah Asesmen Awal ........................................ 132 Gambar 5. 14. Hasil Testing Anamnesa ............................................................. 132
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL Tabel 3. 1. Tabel Gambaran Umum Sistem .......................................................... 20 Tabel 3. 2. Tabel Analisa Kebutuhan Pengguna ................................................... 22 Tabel 3. 3. Tabel Narasi Use Case Tambah Pemeriksaan .................................... 24 Tabel 3. 4. Tabel Narasi Use Case Edit Pemeriksaan ........................................... 25 Tabel 3. 5. Tabel Narasi Use Case Tambah Asesmen Awal................................. 26 Tabel 3. 6. Tabel Narasi Use Case Anamnesa ...................................................... 27 Tabel 3. 7. Tabel Narasi Use Case Asesmen Awal ............................................... 28 Tabel 3. 8. Tabel Narasi Use Case Lihat Anamnesa ............................................. 29 Tabel 3. 9. Tabel Narasi Use Case Lihat Pemeriksaan ......................................... 30 Tabel 3. 10. Tabel Narasi Use Case Tambah Radiologi ....................................... 31 Tabel 3. 11. Tabel Narasi Use Case Hapus Radiologi .......................................... 31 Tabel 3. 12. Tabel Narasi Use Case Lihat Data Radiologi ................................... 32 Tabel 3. 13. Tabel Narasi Use Case Tambah Interpretasi ..................................... 32 Tabel 3. 14. Tabel Narasi Use Case Tambah Pasien ............................................ 33 Tabel 3. 15. Tabel Narasi Use Case Hapus Pasien ............................................... 33 Tabel 3. 16. Tabel Narasi use Case Cetak Kartu .................................................. 34 Tabel 3. 17. Tabel Narasi Use Case Lihat Pasien ................................................. 34 Tabel 3. 18. Tabel Narasi Use Case Edit Pasien ................................................... 35 Tabel 3. 19. Tabel Narasi Use Case Tambah Dokter ............................................ 35 Tabel 3. 20. Tabel Narasi Use Case Hapus Dokter ............................................... 36 Tabel 3. 21. Tabel Narasi Use Case Lihat Dokter ................................................ 36 Tabel 3. 22. Tabel Narasi Use Case Edit Dokter .................................................. 37 Tabel 3. 23. Tabel Narasi Use Case Tambah User ............................................... 37 Tabel 3. 24. Tabel Narasi Use Case Hapus User .................................................. 38 Tabel 3. 25. Tabel Narasi Use Case Lihat User .................................................... 38 Tabel 3. 26. Tabel Narasi Use Case Edit User ...................................................... 39 Tabel 5. 1. Tabel Kasus dan Hasil Uji Halaman Kelola User ............................. 124 Tabel 5. 2. Tabel Kasus dan Hasil Uji Halaman Kelola Dokter ......................... 126 Tabel 5. 3. Tabel Kasus dan Hasil Uji Halaman Kelola Pasien .......................... 128 Tabel 5. 4. Tabel Kasus dan Hasil Uji Halaman Kelola Radiologi .................... 130
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 5. 5. Tabel Kasus dan Hasil Uji Halaman Kelola Rekam Medis .............. 131 Tabel 5. 6. Tabel Bobot Pernyataan 1 Persepsi Kegunaan ................................. 133 Tabel 5. 7. . Tabel Bobot Pernyataan 2 Persepsi Kegunaan ............................... 134 Tabel 5. 8. . Tabel Bobot Pernyataan 3 Persepsi Keguanaan ............................. 134 Tabel 5. 9. . Tabel Bobot Pernyataan 4 Persepsi Kegunaan ............................... 134 Tabel 5. 10. Tabel Bobot Pernyataan 1 Persepsi Kemudahan ............................ 135 Tabel 5. 11. Tabel Bobot Pernyataan 2 Persepsi Kemudahan ............................ 135 Tabel 5. 12. Tabel Bobot Pernyataan 3 Persepsi Kemudahan ............................ 136 Tabel 5. 13. Tabel Bobot Pernyataan 4 Persepsi Kemudahan ............................ 136 Tabel 5. 14. Tabel Rangkuman Hasil Kuesioner ................................................ 137
xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN 1.1.Latar Belakang Dalam bidang kesehatan, terdapat istilah “Rekam Medis”. Menurut PERMENKES No: 269/MENKES/PER/III/2008 yang dimaksud rekam medis adalah berkas yang berisi catatan dan dokumen antara lain identitas pasien, hasil pemeriksaan, pengobatan yang telah diberikan, serta tindakan dan pelayanan lain yang telah diberikan kepada pasien. Rekam medis terbagi menjadi dua jenis, yaitu rekam medis konvensional dan rekam medis elektronik. Catatan dalam rekam medis baik elektronik maupun konvensional merupakan tulisan-tulisan yang dibuat oleh dokter maupun tenaga kesehatan lainnya yang berkompeten mengenai tindakan-tindakan yang dilakukan kepada pasien dalam rangka pelayanan kesehatan. Catatan – catatan yang ada di dalam rekam medis memberikan pengaruh penting terhadap pelayanan tenaga kesehatan terhadap seorang pasien karena data – data mengenai riwayat pengobatan pasien akan menentukan tindakan dan pengobatan yang tepat untuk pasien tersebut ketika berobat kembali. Dalam Manual Rekam Medis yang disusun oleh Konsil Kedokteran Indonesia disebutkan bahwa salah satu manfaat rekam medis adalah untuk peningkatan kualitas pelayanan. Tentu saja yang akan membantu meningkatkan kualitas pelayanan adalah rekam medis yang baik. Indikator rekam medis yang baik adalah kelengkapan isi, akurat, tepat waktu, dan pemenuhan aspek persyaratan hukum. Menurut Dennis Lee Myers (1998) dalam penemuan rekam medis elektronik nya, rekam medis elektronik sangat penting dalam meningkatkan kemampuan manajemen informasi dalam mendukung peningkatan penggunaan dan permintaan data pasien, baik untuk meningkatkan kualitas kesehatan dan untuk mengelola biaya rekam medis itu sendiri. Dalam penelitian Hendra Christian (2012), disebutkan bahwa terdapat masalah dalam implementasi rekam medis elektronik. Tidak semua rekam medis berupa file teks namun ada juga yang berformat raster misalnya hasil rontgen. Jadi cara yang paling banyak digunakan untuk mengelola rekam medis dengan komputer adalah pencatatan rekam medis berbasis teks dan citra yang tidak terpadu. Rekam medis
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
elektronik hanya menangani pengelolaan file teks dan hasil rontgent tidak disimpan melainkan dibawa pulang oleh pasien untuk dibawa saat pemeriksaan berikutnya. Permasalahan yang timbul akibat rekam medis elektronik yang tidak terpadu ini adalah ketika pasien tidak membawa hasil rontgent saat pemeriksaan. Dokter tidak dapat melakukan pemeriksaan karena dokter harus melihat hasil rontgent beserta interpretasinya untuk acuan pemeriksaan. Atas dasar masalah tersebut penulis tertarik untuk membangun sistem rekam medis elektronik yang mampu menangani penyimpanan data rekam medis berbasis teks dan data hasil rontgent paru-paru (format dicom) secara terpadu yang dapat membantu tenaga kesehatan untuk melihat perkembangan kesehatan pasien.
1.2.Rumusan Masalah Rumusan masalah dalam penulisan tugas akhir ini adalah : a.
Bagaimana membangun sistem rekam medis elektronik yang mampu menangani data rekam medis teks dan data hasil rontgent paru-paru secara terpadu untuk tenaga kesehatan.
b. Apakah sistem ini efisien dapat membantu tenaga kesehatan untuk melihat perkembangan kesehatan pasien. c. Apakah sistem ini mudah digunakan oleh tenaga kesehatan.
1.3. Tujuan dan Manfaat Penelitian 1.3.1. Tujuan Penelitian Tujuan dalam penelitian ini adalah sebagai berikut : Membangun dan menghasilkan sistem informasi rekam medis yang membantu tenaga kesehatan menyimpan dan menyajikan data rekam medis pasien. 1.3.2. Manfaat Penelitian Manfaat dari sistem informasi yang dihasilkan oleh penelitian ini adalah : a. Adanya catatan rekam medis (hasil pemeriksaan, hasil citra rontgent dalam format DICOM) yang tersimpan di dalam database sehingga dokter dapat mengakses data-data tersebut dengan mudah dan cepat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3
b. Adanya fitur pencarian sehingga waktu akses untuk data medis akan lebih cepat. c. Informasi perkembangan hasil rontgent paru-paru disediakan secara digital sehingga memudahkan dokter memantau perkembangan kesehatan pasien.
1.4. Batasan Masalah Batasan masalah dari penelitian ini adalah sebagai berikut : a. Data yang digunakan pada penelitian ini adalah data dari Rumah Sakit Khusus Paru Respira Yogyakarta b. Sistem ini tidak menangani permasalahan mengenai transaksi keuangan. c. Sistem menangani pengelolaan rekam medis rawat jalan namun tidak termasuk rekam medis rawat inap dan rekam medis gawat darurat. d. Implementasi sistem ini menggunakan JSP dan Oracle.
1.5. Metodologi Penelitian Langkah – langkah yang dilakukan untuk melakukan penelitian ini adalah sebagai berikut : 1.5.1. Survei Awal Pada tahap ini dilakukan observasi di Rumah Sakit Khusus Paru Respira Yogyakarta. Selain observasi dilakukan juga wawancara dengan narasumber yang berkaitan dengan kebutuhan analisa sistem pada penelitian ini, yaitu; perekam medis, radiografer dan dokter.
1.5.2. Studi Pustaka Pada tahap ini dilakukan pencarian dan pendayagunaan sumber-sumber tertulis yang berhubungan dengan materi manajemen rekam medis, serta literatur terkait pembangunan sistem informasi dengan basis data multimedia.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4
1.5.3. Pengembangan Sistem Pengelolaan Rekam Medis Metode yang digunakan digunakan dalam pengembangan sistem ini adalah metode Waterfall (Pressman, 2010) dengan tahap tahap sebagai berikut : a. Communication Langkah ini merupakan analisis terhadap kebutuhan perangkat lunak, dimana diadakan pengumpulan data dengan melakukan pertemuan dengan pihak Rumah Sakit Paru Respira. b. Planning Pada langkah ini akan dihasilkan dokumen user requirement yang digambarkan dalam bentuk diagram usecase, diagram kelas dan diagram ER. c. Modeling Langkah ini merupakan proses peracangan perangkat lunak yang dapat diperkirakan sebelum membuat program. Proses ini berfokus pada database dan user interface. d. Construction Langkah ini merupakan proses coding dengan menggunakan JSP dan Oracle 11g. e. Deployment Langkah ini merupakan proses terakhir dalam pembuatan sistem ini. Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi akan digunakan oleh petugas Rumah Sakit Paru Respira. Pada penelitian ini dilakukan uji coba.
1.5.4. Pengujian Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah selesai dibuat. Pengujian yang dilakukan oleh penulis adalah dengan pengujian tingkat alpha test dan pengujian tingkat beta test (dengan menguji langsung kepada pengguna). Pengujian kepada pengguna meliputi pengujian mengenai kemanfaatan dan kemudahan digunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5
1.6. Sistematika Penulisan BAB I : PENDAHULUAN Bab ini menjelaskan mengenai latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan untuk mempermudah pemahaman pembaca.
BAB II : LANDASAN TEORI Bab ini membahas teori dan teknik dasar yang akan digunakan untuk pembuatan sistem informasi rekam medis, diantaranya teori mengenai sistem informasi, bahasa pemrograman java, framework MVC, Database Oracle, Oracle Multimedia, dan rekam medis.
BAB III : ANALISA DAN PERANCANGAN SISTEM Bab ini berisi penjelasan analisis dan perancangan sistem yang digunakan dalam pembangunan situs ini meliputi gambaran umum sistem, analisis sistem, rancangan proses, rancangan basis data, dan rancangan antar muka (user interface).
BAB IV : IMPLEMENTASI SISTEM Bab ini berisi tentang implementasi sistem yang dibuat berdasar dari rancangan sistem kedalam bahasa pemrograman JSP dan multimedia DBMS Oracle.
BAB V : PENGUJIAN DAN ANALISA HASIL Bab ini berisi analisa hasil implementasi sistem ini serta pembahasannya tentang kekurangan dan kelebihan sistem. Pada bab ini juga dibahas hasil uji coba sistem terhadap pengguna.
BAB VI : PENUTUP Bab ini berisi kesimpulan dan saran untuk pengembangan sistem selanjutnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II LANDASAN TEORI 2.1. Sistem Informasi Sistem Informasi dapat didefiniskan sebagai berikut. 1. Suatu sistem yang dibuat oleh manusia yang terdiri dari komponenkomponen dalam organisasi untuk mencapai suatu tujuan yaitu menyajikan informasi. 2. Sekumpulan prosedur organisasi yang pada saat dilaksanakan akan memberikan informasi bagi pengambil keputusan dan atau untuk mengembalikan oranisasi. 3. Suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi, mendukung operasi, bersifat menajerial, dan keiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan. Sistem informasi digunakan dan dapat bermanfaat bagi berbagai pihak. Sebagai contoh untuk sebuah organisasi, manfaat dari sebuah sistem informasi adalah mengolah data transaksi-transaksi, mengurangi biaya dan menghasilkan pendapatan sebagai salah satu produk atau pelayanan mereka. Terdapat 5 komponen utama dalam sebuah sistem informasi. Kelima komponen tersebut dapat diklasifikasikan sebagai berikut : 1. Hardware dan Softwareyang berfungsi sebagai mesin 2. People dan procedures yang merupakan manusia dan tatacara menggunakan mesin. 3. Data, merupakan jembatan penghubung antara manusia dan mesin agar terjadi suatu proses pengolahan data.
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
Kegiatan utama yang dilakukan oleh sistem informasi adalah sebagai berikut : 1. Input Kegiatan menyediakan data untuk diproses. 2. Proses Menggambarkan bagaiman suatu data diproses untuk menghasilkan suatu informasi yang bernilai tambah. 3. Output Kegiatan menghasilkan laporan dari proses diatas tersebut. 4. Penyimpanan Kegiatan untuk memelihara dan menyimpan data. 5. Control Aktivitas untuk menjamin bawha sistem informasi tersebut berjalan sesuai dengan yang diharapkan.
2.2. Bahasa Pemrograman Java Java adalah nama sebuah bahasa pemrograman yang diciptakan oleh Sun Microsistems, sebuah perusahaan besar di Amerika Serikat. Bahasa ini berkembang sangat pesat terutama untuk Web-Programming dengan memusatkan rancangan pada data (object). Oleh karena itu Java dikenal dengan pemrograman berorientasi obyek (object oriented). Java juga mendukung aplikasi client/server baik dalam jaringan lokal (LAN) maupun jaringan berskala luas (WAN). Terdapat banyak keunggulan dalam bahasa pemrograman java, salah satunya adalah tidak bergantung pada platform; yang artinya bahwa java dapat dijalankan pada sembarang komputer dan bahkan pada sembarang sistem operasi. Selain itu java juga memiliki keunggukan lain yang tidak dimiliki oleh bahasa pemrograman yang lainnya seperti kesederhanaan, keamanan, objectoriented dapat dijalankan oleh intepreter (kode program dioptimasasi secara dinamis pada saat run-time), tidak bergantung pada arsitektur (hardware), jika terdapat alokasi data yang tidak terpakai maka akan dibersihkan secara otomatis oleh garbage-collector, mendukung multithreading, serta mempunyai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8
mekanisme penanganan exception handling yang strongly-type (tipe exception diketahui pada saat compile-time). Bahasa pemrograman ini cocok dipakai dalam menulis program yang terdistribusi (pada jaringan internet misalnya) dan dapat dikembangkan secara dinamis.
2.3. Framework MVC Konsep MVC ini pertama kali diperkenalkan oleh para peneliti XEROX PARC yang bekerja dalam pembuatan bahasa pemrograman Smalltalk sekitar tahun 1970-1980. Pada dasarnya MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model), tampilan (View) dan cara bagaimana memprosesnya (Controller) (Radek, 2009). Konsep MVC ini diperkenalkan dengan tujuan untuk memudahkan bagi para pengembang aplikasi web. Seiring dengan perkembangan teknik pemrograman, sekarang ini banyak sekali aplikasi-aplikasi yang dikembangkan untuk mempermudah pembuatan sebuah website. Kemudahan yang ditawarkan oleh aplikasi tersebut bisaanya sudah disediakan berbagai macam library, plugins yang siap pakai sehingga pengemang tidak perlu bersusah payah membangun aplikasi web mulai dari awal. Tentu saja pengembang tersebut harus mengikuti aturan-aturan yang sudah didefinisikan oleh pembuat framework tersebut (Radek, 2009).
2.4. Oracle Multimedia Oracle Multimedia (sebelumnya Oracle Intermedia) adalah fitur yang memungkinakan Oracle Database untuk menyimpan, mengelola, dan mengambil gambar, audio, video, atau media heterogen lainnya secara terpadu dengan informasi perusahaan lainnya. Oracle Multimeia memperluas Oracle Database, keandalan, ketersediaan, dan manajemen data untuk konten multimedia tradisional, Internet, perdagangan elektronik, dan Aplikasi media yang kompleks. Oracle Multimedia tidak mengendalikan perangkat Output, fungsi ini diserahkan kepada aplikasi software.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9
Oracle Multimedia mengelola konten multimedia dengan menyediakan fasilitas sebagai berikut : a. Penyimpanan dan pengambilan b. Media dan aplikasi manajemen metadata c. Dukungan untuk format yang sering dipakai sekarang ini d. Akses melalui antarmuka tradisional dan Web. e. Query menggunakan data relasional yang terkait. f. Query menggunakan metadata yang diekstraksi g. Query menggunakan konten media dengan opsional pengindeksan khusus. Oracle multimedia menyediakan layanan media konten ke Oracle JDeveloper, Oracle Conten Management SDK, Oracle Apication Server Portal dan Oracle Partners. 2.4.1. Arsitektur Oracle Multimedia Oracle Multimedia adalah fitur terintegrasi yang diperluas dalam database dengan menyimpan, mengelola, dan mengambil gambar, audio, dan video, dan oleh Web yang mendukung teknologi untuk data multimedia. Pada tingkat pertama, melalui penggunaan Oracle Multimedia, Oracle Database memegang konten yang kaya tabel bersama dengan data tradisional. Melalui JVM database yang tertanam, server-side Media parser memiliki orientasi objek dan antarmuka relasional, mendukung format dan aplikasi metadata parsing, dan dapat diperpanjang untuk mendukung format tambahan. Prosesor gambar termasuk JAI dan menyediakan pengolahan gambar untuk operasi seperti memproduksi gambar berukuran thumbnail, mengubah format gambar, dan pengindeksan dan pencocokan gambar. Menggunakan method Oracle Multimedia, operasi import dan export antara database dan file sistem dimungkinkan. Oracle Multimedia juga mendukung jenis oengiriman khusus server, seperti streaming konten dari database. Menggunakan Intermadia Plugin untuk Real Networks atau Windows Media Services, Helix Universal Server atau Windows Media Streaming Server dapat melakukan streaming data multimedia ke klien langsung dari database menggunakan Real-Time Streaming Protocol
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
(RSTP). Di prosesor media selain itu, pihak ketiga seperti mesin pengenalan suara dapat berjalan eksternal ke database untuk memproses media yang tersimpan dalam database dan kembali ke hasil database. Di tingkat kedia atau tengah, Oracle Application Server menyediakan akses ke Oracle Multimedia melalui Oracle Multimedia Java, yang memungkinkan aplikasi Java pada tingkat apapun (klien, server aplikasi, atau database) untuk mengakses, memanipulasi, dan memodifikasi data audio, gambar, dan video yang disimpan dalam database. Selain itu, Oracle Multimedia Servlet dan JSP Java API memfasilitasi upload dan download data multimedia yang disimpan dalam database menggunakan Oracle Multimedia ORDAudio, ORDDoc, ORDImage, dan jenis objek ORD video. Oracle Multimedia Servlet dan JSP Java API dapat mengakses data yang disimpan dalam obyek Oracle Multimedia atau bulk atau BFILE langsung. Pengembang juga dapat menggunakan Oracle Jdeveloper dan Orcale Multimedia untuk membangun aplikasi Java yang kaya media dengan cepat dan mudah menggunakan Oracle Multimedia / ADF Bisnis paket integrasi Komponen. Konten Oracle Multimedia juga dapat dengan mudah dan transparan dimasukkan ke dalam bentuk Oracle Portal dan laporan, yang kemudian dapat dipublikasikan sebagai Protlet. SQL Developer akrab dengan database dapat mengembangkan aplikasi Web yang menggunakan Oracle Application Server yang khusus, dan Oracle Database menggunakan PL / SQL lingkungan pengembangan. Langkah-langkah termasuk menggunakan PL / SQL Gateway (mod_plsql) fitur dari Oracle HTTP Server dan PL / SQL Web Toolkit. Pengembang aplikasi Web bisa menilis PL / SQL dan servlet PL / SQL Server Pages (PSP) yang memanggil prosedur PL / SQL yang disimpan dalam database melalui koneksi Oracle Net dan OCI. Pada tingkat ketiga atau klien, kemampuan untuk melakukan pemrosesan lokal yang didukung melalui Oracle Multimedia Java Classes, JAI, dan JMF. JAI dan JMF menyediakan satu set API untuk media pengolahan di klien, dan Oracle Multimedia Java Classes menyediakan akses langsung ke semua jenis media dari klien.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11
Gambar 2. 1. Arsitektur Oracle Multimedia
2.4.2. Kemampuan Oracle Multimedia Kemampuan Oracle Multimedia
meliputi
penyimpanan,
pengambilan, manajemen, dan manipulasi data multimedia yang dikelola oleh Oracle Database. Aplikasi multimedia memiliki persyaratan umum dan unik. Oracle Multimedia jenis Objek mendukung kebutuhan aplikasi umum dan dapat diperpanjang untuk mengatasi kebutuhan aplikasi yang spesifik. Dengan Oracle Multimedia, data multimedia dapat dikelola semudah data standar. Oracle Multimedia mendukung penyimpanan format file yang poluler, termasuk gambar desktop publishing, dan streaming format audio dan video dalam database. Oracle Multimedia menyediakan sarana untuk menambahkan audio, gambar, dan videom atau media heterogen kolom atau objek untuk tabel yang ada, dan masukkan data dan mengambil data multimedia. Hal ini memungkinkan database designer
untuk memperluas database yang
sudah ada dengan ata multimedia, atau untuk membangun baru multimedia pengguna akhir aplikasi database.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12
Pengembang
yang
menggunakan
Oracle
Multimedia
dapat
menggunakan fungsi dasar yang disediakan untuk membangun aplikasi multimedia. Oracle Multimedia menggunakan jenis objek, mirip dengan kelas Java atau C++ untuk menggambarkan data multimedia. Jenis objek ini disebut dengan ORDAudio, ORDDocs, ORDImage, dan ORDVideo. Sebuah contoh dari jenis objek terdiri dari atribut, termasuk metadata dan data media, dan metode. Media adalah data audio yang sebenarnya, gambar, atau video, atau media data heterogen. Metadata adalah informasi mengenai dara, seperti panjang objek, tipe kompresim atau format. Metode adalah prosedur yang dapat dilakukan pada objek, seperti getContent() dan setProrperties(). Oracle Multimedia memiliki model media oenyimoanan yang umum. Media data komponen objek ini dapat disimpan dalam database, dalam BLOB di bawah kontrol transaksi. Data media juga dapat disimpan di luar database, tanpa kontrol transaksi. Dalam hal ini, pointer disimpan dalam database dibawah kontrol transaksi, dan data media yang disimpan dalam: a.
Objek berkas besar (BFILE).
b.
URL HTTP berbasis server.
c.
Sebuah sumber yang ditetapkan pengguna pada server media
data khusus, atau lain media server data yang disimpan di luar database dapat menyediakan mekanisme yang mudah untuk mengelola data yang besar, yang telah ada ataupun yang baru, repositori media yang tinggal sebagai flat file pada media bisa dihapus atau hanya untuk dibaca. Data ini dapat diimpor ke bulk setiap saat untuk kontrol transaksi. Data media disimpan di dalam atau di luar database, Oracle Multimedia mengelola metadata untuk semua jenis media dan secara otomatis dapat mengekstrak itu untuk audio, gambar, dan video. Metadata ini mencakup atribut sebagai berikut :
Penyimpanan informasi tentang audio, gambar, dan video atau data media heterogen, meliputi jenis sumber, loksi dan nama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13
sumber dan apakah data disimpan secara lokal (dalam database) atau eksternal.
Update time stamp informasi untuk audio, gambar, dan video, atau data media yang heterogen.
Deskripsi data audio dan video.
Audio, gambar, dan video, atau format data media yang heterogen.
MIME jenis gambar, audio, dan video atau karakteristik media data heterogen lainnya.
Karakteristik audio : jenis pengkodean, jumlah saluran, sampling rate, jenis kompresi, dan waktu bermain (durasi).
Karakteristik gambar : tinggi dan lebar, panjang konten gambar, format gambar konten, dan kompresi format gambar.
Karakteristik video : lebar dan tinggi frame, resolusi frame, frame rate, waktu bermain (durasi), jumlah frame, tipe kompresi, jumlah warna dan metadata bit rate.
Metadata diekstrak dalam bentuk XML. Selain metode ekstraksi metadata, seperangkat metode manipulasi gambar sederhana disediakan. Untuk gambar, ini termasuk melakukan konversi format, pemilihan halaman, dan operasi quantize, dan kompresi, scaling, cropping, menyalin, flipping, mirroring, memutar, dan menyesuaikan gamma (kecerahan) gambar. Oracle multimedia bersifar extensible. Mendukung basis set audio populer, gambar, dan video format untuk pengolahan data multimedia yang juga dapat diperpanjang, misalnya, untuk mendukung format tambahan, kompresi digital yang baru dan skema dekompresi (codec), sumber data, dan bahkan khusus pengolahan data algoritma untuk data audio dan video.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14
Beberapa contoh aplikasi untuk Oracle Multimedia adalah sebagai berikut : a. Repositori untuk memeriksa gambar digital. b. Catatan elektronik kesehatan, termasuk gambar DICOM medis. c. Call center (misalnya, 911 dan produk call center lainnya). d. Inventarisasi aset fisik. e. Pembelajaran jarak jauh dan pembelajaran secara online. f. Pemasaran real estate (perumahan). g. Bursa arsip fotografi (misalnya, galeri seni digital dan fotografer profesional). h. Arsip dokumentasi yang berupa gambar. i. Pelayan informasi berita keuangan kepada pelanggan. j. Publikasi dengan Web, k. Penjualan audio dan video berbasis Web. 2.5.ORD DICOM Oracle Multimedia menggambarkan ORDDicom sebagai sebuah
jenis
objek, yang mendukung penyimpanan, manajemen, dan manipulasi gambar medis Format DICOM dan data lainnya. Objek ORDDicom dimaksudkan sebagai objek yang ditulis hanya sekali. Untuk menghasilkan objek ORDDicom baru dengan pengolahan citra atau kompresi, membuat objek baru ORDDicom, objek ORDImage, atau BLOB. Objek ORDDicom dapat dibangun dengan menggunakan konstruktor berikut dalam sebuah pernyataan SQL atau PL / SQL program: 1. ORDDicom () untuk blob 2. ORDDicom () untuk ORDImage 3. ORDDicom () untuk sumber lain Objek ORDDicom telah tertanam atribut blob. Pencari blob harus diinisialisasi sebelum mereka dapat diakses. Dengan demikian, baru dibangun objek ORDDicom (kecuali ketika dibangun dari blob sementara) harus dimasukkan ke dalam tabel sebelum memanggil metode anggota objek pada ini ORDDicom benda. Bagian ini menjelaskan konstruktor ORDDicom.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15
Berikut adalah daftar method yang dimiliki oleh sebuah objek ORDDicom:
export( )
extractMetadata( ) getAttributeByName( ) getAttributeByTag( ) getContent( ) getContentLength( ) getSeriesInstanceUID( ) getSourceInformation( ) getSourceLocation( ) getSourceName( ) getSourceType( ) getSOPClassUID( ) getSOPInstanceUID( ) getStudyInstanceUID( ) import( ) isAnonymous( ) isConformanceValid( ) isLocal( ) makeAnonymous( ) processCopy( ) to BLOBs processCopy( ) to ORDDicom processCopy( ) to ORDImage setProperties( ) writeMetadata( )
2.6. Metode Pengembangan Sistem Waterfall Menurut Pressman (2010) salah satu model pengembangan sistem adalah dengan model waterfall. Waterfall model adalah model paling popular dan sering dianggap sebagai pendekatan klasik yang bersifat dinamis, berurutan dalam membangun software. Berikut ini adalah gambaran dari waterfall model.
Gambar 2. 2. Metode Waterfall versi Pressman
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16
Fase-fase dalam model waterfall menurut referensi Pressman : a. Communication Pada tahap ini merupakan analisis terhadap kebutuhan software, dan tahap untuk mengadakan pengumpulan data dengan melakukan pertemuan dengan customer, maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet. b. Planning Tahap ini merupakan lanjutan dari proses communication. Tahapan ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan pengguna dalam pembuatan perangkat lunak, termasuk rencana yang akan dilakukan. c. Modeling Tahap ini merupakan tahap perancangan dimana perancang menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Tahap ini lebih difokuskan pada atribut program, seperti struktur data, arsitektur perangkat lunak, representasi tatap muka dan detail (algoritma) procedural. Tahapan ini menghasilkan dokumen yang disebut software requirement. d. Construction Tahap ini merupakan tahap dimana perancangan diterjemahkan kedalam Bahasa yang dimengerti oleh mesin. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu perangkat lunak, artinya penggunaan computer akan dimaksimalkan dalam tahapan ini. Setelah itu dilakukan pengujian terhadap sistem yang telah dibuat. Tujuannya untuk menemukan kesalahan terhadap sistem tersebut untuk kemudian bisa diperbaiki. e. Deployment Setelah poses pengkodean dan pengujian selesai, maka sistem akan diimplementasi kepada masyarakat luas. Pada tahap ini juga
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17
dilakukan pemeliharaan, perbaikan, dan pengembangan agar sistem tersebut tetap dapat berjalan sebagaimana fungsinya. 2.7. Rekam Medis 2.7.1. Pengertian Rekam Medis Dalam Peraturan Menteri Kesehatan Republik Indonesia Nomor 269/MENKES/PER/III/2008, rekam medis adalah berkas yang berisikan catatan dan dokumen tentang identitas pasien, pemeriksaan, pengobatan, tindakan dan pelayanan lain yang telah diberikan kepada pasien. 2.7.2. Isi Rekam Medis Isi rekam medis untuk pasien rawat jalan pada sarana pelayan kesehatan sekurang-kurangnya memuat : a. identitas pasien; b. tanggal dan waktu; c. hasil anamnesis, mencakup sekurang-kurangnya keluhan dan riwayat penyakit; d. hasil pemeriksaan fisik dan penunjang medik; e. diagnosis; f. rencana penatalaksanaan; g. pengobatan dan/atau tindakan; h. pelayanan lain yang telah diberikan kepada pasien; i. untuk pasien kasus gigi dilengkapi dengan odontogram klinik, dan j. persetujuan tindakan bila diperlukan. Rekam medis harus dibuat secara tertulis, lengkap dan jelas atau secara elektronik.
2.7.3. Penyelenggaraan Rekam Medis Penyelenggaraan rekam medis pada suatu sarana pelayanan kesehatan merupakan salah satu indikator mutu pelayanan pada institusi tersebut. Dalam hal ini Departemen Kesehatan telah mengatur tata cara penyelenggaraan rekam medis dalam Pasal 5 Peraturan Menteri Kesehatan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18
Republik Indonesia Nomor 269/MENKES/PER/III/2008, berikut adalah tata cara penyelenggaraan : a. Setiap dokter atau dikter gigi dalam menjalankan praktik kedokteran wajib membuat rekam medis. b. Rekam medis sebagaimana dimaksud pada ayat (1) harus dibuat segera dan dilengkapi setelah pasien menerima pelayanan. c. Pembuatan rekam medis sebagaimana dimaksud pada ayat (2) dilaksanakan
melalui
pencatatan
dan
pendokumentasian
hasil
pemeriksaan, pengobatan, tindakan, dan pelayanan lain yang telah diberikan kepada pasien. Setiap pencatatan le dalam rekam medis harus dibubuhi nama, waktu dan tanda tangan dokter, dokter gigi atau tenaga kesehatan tertentu yang memberikan pelayanan kesehatan secara langsung. d. Dalam hal terjadi kesalahan dalam melakukan pencatatan pada rekam medis dapat dilakukan pembetulan. e. Pembetulan sebagaimana dimaksud pada poin diatas hanya dapat dilakukan dengan cara pencoretan tanpa menghilangkan catatan yang dibetulkan dan dibubuhi paraf dokter, dokter gigi, atau tenaga kesehatan tertentu yang bersangkutan. 2.7.4. Manfaat Rekam Medis Dalam Peraturan Menteri Kesehatan Republik Indonesia Nomor 269/MENKES/PER/III/2008, berikut adalah pemanfaatan rekam medis : a. pemeliharaan kesehatan dan pengobatan pasien; b. alat bukti dalam proses penegakan hukum, disiplin kedokteran dan kedokteran gigi dan penegakan etika kedokteran dan etika kedokteran gigi; c. keperluan pendidikan dan penelitian; d. dasar pembayar biaya pelayan kesehatan; dan e. data statistik kesehatan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19
Pemanfaatan rekam medis untuk keperluan pendidikan dan penelitian tidak diperlukan persetujuan pasien, bila dilakukan untuk kepentingan negara.
2.7.5. Penyimpanan Rekam Medis Dalam audit medis, umumnya sumber data yang digunakan adalah rekam medis pasien, baik yang rawat jalan maupun rawat inap. Rekam medis adalah sumber data yang paling baik di rumah sakit meskipun memiliki beberapa kelemahan. Oleh karena itu, penyimpanan rekam medis harus dilaksanakan dengan sebaik baiknya. Rekam medis pasien rawat inap di rumah sakit wajib disimpan sekurangkurangnya untuk jangka waktu 5 (lima) tahun terhitung dari tanggal terakhir pasien berobat atau dipulangkan. Setelah batas waktu tersebut terlampaui, rekam medis dapat dimusnahkan, kecuali ringkasan pulang dan persetujuan tindakan medik. Sedangkan rekam medis pada sarana pelayan kesehatan non rumah sakit wajib disipan sekurang-kurangnya untuk jangka waktu 2 (dua) tahun terhitung dari tanggal terakhir pasien berobat. Informasi tentang identitas, diagnosis, riwayat penyakit, riwayat pemeriksaan dan riwayat pengobatan dapat dibuka dalam hal : a. untuk kepentingan kesehatan pasien; b. memenuhi permintaan aparatur penegak hukum dalam rangka penegakan hukum atas perintah pengadilan; c. permintaan dan/atau persetujuan pasien sendiri; d. permintaan institusi/lembaga berdasarkan ketentuan perundangundangan; dan e. untuk kepentingan penelitian, pendidikan, dan audit medis, sepanjang tidak menyebutkan identitas pasien. Penjelasan tentang isi rekam medis hanya boleh dilakukan oleh dokter atau dokter gigi yang merawat pasien dengan izin tertulis pasien atau berdasarkan peraturan perundang-undan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III ANALISA DAN PERANCANGAN SISTEM
3.1.Communication Pada tahap ini, dilakukan wawancara dengan petugas rekam medis, dokter radiologi, dan petugas radiologi Rumah Sakit Respira Yogyakarta. Hasil yang didapatkan dari wawancara yaitu proses pengelolaan rekam medis di RS Respira, proses pengambilan data radiologi pasien, form pendaftaran pasien, dan form rekam medis. 3.2.Analisa Sistem 3.2.1. Gambaran Umum Sistem Sistem Lama Performance
Information
Efficiency
Control
Economic
Service
Sistem Baru
Pencarian dokumen rekam medis relatif lama, karena harus mencari dokumen secara manual di sebuah ruangan yang digunakan untuk menyimpan dokumen rekam medis. Sistem Informasi Manajemen RS Respira belum dapat menyediakan informasi rekam medis dan informasi data radiologi. Dokumen rekam medis untuk pasien yang akan melakukan pemeriksaan diambil dan dioper ke klinik yang bersangkutan, dimana proses ini membutuhkan waktu dan tenaga. Terdapat potensi berkas rekam medis tertukar satu sama lain. Terdapat potensi berkas rekam medis rusak Terdapat biaya untuk mencetak map dan kertas berkas rekam medis. Apabila sering terjadi kesalahan akan terjadi pembengkakan biaya Pasien harus membawa foto rontgen saat akan melakukan pemeriksaan.
Pengguna sistem dapat melakukan pencarian rekam medis menggunakan Sistem Pengelolaan Rekam Medis dengan waktu yang relatif cepat.
Sistem Pengelolaan Rekam Medis menyediakan informasi mengenai rekam medis dan data radiologi
Rekam medis untuk pasien yang akan melakukan pemeriksaan cukup diakses melalui komputer yang saling terhubung melalui jaringan.
Rekam medis menjadi lebih akurat karena tidak mudah hilang dan tidak mudah tertukar.
Rekam dapat diakses melalui computer, tidak perlu dicetak.
Hasil rontgen dapat diakses melalui sistem
Tabel 3. 1. Tabel Gambaran Umum Sistem
20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21
3.2.2. Alur Kerja Pengelolaan Rekam Medis
Gambar 3. 1. Alur kerja pengelolaan rekam medis
a. Bagian Pendaftaran Di bagian pendaftaran, pasien baru harus melakukan registrasi atau pendaftaran pasien. Pasien akan dimintai keterangan mengenai data sosiologisnya. Setelah itu pasien melakukan pendaftaran pada klinik mana dia akan berkunjung. Untuk pasien lama, dapat langsung melakukan pendaftaran pada klinik yang dituju. Sebelum menuju klinik, pasien harus menuju ke triase terlebih dahulu. b. Triase Di triase, perawat akan melakukan anamnesa pada pasien. Jika pasien baru, maka akan dilakukan asesmen awal terlebih dahulu sebelum anamnesa. Setelah selesai, pasien menuju klinik. c. Klinik Di klinik, akan dilakukan pemeriksaan oleh dokter. Setelah diperiksa dokter memberi pengantar untuk melakukan rontgent jika diperlukan. d. Radiologi DI bagian radiologi, pasien mengantri untuk melakukan rontgent. Pasien akan diambil data rontgen nya dan hasil nya diinterpretasikan oleh dokter radiolog.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22
3.2.3. Analisa Kebutuhan Pengguna Aktor Administrator
Dokter
Dokter Radiolog
Perawat
Petugas Pendaftaran Petugas Radiologi
Wewenang 1. Menambahkan, melihat, mengedit dan menghapus data dokter. 2. Menambahkan, melihat, mengedit dan menghapus data user. 1. Melihat data pasien. 2. Melihat hasil asesmen awal pasien. 3. Melihat hasil anamnesa pasien yang akan diperiksa. 4. Melihat hasil rontgen pasien. 5. Menambahkan hasil pemeriksaan pasien. 1. Melihat data pasien 2. Melihat data radiologi 3. Menambahkan interpretasi pada hasil rontgen pasien. 1. Melihat data pasien. 2. Menambahkan asesmen awal pasien. 3. Menambahkan anamnesa pada pasien yang akan melakukan pemeriksaan. 1. Menambahkan, melihat, mengedit dan menghapus data pasien. 1. Melihat data pasien. 2. Menambahkan, melihat, dan menghapus data radiologi pasien. Tabel 3. 2. Tabel Analisa Kebutuhan Pengguna
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23
3.2.4. Use Case Diagram
Gambar 3. 2. Use Case Sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24
3.2.5. Narasi Use Case 3.2.5.1. Use Case Tambah Pemeriksaan Tabel 3. 3. Tabel Narasi Use Case Tambah Pemeriksaan
Use-Case Name Actor Precondition Trigger Typical Course of Event
Tambah Pemeriksaan Dokter Actor Login kedalam Sistem Actor menekan menu Rekam Medis Actor Action
Step 1 : Actor memasukkan ID pasien pada form pencarian dan menekan tombol cari.
Sistem Response
Step 2 : Sistem menampilkan hasil pencarian rekam medis pasien.
Step 3 : Aktor menekan nama pasien pada hasil pencarian Step 4 :Sistem menampilkan daftar pemeriksaan pasien Step 5 : Aktor menekan baris pemeriksaan yang berstatus belum diperiksa akan ditambahkan pemeriksaan Step 6 : Sistem menampilkan form pemeriksaan pasien
Step 7 : Aktor mengisi form pemeriksaan pasien. Aktor menekan tombol simpan.
Postcondition
Step 8 : Sistem menyimpan data pemeriksaan dan menampilkan pemberitahuan bahwa data berhasil disimpan Data pemeriksaan disimpan kedalam sistem dan sistem menampilkan pemberitahuan bahwa data berhasil disimpan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25
3.2.5.2. Use Case Edit Pemeriksaan Tabel 3. 4. Tabel Narasi Use Case Edit Pemeriksaan
Use-Case Name Actor Precondition Trigger Typical Course of Event
Edit Pemeriksaan Dokter Actor Login kedalam Sistem Actor menekan menu Rekam Medis Actor Action
Step 1 : Actor memasukkan ID pasien pada form pencarian dan menekan tombol cari.
Sistem Response
Step 2 : Sistem menampilkan hasil pencarian rekam medis pasien.
Step 3 : Aktor menekan nama pasien pada hasil pencarian Step 4 :Sistem menampilkan daftar pemeriksaan pasien Step 5 : Aktor menekan baris pemeriksaan yang akan diubah. Step 6 : Sistem menampilkan form edit pemeriksaan pasien
Step 7 : Aktor mengisi form edit pemeriksaan pasien. Aktor menekan tombol Edit Pemeriksaan.
Postcondition
Step 8 : Sistem menyimpan data pemeriksaan dan menampilkan pemberitahuan bahwa data berhasil disimpan Data pemeriksaan dalam sistem diubah dan sistem menampilkan pemberitahuan bahwa data berhasil disimpan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26
3.2.5.3. Use Case Tambah Asesmen Awal Tabel 3. 5. Tabel Narasi Use Case Tambah Asesmen Awal
Use-Case Name Actor Precondition Trigger Typical Course of Event
Tambah Asesmen Awal Perawat Actor Login kedalam Sistem Actor menekan menu Rekam Medis Actor Action
Step 1 : Actor memasukkan ID pasien pada form pencarian dan menekan tombol cari.
Sistem Response
Step 2 : Sistem menampilkan hasil pencarian rekam medis pasien.
Step 3 : Aktor menekan tombol asesmen awal pada hasil pencarian Step 4 :Sistem menampilkan form tambah asesmen awal Step 5 : Aktor mengisi form tambah asesmen awal. Aktor menekan tombolSimpan.
Postcondition
Step 6 : Sistem menyimpan asesmen awal pasien dan menampilkan pemberitahuan bahwa asesmen awal berhasil disimpan Asesmen awal disimpan ke dalam sistem dan sistem menampilkan pemberitahuan bahwa asesmen berhasil ditambahkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27
3.2.5.4. Use Case Anamnesa Tabel 3. 6. Tabel Narasi Use Case Anamnesa
Use-Case Name Actor Precondition Trigger Typical Course of Event
Tambah Anamnesa Perawat Actor Login kedalam Sistem Actor menekan menu Rekam Medis Actor Action
Step 1 : Actor memasukkan ID pasien pada form pencarian dan menekan tombol cari.
Sistem Response
Step 2 : Sistem menampilkan hasil pencarian rekam medis pasien.
Step 3 : Aktor menekan nama pasien pada hasil pencarian Step 4 :Sistem menampilkan daftar pemeriksaan pasien Step 5 : Aktor menekan tombol tambah Anamnesa Step 6 : Sistem menampilkan form tambah anamnesa Step 7 : Aktor memasukkan hasil anamnesa. Aktor menekan tombol tambah. Step 8 : Sistem menyimpan anamnesa dan menampilkan pemberitahuan anamnesa berhasil ditambahkan Alternate Course
Alt-Step 8: Jika asesmen sudah dibuat pada hari yang sama, sistem menampilkan pemberitahuan anamnesa sudah dilakukan
Postcondition
Anamnesa disimpan ke dalam sistem dan sistem menampilkan pemberitahuan bahwa Anamnesa berhasil ditambahkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28
3.2.5.5. Use Case lihat Asesmen Awal Tabel 3. 7. Tabel Narasi Use Case Asesmen Awal
Use-Case Name Actor Precondition Trigger Typical Course of Event
Lihat Asesmen Awal Perawat, Dokter Actor Login kedalam Sistem Actor menekan menu Rekam Medis Actor Action
Step 1 : Actor memasukkan ID pasien pada form pencarian dan menekan tombol cari.
Sistem Response
Step 2 : Sistem menampilkan hasil pencarian rekam medis pasien.
Step 3 : Aktor menekan tombol asesmen awal pada hasil pencarian Step 4 :Sistem menampilkan asesmen awal
Alternate Course
Alt-Step 4: Jika asesmen awal belum terisi. Jika actor dokter : sistem menampilkan pemeritahuan bahwa asesmen awal belum dilakukan. Jika actor perawat : menampilkan form tambah asesmen awal lalu actor melakukan use case tambah asesmen awal dan mengulang step 3
Postcondition
Asesmen awal ditampilkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29
3.2.5.6. Use Case Lihat Anamnesa Tabel 3. 8. Tabel Narasi Use Case Lihat Anamnesa
Use-Case Name Actor Precondition Trigger Typical Course of Event
Lihat Anamnesa Perawat Actor Login kedalam Sistem Actor menekan menu Rekam Medis Actor Action
Step 1 : Actor memasukkan ID pasien pada form pencarian dan menekan tombol cari.
Sistem Response
Step 2 : Sistem menampilkan hasil pencarian rekam medis pasien.
Step 3 : Aktor menekan nama pasien pada hasil pencarian Step 4 :Sistem menampilkan daftar pemeriksaan pasien Step 5 : Aktor menekan baris pemeriksaan. Step 6 : sistem menampilkan anamnesa.
Postcondition
Anamnesa ditampilkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30
3.2.5.7. Use Case Lihat Pemeriksaan Tabel 3. 9. Tabel Narasi Use Case Lihat Pemeriksaan
Use-Case Name Actor Precondition Trigger Typical Course of Event
Lihat Pemeriksaan Dokter Actor Login kedalam Sistem Actor menekan menu Rekam Medis Actor Action
Step 1 : Actor memasukkan ID pasien pada form pencarian dan menekan tombol cari.
Sistem Response
Step 2 : Sistem menampilkan hasil pencarian rekam medis pasien.
Step 3 : Aktor menekan nama pasien pada hasil pencarian Step 4 :Sistem menampilkan daftar pemeriksaan pasien Step 5 : Aktor menekan baris pemeriksaan. Step 6 : sistem menampilkan pemeriksaan.
Alternate Course
Alt-Step 6: Jika pemeriksaan belum diisi. Sistem menampilkan form tambah pemeriksaan. Actor melakukan use case tambah pemeriksaan lalu mengulangi step 3
Postcondition
Pemeriksaan ditampilkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31
3.2.5.8. Use Case Tambah Radiologi Tabel 3. 10. Tabel Narasi Use Case Tambah Radiologi
Use-Case Name Actor Precondition Trigger Typical Course of Event
Tambah Radiologi Radiografer Actor Login kedalam Sistem Actor menekan menu Radiologi Actor Action
Step 1 : Actor memasukkan ID pasien pada form pencarian dan menekan tombol cari.
Sistem Response Step 2 : Sistem menampilkan hasil pencarian
Step 3 : Actor menekan nama pasien Step 5 : Aktor mengisi form tambah radiologi. Aktor menekan tombol upload Postcondition
Step 4 : Sistem menampilkan form tambah radiologi Step 6 : Sistem menyimpan data radiologi dan menampilkan pemberitahuan data berhasil disimpan. Sistem menyimpan data radiologi dan menampilkan pemberitahuan data berhasil disimpan
3.2.5.9. Use Case Hapus Radiologi Tabel 3. 11. Tabel Narasi Use Case Hapus Radiologi
Use-Case Name Actor Precondition Trigger Typical Course of Event
Postcondition
Hapus Radiologi Radiografer Actor Login kedalam Sistem Actor menekan menu Radiologi Actor Action
Step 1 : Actor memasukkan ID pasien pada form pencarian dan menekan tombol cari.
Sistem Response Step 2 : Sistem menampilkan hasil pencarian
Step 3 : Actor menekan nama Step 4 : Sistem menampilkan pasien daftar radiologi pasien Step 5 : Aktor menekan Step 6 : Sistem menghapus tombol hapus pada baris data radiologi. radiologi pasien. Sistem menghapus data radiologi dan menampilkan pemberitahuan data berhasil dihapus.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32
3.2.5.10. Use Case Lihat Data Radiologi Tabel 3. 12. Tabel Narasi Use Case Lihat Data Radiologi
Use-Case Name Actor Precondition Trigger Typical Course of Event
Lihat Data Radiologi Radiografer, Dokter, Dokter Radiologi Actor Login kedalam Sistem Actor menekan menu Radiologi Actor Action Sistem Response Step 2 : Sistem menampilkan Step 1 : Actor memasukkan ID pasien pada form pencarian hasil pencarian
dan menekan tombol cari. Step 3 : Actor menekan nama pasien Step 5 : Aktor menekan tombol baris radiologi pasien. Postcondition
Step 4 : Sistem menampilkan daftar radiologi pasien Step 6 : Sistem menampilkan detail data radiologi.
Sistem menampilkan detail radiologi pasien.
3.2.5.11. Use Case Tambah Interpretasi Tabel 3. 13. Tabel Narasi Use Case Tambah Interpretasi
Use-Case Name Actor Precondition Trigger Typical Course of Event
Tambah Interpretasi Radiologi Dokter Radiologi Actor Login kedalam Sistem Actor menekan menu Radiologi Actor Action
Step 1 : Actor memasukkan ID pasien pada form pencarian dan menekan tombol cari. Step 3 : Actor menekan nama pasien Step 5 : Aktor menekan tombol baris radiologi pasien.
Postcondition
Sistem Response Step 2 : Sistem menampilkan hasil pencarian
Step 4 : Sistem menampilkan daftar radiologi pasien Step 6 : Sistem menampilkan detail data radiologi dan form tambah interpretasi. Step 8 : Sistem menambahkan interpretasi
Step 7 : Aktor mengisi form tambah interpretasi dan menekan tombol simpan Interpretasi radiologi disimpan kedalam sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33
3.2.5.12. Use Case Tambah pasien Tabel 3. 14. Tabel Narasi Use Case Tambah Pasien
Use-Case Name Actor Precondition Trigger Typical Course of Event
Tambah Pasien Pegawai Pendaftaran Actor Login kedalam Sistem Actor menekan menu Pendaftaran Pasien Actor Action Sistem Response Step 1 : Sistem menampilkan Step 2 : Actor mengisi data form tambah data pasien pasien
Step 3: Aktor menekan tombol Step 4 : Sistem menyimpan simpan data pasien Alternate Course
Alt-Step 2: Jika terdapat field wajib diisi yang masih kosong. Sistem menampilkan pemberitahuan dan meminta pengisian pada field yang belum diisi.
Postcondition
Sistem menyimpan data pasien
3.2.5.13. Use Case Hapus Pasien Tabel 3. 15. Tabel Narasi Use Case Hapus Pasien
Use-Case Name Actor Precondition Trigger Typical Course of Event
Hapus Pasien Pegawai Pendaftaran Actor Login kedalam Sistem Actor menekan menu Lihat Daftar Pasien Actor Action Sistem Response Step 2 : Actor mnekan tombol Step 1 : Sistem menampilkan tabel berisi list pasien dan form hapus pada baris tabel pasien. pencarian pasien
Step 3 : Aktor menekan tombol hapus pada baris tabel data pasien.
Step 4 : Sistem menghapus data pasien
Alternate Course
Alt-Step 2: Actor kesulitan menemukan baris data pasien. Aktor melakukan pencarian pada form pencarian pasien
Postcondition
Sistem menghapus data pasien
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34
3.2.5.14. Use Case Cetak Kartu Tabel 3. 16. Tabel Narasi use Case Cetak Kartu
Use-Case Name Actor Precondition Trigger Typical Course of Event
Cetak Kartu Pegawai Pendaftaran Actor Login kedalam Sistem Actor menekan menu Lihat Daftar Pasien Actor Action Sistem Response Step 2 : Actor mnekan tombol Step 1 : Sistem menampilkan tabel berisi list pasien dan form hapus pada baris tabel pasien. pencarian pasien
Step 3 : Aktor menekan tombol cetak kartu pada baris tabel data pasien.
Step 4 : Sistem menampilkan kartu pasien untuk dicetak
Alternate Course
Alt-Step 2: Actor kesulitan menemukan baris data pasien. Aktor melakukan pencarian pada form pencarian pasien
Postcondition
Sistem menampilkan template kartu pasien untuk dicetak.
3.2.5.15. Use Case Lihat Pasien Tabel 3. 17. Tabel Narasi Use Case Lihat Pasien
Use-Case Name Actor Precondition Trigger Typical Course of Event
Lihat Pasien Pegawai Pendaftaran Actor Login kedalam Sistem Actor menekan menu Lihat Pasien Actor Action
Step 2 : Actor mnekan tombol lihat pada baris tabel pasien. Step 4 : Aktor menekan tombol lihat
Sistem Response Step 1 : Sistem menampilkan tabel berisi list pasien dan form pencarian pasien
Step 3 : Sistem menampilkan data detail pasien pada textfield-textfield yang tidak dapat diedit
Alternate Course
Alt-Step 2: Actor kesulitan menemukan baris data pasien. Aktor melakukan pencarian pada form pencarian pasien
Postcondition
Sistem menampilkan data pasien.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35
3.2.5.16. Use Case Edit Pasien Tabel 3. 18. Tabel Narasi Use Case Edit Pasien
Use-Case Name Actor Precondition Trigger Typical Course of Event
Edit Pasien Pegawai Pendaftaran Actor melakukan usecase lihat pasien Actor menekan menu Lihat Pasien Actor Action Step 1: Aktor menekan tombol edit
Step 3: Aktor mengisi data pasien yang baru
Sistem Response
Step 2: Sistem mengubah textfield menjadi dapat diedit. Step 5: Sistem menyimpan data pasien baru
Step 4: Aktor menekan tombol simpan
Alternate Course
Alt-Step 2: Actor kesulitan menemukan baris data pasien. Aktor melakukan pencarian pada form pencarian pasien
Postcondition
Sistem menyimpan data pasien yang telah diperbarui.
3.2.5.17. Use Case Tambah Dokter Tabel 3. 19. Tabel Narasi Use Case Tambah Dokter
Use-Case Name Actor Precondition Trigger Typical Course of Event
Tambah Dokter Admin Actor Login kedalam Sistem Actor menekan menu Tambah Dokter Actor Action Sistem Response Step 1 : Sistem menampilkan Step 2 : Actor mengisi data form tambah data Dokter Dokter
Step 3: Aktor menekan tombol Step 4 : Sistem menyimpan simpan data Dokter
Alternate Course
Alt-Step 2: Jika terdapat field wajib diisi yang masih kosong. Sistem menampilkan pemberitahuan dan meminta pengisian pada field yang belum diisi.
Postcondition
Sistem menyimpan data Dokter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36
3.2.5.18. Use Case Hapus Dokter Tabel 3. 20. Tabel Narasi Use Case Hapus Dokter
Use-Case Name Actor Precondition Trigger Typical Course of Event
Hapus Dokter Admin Actor Login kedalam Sistem Actor menekan menu Lihat Dokter Actor Action
Step 2 : Actor menekan tombol hapus pada baris tabel Dokter. Step 3 : Aktor menekan tombol hapus pada baris tabel data Dokter.
Sistem Response Step 1 : Sistem menampilkan tabel berisi list Dokter dan form pencarian Dokter
Step 4 : Sistem menghapus data Dokter
Alternate Course
Alt-Step 2: Actor kesulitan menemukan baris data Dokter. Aktor melakukan pencarian pada form pencarian Dokter
Postcondition
Sistem menghapus data Dokter
3.2.5.19. Use Case Lihat Dokter Tabel 3. 21. Tabel Narasi Use Case Lihat Dokter
Use-Case Name Actor Precondition Trigger Typical Course of Event
Lihat Dokter Admin Actor Login kedalam Sistem Actor menekan menu Lihat Dokter Actor Action
Step 2 : Actor mnekan tombol lihat pada baris tabel Dokter. Step 4 : Aktor menekan tombol lihat
Sistem Response Step 1 : Sistem menampilkan tabel berisi list Dokter dan form pencarian Dokter
Step 3 : Sistem menampilkan data detail Dokter pada textfield-textfield yang tidak dapat diedit
Alternate Course
Alt-Step 2: Actor kesulitan menemukan baris data Dokter. Aktor melakukan pencarian pada form pencarian Dokter
Postcondition
Sistem menampilkan data Dokter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37
3.2.5.20. Use Case Edit Dokter Tabel 3. 22. Tabel Narasi Use Case Edit Dokter
Use-Case Name Actor Precondition Trigger Typical Course of Event
Edit Dokter Admin Actor melakukan usecase lihat Dokter Actor menekan menu Lihat Dokter Actor Action Step 1: Aktor menekan tombol edit
Step 3: Aktor mengisi data Dokter yang baru
Sistem Response
Step 2: Sistem mengubah textfield menjadi dapat diedit. Step 5: Sistem menyimpan data Dokter baru
Step 4: Aktor menekan tombol simpan Alternate Course
Alt-Step 2: Actor kesulitan menemukan baris data Dokter. Aktor melakukan pencarian pada form pencarian Dokter
Postcondition
Sistem menyimpan data Dokter yang telah diperbarui.
3.2.5.21. Use Case Tambah User Tabel 3. 23. Tabel Narasi Use Case Tambah User
Use-Case Name Actor Precondition Trigger Typical Course of Event
Tambah User Admin Actor Login kedalam Sistem Actor menekan menu Tambah User Actor Action
Alternate Course
Alt-Step 2: Jika terdapat field wajib diisi yang masih kosong. Sistem menampilkan pemberitahuan dan meminta pengisian pada field yang belum diisi.
Postcondition
Sistem menyimpan data User
Sistem Response Step 1 : Sistem menampilkan form tambah data User
Step 2 : Actor mengisi data User Step 3: Aktor menekan tombol Step 4 : Sistem menyimpan simpan data User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38
3.2.5.22. Use Case Hapus User Tabel 3. 24. Tabel Narasi Use Case Hapus User
Use-Case Name Actor Precondition Trigger Typical Course of Event
Hapus User Admin Actor Login kedalam Sistem Actor menekan menu Lihat User Actor Action
Step 2 : Actor menekan tombol hapus pada baris tabel User. Step 3 : Aktor menekan tombol hapus pada baris tabel data User.
Sistem Response Step 1 : Sistem menampilkan tabel berisi list User dan form pencarian User
Step 4 : Sistem menghapus data User
Alternate Course
Alt-Step 2: Actor kesulitan menemukan baris data User. Aktor melakukan pencarian pada form pencarian User
Postcondition
Sistem menghapus data User
3.2.5.23. Use Case Lihat User Tabel 3. 25. Tabel Narasi Use Case Lihat User
Use-Case Name Actor Precondition Trigger Typical Course of Event
Lihat User Admin Actor Login kedalam Sistem Actor menekan menu Lihat User Actor Action
Step 2 : Actor mnekan tombol lihat pada baris tabel User. Step 4 : Aktor menekan tombol lihat
Sistem Response Step 1 : Sistem menampilkan tabel berisi list User dan form pencarian User
Step 3 : Sistem menampilkan data detail User pada textfieldtextfield yang tidak dapat diedit
Alternate Course
Alt-Step 2: Actor kesulitan menemukan baris data User. Aktor melakukan pencarian pada form pencarian User
Postcondition
Sistem menampilkan data User.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39
3.2.5.24. Use Case Edit User Tabel 3. 26. Tabel Narasi Use Case Edit User
Use-Case Name Actor Precondition Trigger Typical Course of Event
Edit User Admin Actor melakukan usecase lihat User Actor menekan menu Lihat User Actor Action Step 1: Aktor menekan tombol edit
Step 3: Aktor mengisi data User yang baru
Sistem Response
Step 2: Sistem mengubah textfield menjadi dapat diedit. Step 5: Sistem menyimpan data User baru
Step 4: Aktor menekan tombol simpan Alternate Course
Alt-Step 2: Actor kesulitan menemukan baris data User. Aktor melakukan pencarian pada form pencarian User
Postcondition
Sistem menyimpan data User yang telah diperbarui.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40
3.3. Planning 3.3.1. Diagram Activity 3.3.1.1. Diagram Activity Tambah Pemeriksaan Aktor
Sistem
aktor memasukkan ID pasien pada form pencarian dan menekan tombol cari
Sistem menampilkan hasil pencarian rekam medis pasien.
menekan nama pasien pada hasil pencarian
Sistem menampilkan daftar pemeriksaan pasien
Aktor menekan baris pemeriksaan yang berstatus belum diperiksa akan ditambahkan pemeriksaan
menampilkan form pemeriksaan pasien
mengisi form pemeriksaan pasien
menekan tombol simpan
Sistem menyimpan data pemeriksaan dan menampilkan pemberitahuan bahwa data berhasil disimpan
Gambar 3. 3. Diagram Activity Tambah Pemeriksaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41
3.3.1.2. Diagram Activity Edit Pemeriksaan Aktor
Sistem
aktor memasukkan ID pasien pada form pencarian dan menekan tombol cari
Sistem menampilkan hasil pencarian rekam medis pasien.
menekan nama pasien pada hasil pencarian
Sistem menampilkan daftar pemeriksaan pasien
Aktor menekan baris pemeriksaan yang berstatus akan diubah
menampilkan form edit pemeriksaan pasien
mengisi form edit pemeriksaan pasien
menekan edit pemeriksaan
Sistem menyimpan data pemeriksaan dan menampilkan pemberitahuan bahwa data berhasil disimpan
Gambar 3. 4. Diagram Activity Edit Pemeriksaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42
3.3.1.3. Diagram Activity Tambah Asesmen Awal Aktor
Sistem
aktor memasukkan ID pasien pada form pencarian dan menekan tombol cari
Sistem menampilkan hasil pencarian rekam medis pasien.
menekan tombol asesmen awal pada hasil pencarian
menampilkan form tambah asesmen awal
mengisi form tambah asesmen awal
menekan tombol simpan
Sistem menyimpan asesmen awal pasien dan menampilkan pemberitahuan bahwa asesmen awal berhasil disimpan
Gambar 3. 5. Diagram Activity Tambah Asesmen Awal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43
3.3.1.4. Diagram Activity Anamnesa Aktor
Sistem
aktor memasukkan ID pasien pada form pencarian dan menekan tombol cari
Sistem menampilkan hasil pencarian rekam medis pasien.
menekan nama pasien pada hasil pencarian
Sistem menampilkan daftar pemeriksaan pasien
Aktor menekan tombol anamnesa
menampilkan form tambah anamnesa
mengisi form tambah anamnesa
menekan tombol tambah
Sistem menyimpan anamnesa dan menampilkan pemberitahuan anamnesa berhasil ditambahkan
Gambar 3. 6. Diagram Activity Anamnesa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44
3.3.1.5. Diagram Activity Lihat Asesmen Awal Aktor
Sistem
aktor memasukkan ID pasien pada form pencarian dan menekan tombol cari
Sistem menampilkan hasil pencarian rekam medis pasien.
menekan tombol asesmen awal pada hasil pencarian
menampilkan form asesmen awal pasien
Gambar 3. 7. Diagram Activity Lihat Asesmen Awal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 45
3.3.1.6. Diagram Activity Lihat Anamnesa Aktor
Sistem
aktor memasukkan ID pasien pada form pencarian dan menekan tombol cari
Sistem menampilkan hasil pencarian rekam medis pasien.
menekan nama pasien pada hasil pencarian
Sistem menampilkan daftar pemeriksaan pasien
Aktor menekan baris pemeriksaan
menampilkan anamnesa
Gambar 3. 8. Diagram Activity Lihat Anamnesa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46
3.3.1.7. Diagram Activity Lihat Pemeriksaan Aktor
Sistem
aktor memasukkan ID pasien pada form pencarian dan menekan tombol cari
Sistem menampilkan hasil pencarian rekam medis pasien.
menekan nama pasien pada hasil pencarian
Sistem menampilkan daftar pemeriksaan pasien
Aktor menekan baris pemeriksaan
menampilkan pemeriksaan
Gambar 3. 9. Diagram Activity Lihat Pemeriksaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 47
3.3.1.8. Diagram Activity Tambah Radiologi Aktor
Sistem
mengisi form tambah radiologi
menekan tombol simpan
menampilkan form tambah radiologi
menyimpan data radiologi
Gambar 3. 10. Diagram Activity Tambah Radiologi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48
3.3.1.9. Diagram Activity Hapus Radiologi Aktor
menekan tombol Lihat
Sistem
Tidak melakukan pencarian
Menampilkan data Tabel Pasien dan form pencarian pasien
Melakukan pencarian
memasukan query pada form pencarian
menekan tombol cari Menampilkan tabel data radiologi pasien dan form pencarian data radiologi
menekan tombol hapus pada baris yang ingin dihapus Melakukan pencarian
memasukan query pada form pencarian
menekan tombol cari Menghapus data radiologi yang dipilih
Gambar 3. 11. Diagram Activity Hapus Radiologi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49
3.3.1.10. Diagram Activity Lihat Data Radiologi Aktor
Sistem
aktor memasukkan ID pasien pada form pencarian dan menekan tombol cari
Sistem menampilkan hasil pencarian
menekan nama pasien pada hasil pencarian
Sistem menampilkan daftar radiologi pasien
Aktor menekan baris radiologi pasien
menampilkan detail data radiologi pasien
Gambar 3. 12. Diagram Activity Lihat Radiologi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50
3.3.1.11. Diagram Activity Tambah Interpretasi Aktor
Sistem
aktor memasukkan ID pasien pada form pencarian dan menekan tombol cari
Sistem menampilkan hasil pencarian
menekan nama pasien pada hasil pencarian
Sistem menampilkan daftar radiologi pasien
Aktor menekan baris radiologi pasien
menampilkan detail data radiologi dan form tambah interpretasi
Mengisi form tambah interpretasi
Menekan tombol simpan
menambahkan interpretasi
Gambar 3. 13. Diagram Activity Tambah Interpretasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51
3.3.1.12. Diagram Activity Tambah Pasien Aktor
Sistem
mengisi form tambah pasien
menekan tombol simpan
menampilkan form tambah pasien
menyimpan data pasien
Gambar 3. 14. Diagram Activity Tambah Pasien
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52
3.3.1.13. Diagram Activity Hapus Pasien Aktor
menekan tombol Hapus
Sistem
Tidak melakukan pencarian
Menampilkan data Tabel Pasien dan form pencarian pasien
Melakukan pencarian
memasukan query pada form pencarian
menekan tombol cari Menghapus data Pasien yang dipilih
Gambar 3. 15. Diagram Activity Hapus Pasien
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53
3.3.1.14. Diagram Activity Cetak Kartu Aktor
menekan tombol Cetak Kartu
Sistem
Tidak melakukan pencarian
Menampilkan data Tabel Pasien dan form pencarian pasien
Melakukan pencarian
memasukan query pada form pencarian
menekan tombol cari Menampilkan template kartu pasien
Gambar 3. 16. Diagram Activity Cetak Kartu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54
3.3.1.15. Diagram Activity Lihat Pasien Aktor
menekan tombol lihat
Sistem
Tidak melakukan pencarian
Menampilkan data Tabel Pasien dan form pencarian pasien
Melakukan pencarian
memasukan query pada form pencarian
menekan tombol cari menampilkan data pasien pada textfield yang tidak dapat diedit
Gambar 3. 17. Diagram Activity Lihat Pasien
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55
3.3.1.16. Diagram Activity Edit Pasien Aktor
Sistem
menekan tombol edit
menampilkan form tambah pasien yang telah terisi data yang sudah ada
mengisi data pasien yang baru menekan tombol simpan
menyimpan data pasien
Gambar 3. 18. Diagram Activity Edit Pasien
3.3.1.17. Diagram Activity Tambah Dokter Aktor
Sistem
mengisi form tambah dokter
menekan tombol simpan
menampilkan form tambah dokter
menyimpan data dokter
Gambar 3. 19. Diagram Activity Tambah Dokter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56
3.3.1.18. Diagram Activity Hapus Dokter Aktor
menekan tombol Hapus
Sistem
Tidak melakukan pencarian
Menampilkan data Tabel Dokter dan form pencarian dokter
Melakukan pencarian
memasukan query pada form pencarian
menekan tombol cari Menghapus data Dokter yang dipilih
Gambar 3. 20. Diagram Activity Hapus Dokter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57
3.3.1.19. Diagram Activity Lihat Dokter Aktor
menekan tombol lihat
Sistem
Tidak melakukan pencarian
Menampilkan data Tabel Dokter dan form pencarian dokter
Melakukan pencarian
memasukan query pada form pencarian
menekan tombol cari menampilkan data dokter pada textfield yang tidak dapat diedit
Gambar 3. 21. Diagram Activity Lihat Dokter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 58
3.3.1.20. Diagram Activity Edit Dokter Aktor
Sistem
menekan tombol edit
menampilkan form tambah dokter yang telah terisi data yang sudah ada
mengisi data dokter yang baru menekan tombol simpan
menyimpan data dokter
Gambar 3. 22. Diagram Activity Edit Dokter
3.3.1.21. Diagram Activity Tambah User Aktor
Sistem
mengisi form tambah user
menampilkan form tambah user
menekan tombol simpan
menyimpan data user
Gambar 3. 23. Diagram Activity Tambah User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59
3.3.1.22. Diagram Activity Hapus User Aktor
menekan tombol Hapus
Sistem
Tidak melakukan pencarian
Menampilkan data Tabel User dan form pencarian user
Melakukan pencarian
memasukan query pada form pencarian
menekan tombol cari Menghapus data User yang dipilih
Gambar 3. 24. Diagram Activity Hapus User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 60
3.3.1.23. Diagram Activity Lihat User Aktor
menekan tombol lihat
Sistem
Tidak melakukan pencarian
Menampilkan data Tabel User dan form pencarian User
Melakukan pencarian
memasukan query pada form pencarian
menekan tombol cari menampilkan data user pada textfield yang tidak dapat diedit
Gambar 3. 25. Diagram Activity Lihat User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61
3.3.1.24. Diagram Activity Edit User Aktor
Sistem
menekan tombol edit
menampilkan form tambah user yang telah terisi data yang sudah ada
mengisi data user yang baru menekan tombol simpan
menyimpan data user
Gambar 3. 26. Diagram Activity Edit User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 62
3.3.2. Diagram Sequence 3.3.2.1. Diagram Sequence Tambah Pemeriksaan
Gambar 3. 27. Diagram Sequence Tambah Pemeriksaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 63
3.3.2.2. Diagram Sequence Edit Pemeriksaan
Gambar 3. 28. Diagram Sequence Edit Pemeriksaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 64
3.3.2.3. Diagram Sequence Tambah Asesmen Awal
Gambar 3. 29. Diagram Sequence Tambah Asesmen Awal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 65
3.3.2.4. Diagram Sequence Anamnesa
Gambar 3. 30. Diagram Sequence Anamnesa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 66
3.3.2.5. Diagram Sequence Lihat Asesmen Awal
Gambar 3. 31. Diagram Sequence Lihat Asesmen Awal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 67
3.3.2.6. Diagram Sequence Lihat Anamnesa
Gambar 3. 32. Diagram Sequence Lihat Anamnesa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 68
3.3.2.7. Diagram Sequence Lihat Pemeriksaan
Gambar 3. 33. Diagram Sequence Lihat Pemeriksaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 69
3.3.2.8. Diagram Sequence Tambah Radiologi
Gambar 3. 34. Diagram Sequence Tambah Radiologi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 70
3.3.2.9. Diagram Sequence Hapus Radiologi
Gambar 3. 35. Diagram Sequence Hapus Radiologi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 71
3.3.2.10. Diagram Sequence Lihat Data Radiologi
Gambar 3. 36. Diagram Sequence Tambah Interpretasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 72
3.3.2.11. Diagram Sequence Tambah pasien
Gambar 3. 37. Diagram Sequence Tambah Pasien
3.3.2.12. Diagram Sequence Hapus Pasien
Gambar 3. 38. Diagram Sequence Hapus Pasien
3.3.2.13. Diagram Sequence Lihat Pasien
Gambar 3. 39. Diagram Sequence Lihat Pasien
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 73
3.3.2.14. Diagram Sequence Edit Pasien
Gambar 3. 40. Diagram Sequence Edit Pasien
3.3.2.15. Diagram Sequence Tambah Dokter
Gambar 3. 41. Diagram Sequence Tambah Dokter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 74
3.3.2.16. Diagram Sequence Hapus Dokter
Gambar 3. 42. Diagram Sequence Hapus Dokter
3.3.2.17. Diagram Sequence Lihat Dokter
Gambar 3. 43. Diagram Sequence Lihat Dokter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 75
3.3.2.18. Diagram Sequence Edit Dokter
Gambar 3. 44. Diagram Sequence Edit Dokter
3.3.2.19. Diagram Sequence Tambah User
Gambar 3. 45. Diagram Sequence Tambah User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 76
3.3.2.20. Diagram Sequence Hapus User
Gambar 3. 46. Diagram Sequence Hapus User
3.3.2.21. Diagram Sequence Lihat User
Gambar 3. 47. Diagram Sequence Lihat User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 77
3.3.2.22. Diagram Sequence Edit User
Gambar 3. 48. Diagram Sequence Edit User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 78
3.3.3. Perancangan Sistem 3.3.3.1. Diagram Kelas
Gambar 3. 49. Diagram Kelas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 79
3.3.4. Perancangan Basis Data 3.3.4.1. Diagram ER
Gambar 3. 50. ER Diagram
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 80
3.3.4.2. Desain Logikal
Gambar 3. 51. Desain Logikal
3.3.4.3. Desain Fisikal 3.3.4.3.1. Tabel USER_SPRM Atribut Datatype USERNAME VARCHAR2(50 BYTE) PASSWORD VARCHAR2(50 BYTE) ROLE VARCHAR2(20 BYTE) 3.3.4.3.2. Tabel DOKTER Atribut Datatype ID NAMA TANGGAL_LAHIR ALAMAT SPESIALISASI ID_USER
NUMBER VARCHAR2(20 BYTE) DATE VARCHAR2(150 BYTE) VARCHAR2(50 BYTE) VARCHAR2(20 BYTE)
Constraint Primaruy Key, not null Not null Not null
Constraint Primaruy Key, not null Not null Not null Not null Not null Foreign Key
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 81
3.3.4.3.3. Tabel PASIEN Atribut Datatype ID_PASIEN NAMA_PASIEN JENIS_KELAMIN TEMPAT_LAHIR TANGGAL_LAHIR GOLONGAN_DARAH AGAMA PENDIDIKAN PEKERJAAN STATUS_PERKAWINAN ALAMAT NAMA_PJ ALAMAT_PJ NOTELP_PJ
VARCHAR2(20 BYTE) VARCHAR2(50 BYTE) VARCHAR2(9 BYTE) VARCHAR2(50 BYTE) DATE VARCHAR2(2 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(100 BYTE) VARCHAR2(50 BYTE) VARCHAR2(100 BYTE) VARCHAR2(20 BYTE)
3.3.4.3.4. Tabel REKAM_MEDIS Atribut Datatype NO_RM ID_PASIEN
VARCHAR2(20 BYTE) VARCHAR2(20 BYTE)
Constraint Primaruy Key, not null Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null
Constraint Primaruy Key, not null Foreign Key,Not null
3.3.4.3.5. Tabel ASESMEN_AWAL Atribut Datatype NOMOR_ASESMEN KELUHAN_UTAMA
NUMBER
VARCHAR2(100 BYTE) RIWAYAT_PENYAKIT_SEKARANG VARCHAR2(100 BYTE) RIWAYAT_PENYAKIT_DAHULU VARCHAR2(100 BYTE) RIWAYAT_PENYAKIT_KELUARGA VARCHAR2(100 BYTE) RIWAYAT_ALERGI VARCHAR2(20 BYTE) ALERGI_MAKANAN VARCHAR2(100 BYTE) ALERGI_OBAT VARCHAR2(100 BYTE) ALERGI_LINGKUNGAN VARCHAR2(100 BYTE) BATUK VARCHAR2(100 BYTE) DAHAK VARCHAR2(100 BYTE)
Constraint Primary Key, Not null
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 82
SESAK_NAFAS BATUK_DARAH NYERI KWALITAS WAKTU SCALA LOKASI AKTIVITAS AMBULASI_JALAN TIDUR_MENGGUNAKAN STATUS_MENTAL RESIKO_JATUH PERUBAHAN_BB KONDISI_MAKAN KESIMPULAN BAB BAK RESPON_EMOSI RESPON_KOGNISI TEKANAN_DARAH RESPIRASI DISPNEU SIANOSIS BB SUHU NADI ANEMIS IKTERIK TB
VARCHAR2(100 BYTE) VARCHAR2(100 BYTE) NUMBER VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) NUMBER VARCHAR2(50 BYTE) VARCHAR2(50 BYTE) VARCHAR2(50 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(50 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(50 BYTE) VARCHAR2(50 BYTE) VARCHAR2(20 BYTE) NUMBER VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) NUMBER NUMBER NUMBER VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) NUMBER
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 83
KETAATAN_IBADAH
VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) NUMBER VARCHAR2(20 BYTE)
TINGGAL_DENGAN KONDISI_RUMAH LUAS_RUMAH NO_RM
3.3.4.3.6. Tabel ANAMNESA Atribut Datatype NOMOR_ANAMNESA TANGGAL HASIL NO_RM
NUMBER DATE VARCHAR2(200 BYTE) VARCHAR2(20 BYTE)
3.3.4.3.7. Tabel PEMERIKSAAN Atribut Datatype NOMOR_PEMERIKSAAN KESADARAN RESPIRASI TEKANAN_DARAH SUHU NADI CYANOSIS ICTERUS DYSPNUE NYERI BB TB INSPEKSI PALPASI PERKUSI AUSKULTASI HEPAR LIMPA ASCITES PERISTALTIK GINJAL SUPERIOR INFERIOR LAIN DIAGNOSIS PENGOBATAN
NUMBER VARCHAR2(20 BYTE) NUMBER VARCHAR2(20 BYTE) NUMBER NUMBER VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) NUMBER NUMBER NUMBER VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(100 BYTE) VARCHAR2(50 BYTE) VARCHAR2(50 BYTE) VARCHAR2(50 BYTE) VARCHAR2(50 BYTE) VARCHAR2(100 BYTE)
Foreign Key, Not null
Constraint Primaruy Key, not null Not null Not null Foreign Key, Not null
Constraint Primary Key, Not null
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 84
PROGNOSIS TINDAK_LANJUT ID_DOKTER NO_RM TANGGAL NOMOR_ANAMNESA
VARCHAR2(50 BYTE) VARCHAR2(50 BYTE) NUMBER VARCHAR2(20 BYTE) DATE NUMBER
3.3.4.3.8. Tabel RADIOLOGI Atribut Datatype ID TANGGAL FOTO_RONTGEN_DICOM FOTO_RONTGEN_FULL FOTO_RONTGEN_THUMB ID_PASIEN INTERPRETASI
VARCHAR2(20 BYTE) DATE ORDDICOM ORDIMAGE ORDIMAGE VARCHAR2(20 BYTE) VARCHAR2(200 BYTE)
Foreign Key Foreign Key Foreign Key
Constraint Primaruy Key, not null Not null
Foreign Key, Not Null
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV IMPLEMENTASI SISTEM 4.1. Construction Pada tahap ini menjelaskan mengenai spesifikasi perangkat keras, perangkat lunak, implementasi basis data, dan implementasi sistem.
4.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak Spesifikasi perangkat keras yang akan digunakan untuk membangun sistem yaitu: Processor : Intel Core i5 Hardisk : 1 TB Memory : 4 GB Spesifikasi perangkat lunak yang akan digunakan untuk membangun sistem yaitu: Sistem Operasi : Windows 7 64 bit Bahasa Pemrograman : JSP DBMS : Oracle 11g
4.1.2. Implementasi basis Data Pada tahap ini dilakukan pembangunan basis data menggunakan Oracle 11g untuk menunjang sistem yang akan dibangun. Berikut ini query yang digunakan untuk membuat database dengan nama “Sistem Pengelolaan Rekam Medis RS Paru Respira” beserta tabel-tabel di dalamnya :
Tabel USER_SPRM Create Table User_Sprm ( "Username" Varchar2(50 Byte) Not Null Enable, "Password" Varchar2(50 Byte), "Role" Varchar2(20 Byte), Constraint "User_Sprm_Pk" Primary Key ("Username");
Tabel DOKTER Create Table Dokter ("Id" Number Not Null Enable, "Nama" Varchar2(20 Byte) Not Null Enable, "Tanggal_Lahir" Date Not Null Enable, "Alamat" Varchar2(150 Byte) Not Null Enable, "Spesialisasi" Varchar2(50 Byte) Not Null Enable, "Id_User" Varchar2(20 Byte), Constraint "Dokter_Pk" Primary Key ("Id");
85
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 86
Tabel PASIEN Create Table Pasien ("Id_Pasien" Varchar2(20 Byte) Not Null Enable, "Nama_Pasien" Varchar2(50 Byte) Not Null Enable, "Jenis_Kelamin" Varchar2(9 Byte) Not Null Enable, "Tempat_Lahir" Varchar2(50 Byte) Not Null Enable, "Tanggal_Lahir" Date Not Null Enable, "Golongan_Darah" Varchar2(2 Byte) Not Null Enable, "Agama" Varchar2(20 Byte) Not Null Enable, "Pendidikan" Varchar2(20 Byte) Not Null Enable, "Pekerjaan" Varchar2(20 Byte) Not Null Enable, "Status_Perkawinan" Varchar2(20 Byte) Not Null Enable, "Alamat" Varchar2(100 Byte) Not Null Enable, "Nama_Pj" Varchar2(50 Byte) Not Null Enable, "Alamat_Pj" Varchar2(100 Byte) Not Null Enable, "Notelp_Pj" Varchar2(20 Byte) Not Null Enable, Constraint "Pasien_Pk" Primary Key ("Id_Pasien");
Tabel ASESMEN_AWAL Create Table "Scott"."Asesmen_Awal" ("Nomor_Asesmen" Number Not Null Enable, "Keluhan_Utama" Varchar2(100 Byte), "Riwayat_Penyakit_Sekarang" Varchar2(100 Byte), "Riwayat_Penyakit_Dahulu" Varchar2(100 Byte), "Riwayat_Penyakit_Keluarga" Varchar2(100 Byte), "Riwayat_Alergi" Varchar2(20 Byte), "Alergi_Makanan" Varchar2(100 Byte), "Alergi_Obat" Varchar2(100 Byte), "Alergi_Lingkungan" Varchar2(100 Byte), "Batuk" Varchar2(100 Byte), "Dahak" Varchar2(100 Byte), "Sesak_Nafas" Varchar2(100 Byte), "Batuk_Darah" Varchar2(100 Byte), "Nyeri" Number, "Kwalitas" Varchar2(20 Byte), "Waktu" Varchar2(20 Byte), "Scala" Number, "Lokasi" Varchar2(50 Byte), "Aktivitas" Varchar2(50 Byte), "Ambulasi_Jalan" Varchar2(50 Byte), "Tidur_Menggunakan" Varchar2(20 Byte), "Status_Mental" Varchar2(20 Byte), "Resiko_Jatuh" Varchar2(20 Byte), "Perubahan_Bb" Varchar2(20 Byte), "Kondisi_Makan" Varchar2(20 Byte), "Kesimpulan" Varchar2(50 Byte), "Bab" Varchar2(20 Byte), "Bak" Varchar2(20 Byte), "Respon_Emosi" Varchar2(50 Byte), "Respon_Kognisi" Varchar2(50 Byte), "Tekanan_Darah" Varchar2(20 Byte), "Respirasi" Number, "Dispneu" Varchar2(20 Byte), "Sianosis" Varchar2(20 Byte), "Bb" Number, "Suhu" Number, "Nadi" Number,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 87
"Anemis" Varchar2(20 Byte), "Ikterik" Varchar2(20 Byte), "Tb" Number, "Ketaatan_Ibadah" Varchar2(20 Byte), "Tinggal_Dengan" Varchar2(20 Byte), "Kondisi_Rumah" Varchar2(20 Byte), "Luas_Rumah" Number, "No_Rm" Varchar2(20 Byte) Not Null Enable, Constraint "Asesmen_Awal_Pk" Primary Key ("Nomor_Asesmen") Using Index Pctfree 10 Initrans 2 Maxtrans 255 Compute Statistics Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default) Tablespace "Users" Enable, Constraint "Asesmen_Awal_Uk1" Unique ("No_Rm") Using Index Pctfree 10 Initrans 2 Maxtrans 255 Compute Statistics Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default) Tablespace "Users" Enable, Constraint "Asesmen_Awal_Rekam_Medis_Fk1" Foreign Key ("No_Rm") References "Scott"."Rekam_Medis" ("No_Rm") On Delete Cascade Enable ) Segment Creation Immediate Pctfree 10 Pctused 40 Initrans 1 Maxtrans 255 Nocompress Logging Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default) Tablespace "Users" ;
Tabel ANAMNESA Create Table "Scott"."Anamnesa" ("Nomor_Anamnesa" Number Not Null Enable, "Tanggal" Date Not Null Enable, "Hasil" Varchar2(200 Byte) Not Null Enable, "No_Rm" Varchar2(20 Byte) Not Null Enable, Constraint "Anamnesa_Pk" Primary Key ("Nomor_Anamnesa") Using Index Pctfree 10 Initrans 2 Maxtrans 255 Compute Statistics Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default) Tablespace "Users" Enable, Constraint "Anamnesa_Rekam_Medis_Fk1" Foreign Key ("No_Rm") References "Scott"."Rekam_Medis" ("No_Rm") On Delete Cascade Enable ) Segment Creation Immediate Pctfree 10 Pctused 40 Initrans 1 Maxtrans 255 Nocompress Logging Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default) Tablespace "Users" ;
Tabel PEMERIKSAAN Create Table "Scott"."Pemeriksaan" ("Nomor_Pemeriksaan" Number Not Null Enable, "Kesadaran" Varchar2(20 Byte), "Respirasi" Number, "Tekanan_Darah" Varchar2(20 Byte),
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 88
"Suhu" Number, "Nadi" Number, "Cyanosis" Varchar2(20 Byte), "Icterus" Varchar2(20 Byte), "Dyspnue" Varchar2(20 Byte), "Nyeri" Number, "Bb" Number, "Tb" Number, "Inspeksi" Varchar2(20 Byte), "Palpasi" Varchar2(20 Byte), "Perkusi" Varchar2(20 Byte), "Auskultasi" Varchar2(20 Byte), "Hepar" Varchar2(20 Byte), "Limpa" Varchar2(20 Byte), "Ascites" Varchar2(20 Byte), "Peristaltik" Varchar2(20 Byte), "Ginjal" Varchar2(100 Byte), "Superior" Varchar2(50 Byte), "Inferior" Varchar2(50 Byte), "Lain" Varchar2(50 Byte), "Diagnosis" Varchar2(50 Byte), "Pengobatan" Varchar2(100 Byte), "Prognosis" Varchar2(50 Byte), "Tindak_Lanjut" Varchar2(50 Byte), "Id_Dokter" Number, "No_Rm" Varchar2(20 Byte), "Tanggal" Date, "Nomor_Anamnesa" Number, Constraint "Pemeriksaan_Pk" Primary Key ("Nomor_Pemeriksaan") Using Index Pctfree 10 Initrans 2 Maxtrans 255 Compute Statistics Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default) Tablespace "Users" Enable, Constraint "Pemeriksaan_Dokter_Fk" Foreign Key ("Id_Dokter") References "Scott"."Dokter" ("Id") Enable, Constraint "Pemeriksaan_Rekam_Medis_Fk1" Foreign Key ("No_Rm") References "Scott"."Rekam_Medis" ("No_Rm") On Delete Cascade Enable, Constraint "Pemeriksaan_Anamnesa_Fk1" Foreign Key ("Nomor_Anamnesa") References "Scott"."Anamnesa" ("Nomor_Anamnesa") Enable ) Segment Creation Immediate Pctfree 10 Pctused 40 Initrans 1 Maxtrans 255 Nocompress Logging Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default) Tablespace "Users" ;
Table REKAM_MEDIS Create Table "Scott"."Rekam_Medis" ("No_Rm" Varchar2(20 Byte) Not Null Enable, "Id_Pasien" Varchar2(20 Byte) Not Null Enable, Constraint "Rekam_Medis_Pk" Primary Key ("No_Rm") Using Index Pctfree 10 Initrans 2 Maxtrans 255 Compute Statistics Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 89
Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default) Tablespace "Users" Enable, Constraint "Rekam_Medis_Pasien_Fk1" Foreign Key ("Id_Pasien") References "Scott"."Pasien" ("Id_Pasien") On Delete Cascade Enable ) Segment Creation Immediate Pctfree 10 Pctused 40 Initrans 1 Maxtrans 255 Nocompress Logging Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default) Tablespace "Users" ;
Tabel RADIOLOGI Create Table "Scott"."Radiologi" ("Id" Varchar2(20 Byte), "Tanggal" Date Not Null Enable, "Foto_Rontgen_Dicom" "Ordsys"."Orddicom" , "Foto_Rontgen_Full" "Ordsys"."Ordimage" , "Foto_Rontgen_Thumb" "Ordsys"."Ordimage" , "Id_Pasien" Varchar2(20 Byte) Not Null Enable, "Interpretasi" Varchar2(200 Byte), Primary Key ("Id") Using Index Pctfree 10 Initrans 2 Maxtrans 255 Compute Statistics Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default) Tablespace "Users" Enable, Constraint "Radiologi_Pasien_Fk1" Foreign Key ("Id_Pasien") References "Scott"."Pasien" ("Id_Pasien") Enable ) Segment Creation Immediate Pctfree 10 Pctused 40 Initrans 1 Maxtrans 255 Nocompress Logging Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default) Tablespace "Users" Lob ("Foto_Rontgen_Dicom"."Source"."Localdata") Store As Basicfile ( Tablespace "Users" Enable Storage In Row Chunk 8192 Pctversion 10 Nocache Logging Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default)) Xmltype Column "Foto_Rontgen_Dicom"."Metadata" Store As Basicfile Clob ( Tablespace "Users" Enable Storage In Row Chunk 8192 Pctversion 10 Nocache Logging Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default)) Lob ("Foto_Rontgen_Dicom"."Extension") Store As Basicfile ( Tablespace "Users" Enable Storage In Row Chunk 8192 Pctversion 10 Nocache Logging Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 90
Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default)) Lob ("Foto_Rontgen_Full"."Source"."Localdata") Store As Basicfile ( Tablespace "Users" Enable Storage In Row Chunk 8192 Pctversion 10 Nocache Logging Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default)) Lob ("Foto_Rontgen_Thumb"."Source"."Localdata") Store As Basicfile ( Tablespace "Users" Enable Storage In Row Chunk 8192 Pctversion 10 Nocache Logging Storage(Initial 65536 Next 1048576 Minextents 1 Maxextents 2147483645 Pctincrease 0 Freelists 1 Freelist Groups 1 Buffer_Pool Default Flash_Cache Default Cell_Flash_Cache Default)) ;
Procedure Image_Import create or replace procedure image_import(id_radiologi IN varchar2, tanggal IN date, id_pasien IN varchar2, filename IN varchar2) is dcm ordsys.orddicom; begin delete from Radiologi where id = id_radiologi; insert into Radiologi (id, tanggal, foto_rontgen_dicom, foto_rontgen_full, foto_rontgen_thumb, id_pasien) values (id_radiologi, tanggal, ordsys.orddicom('file', 'IMAGEDIR', filename, 0), ordsys.ordimage.init(),ordsys.ordimage.init(), id_pasien) returning foto_rontgen_dicom into dcm; dcm.import(1); update Radiologi set foto_rontgen_dicom=dcm where id=id_radiologi; commit; end;
Procedure Generate_Full create or replace procedure generate_full(source_id varchar2, verb varchar2) is dcmSrc ordsys.orddicom; imgDst ordsys.ordimage; begin select foto_rontgen_dicom, foto_rontgen_full into dcmSrc, imgDst from radiologi where id = source_id for update; dcmSrc.processCopy(verb, imgDst); update radiologi set foto_rontgen_full = imgDst where id = source_id; commit; end;
Procedure Generate_Thumb create or replace procedure generate_thumb(source_id varchar2, verb varchar2) is dcmSrc ordsys.orddicom; imgDst ordsys.ordimage; begin select foto_rontgen_dicom, foto_rontgen_thumb into dcmSrc, imgDst from radiologi where id = source_id for update; dcmSrc.processCopy(verb, imgDst); update radiologi set foto_rontgen_thumb = imgDst where id = source_id; commit; end;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 91
4.1.3. Implementasi Sistem 4.1.3.1. Menu Login
String username = request.getParameter("username"); String password = request.getParameter("password");
User user; UserKontrol uk = new UserKontrol(); user = uk.Read(username); if (user == null) { request.setAttribute("error", "username"); RequestDispatcher requestDispatcher = request .getRequestDispatcher("/login.jsp"); requestDispatcher.forward(request, response); } else { if (!user.getPassword().equals(password)) { request.setAttribute("error", "password"); RequestDispatcher requestDispatcher = request .getRequestDispatcher("/login.jsp"); requestDispatcher.forward(request, response); } else { HttpSession session = request.getSession(); session.setAttribute("username", user.getUsername()); session.setAttribute("role", user.getRole()); if(user.getRole().equals("Dokter")||user.getRole().equals("Dokter Radiologi")){ DokterKontrol dk = new DokterKontrol(); String id_dokter = dk.ReadbyUsername(user.getUsername()).getId()+"";
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 92
String spesialisasi = dk.ReadbyUsername(user.getUsername()).getSpesialisasi()+""; session.setAttribute("id_dokter", id_dokter); session.setAttribute("spesialisasi", id_dokter); Dokter dokter = dk.Read(id_dokter); } RequestDispatcher requestDispatcher = request .getRequestDispatcher("/index.jsp"); requestDispatcher.forward(request, response); } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 93
4.1.3.2. Admin 4.1.3.2.1. Tambah User
Gambar 4. 1. Menu Tambah User
try { String sql = "insert into user_sprm(username, password, role) " + "values(?,?,INITCAP(?))"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setString(1, input.getUsername()); pstmt.setString(2, input.getPassword()); pstmt.setString(3, input.getRole()); pstmt.executeUpdate(); koneksi.commit(); koneksi.close(); return "berhasil"; } catch (SQLException ex) { Logger.getLogger(UserKontrol.class.getName()).log(Level.SEVERE, null, ex); return ex.getMessage(); }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 94
4.1.3.2.2. Lihat User
Gambar 4. 2. Menu Lihat User
try { PreparedStatement statement = null; ResultSet result = null; List<User> listUser = new ArrayList<User>(); koneksi.setAutoCommit(false); statement = koneksi.prepareStatement("select username, password, role from user_sprm where username != 'admin@respira' order by username"); result = statement.executeQuery(); while (result.next()) { User user = new User(); user.setUsername(result.getString("username")); user.setPassword(result.getString("password")); user.setRole(result.getString("role")); listUser.add(user); } return listUser; } catch (SQLException ex) { Logger.getLogger(UserKontrol.class.getName()).log(Level.SEVERE, null, ex); return null; }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 95
4.1.3.2.3. Edit User
Gambar 4. 3. Menu Edit User
public String Update(String ID, User newData) { try { if (Read(ID) != null) { String sql = "update user_sprm set password = ?, role=INITCAP(?)where username = ?"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setString(1, newData.getPassword()); pstmt.setString(2, newData.getRole()); pstmt.setString(3, ID); pstmt.executeUpdate(); koneksi.commit(); koneksi.close(); return "berhasil"; } else { return "Data Tidak Ditemukan"; } } catch (SQLException ex) { Logger.getLogger(UserKontrol.class.getName()).log(Level.SEVERE, null, ex); try { koneksi.rollback(); } catch (SQLException ex1) { Logger.getLogger(UserKontrol.class.getName()).log(Level.SEVERE, null, ex1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 96
} return ex.getMessage(); } }
4.1.3.2.4. Hapus User
Gambar 4. 4. Menu Hapus User
public String Delete(String ID) { try { if (Read(ID) != null) { String sql = "delete from user_sprm where username = ?"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setString(1, ID); DokterKontrol dk = new DokterKontrol(); dk.UpdateUserId2(ID, ""); pstmt.executeUpdate(); if (fromDokter == false) { koneksi.commit(); koneksi.close(); } return "berhasil"; } else { return "Data Tidak Ditemukan"; } } catch (SQLException ex) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 97
Logger.getLogger(UserKontrol.class.getName()).log(Level.SEVERE, null, ex); try { koneksi.rollback(); } catch (SQLException ex1) { Logger.getLogger(UserKontrol.class.getName()).log(Level.SEVERE, null, ex1); } return ex.getMessage(); } }
4.1.3.2.5. Tambah Dokter
Gambar 4. 5. Menu Tambah Dokter
public String Create(Dokter input) { try { String sql = "insert into dokter(id,nama,tanggal_lahir,alamat,spesialisasi) " + "values(?,?,?,?,?)"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setInt(1, generateID()); pstmt.setString(2, input.getNama()); pstmt.setString(3, input.getTanggal_lahir()); pstmt.setString(4, input.getAlamat()); pstmt.setString(5, input.getSpesialisasi()); pstmt.executeUpdate(); koneksi.commit(); koneksi.close(); return "berhasil";
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 98
} catch (SQLException ex) { Logger.getLogger(DokterKontrol.class.getName()).log(Level.SEVERE, null, ex); return ex.getMessage(); } }
4.1.3.2.6. Edit Dokter
Gambar 4. 6. Menu Edit Dokter
public String Update(String ID, Dokter newData) { try { if (Read(ID) != null) { String sql = "update dokter set nama = ?, tanggal_lahir=?, alamat=?, spesialisasi=? where id = ?"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setString(1, newData.getNama()); pstmt.setString(2, newData.getTanggal_lahir()); pstmt.setString(3, newData.getAlamat()); pstmt.setString(4, newData.getSpesialisasi()); pstmt.setString(5, ID); pstmt.executeUpdate(); koneksi.commit(); koneksi.close(); return "berhasil"; } else { return "Data Tidak Ditemukan";
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 99
} } catch (SQLException ex) { Logger.getLogger(DokterKontrol.class.getName()).log(Level.SEVERE, null, ex); try { koneksi.rollback(); } catch (SQLException ex1) { Logger.getLogger(DokterKontrol.class.getName()).log(Level.SEVERE, null, ex1); return ex.getMessage(); } return ex.getMessage(); } }
4.1.3.2.7. Hapus Dokter
Gambar 4. 7. Menu Hapus Dokter
public String Delete(String ID) { try { Dokter dokter = Read(ID); if (dokter != null) { if (dokter.getUser() != null) { String usname = dokter.getUser().getUsername(); String sql = "delete from dokter where id = ?"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setString(1, ID); pstmt.executeUpdate();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 100
UserKontrol uk = new UserKontrol(koneksi); uk.Delete(usname); koneksi.commit(); koneksi.close(); return "berhasil"; } else { String sql = "delete from dokter where id = ?"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setString(1, ID); pstmt.executeUpdate(); koneksi.commit(); koneksi.close(); return "berhasil"; } } else { return "Data Tidak Ditemukan"; } } catch (SQLException ex) { Logger.getLogger(DokterKontrol.class.getName()).log(Level.SEVERE, null, ex); try { koneksi.rollback(); } catch (SQLException ex1) { Logger.getLogger(DokterKontrol.class.getName()).log(Level.SEVERE, null, ex1); } return ex.getMessage(); } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 101
4.1.3.2.8. Lihat Dokter
Gambar 4. 8. Menu Lihat Dokter
public List
ReadAll() { try { PreparedStatement statement = null; ResultSet result = null; List listDokter = new ArrayList(); koneksi.setAutoCommit(false); statement = koneksi.prepareStatement("select id,nama,tanggal_lahir,alamat,spesialisasi from dokter order by id"); result = statement.executeQuery(); while (result.next()) { Dokter dokter = new Dokter(); dokter.setId(result.getInt("id")); dokter.setNama(result.getString("nama")); dokter.setTanggal_lahir(result.getString("tanggal_lahir")); dokter.setAlamat(result.getString("alamat")); dokter.setSpesialisasi(result.getString("spesialisasi")); listDokter.add(dokter); } return listDokter; } catch (SQLException ex) { Logger.getLogger(DokterKontrol.class.getName()).log(Level.SEVERE, null, ex); return null; } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 102
4.1.3.3. Bagian Pendaftaran 4.1.3.3.1. Tambah Pasien
Gambar 4. 9. Menu Tambah Pasien
try {
String sql = "insert into pasien(id_pasien, nama_pasien, jenis_kelamin, tempat_lahir, tanggal_lahir," + "golongan_darah, agama, pendidikan, pekerjaan, status_perkawinan, alamat, nama_pj, alamat_pj, notelp_pj) " + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; PreparedStatement pstmt = koneksi.prepareStatement(sql); input.setId_pasien(generateID()); pstmt.setString(1, input.getId_pasien()); pstmt.setString(2, input.getNama_pasien()); pstmt.setString(3, input.getJenis_kelamin()); pstmt.setString(4, input.getTempat_lahir()); pstmt.setString(5, input.getTanggal_lahir()); pstmt.setString(6, input.getGolongan_darah()); pstmt.setString(7, input.getAgama()); pstmt.setString(8, input.getPendidikan()); pstmt.setString(9, input.getPekerjaan()); pstmt.setString(10, input.getStatus_perkawinan()); pstmt.setString(11, input.getAlamat()); pstmt.setString(12, input.getNama_pj());
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 103
pstmt.setString(13, input.getAlamat_pj()); pstmt.setString(14, input.getNotelp_pj()); pstmt.executeUpdate(); RekamMedis rm = new RekamMedis(); rm.setPasien(input); RekamMedisKontrol rmk = new RekamMedisKontrol(koneksi); rmk.Create(rm); koneksi.commit(); koneksi.close(); return "berhasil"; } catch (SQLException ex) { Logger.getLogger(PasienKontrol.class.getName()).log(Level.SEVERE, null, ex); return ex.getMessage(); } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 104
4.1.3.3.2. Edit Pasien
Gambar 4. 10. Menu Edit Pasien
public String Update(String ID, Pasien newData) { try { if (Read(ID) != null) { String sql = "update pasien set nama_pasien=?, jenis_kelamin=?, tempat_lahir=?," + "tanggal_lahir=?, golongan_darah=?, agama=?, pendidikan=?, pekerjaan=?," + "status_perkawinan=?, alamat=?, nama_pj=?, alamat_pj=?, notelp_pj=?" + " where id_pasien = ?"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setString(1, newData.getNama_pasien()); pstmt.setString(2, newData.getJenis_kelamin()); pstmt.setString(3, newData.getTempat_lahir()); pstmt.setString(4, newData.getTanggal_lahir());
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 105
pstmt.setString(5, newData.getGolongan_darah()); pstmt.setString(6, newData.getAgama()); pstmt.setString(7, newData.getPendidikan()); pstmt.setString(8, newData.getPekerjaan()); pstmt.setString(9, newData.getStatus_perkawinan()); pstmt.setString(10, newData.getAlamat()); pstmt.setString(11, newData.getNama_pj()); pstmt.setString(12, newData.getAlamat_pj()); pstmt.setString(13, newData.getNotelp_pj()); pstmt.setString(14, ID); pstmt.executeUpdate(); koneksi.commit(); koneksi.close(); return "berhasil"; } else { return "Data Tidak Ditemukan"; } } catch (SQLException ex) { Logger.getLogger(PasienKontrol.class.getName()).log(Level.SEVERE, null, ex); try { koneksi.rollback(); } catch (SQLException ex1) { Logger.getLogger(PasienKontrol.class.getName()).log(Level.SEVERE, null, ex1); } return ex.getMessage(); } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 106
4.1.3.3.3. Hapus Pasien
Gambar 4. 11. Menu Hapus Pasien
public String Delete(String ID) { try { if (Read(ID) != null) { String sql = "delete from pasien where id_pasien = ?"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setString(1, ID); pstmt.executeUpdate(); koneksi.commit(); koneksi.close(); return "berhasil"; } else { return "Data Tidak Ditemukan"; } } catch (SQLException ex) { Logger.getLogger(PasienKontrol.class.getName()).log(Level.SEVERE, null, ex); try { koneksi.rollback(); } catch (SQLException ex1) { Logger.getLogger(PasienKontrol.class.getName()).log(Level.SEVERE, null, ex1); } return ex.getMessage(); } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 107
4.1.3.3.4. Lihat Pasien
Gambar 4. 12. Menu Lihat Pasien
public List<Pasien> ReadAll() { try { PreparedStatement statement = null; ResultSet result = null; List<Pasien> listPasien = new ArrayList<Pasien>(); koneksi.setAutoCommit(false); statement = koneksi.prepareStatement("select id_pasien, nama_pasien, jenis_kelamin, tempat_lahir, tanggal_lahir," + "golongan_darah, agama, pendidikan, pekerjaan, status_perkawinan, alamat, nama_pj, alamat_pj, notelp_pj" + " from pasien order by id_pasien"); result = statement.executeQuery();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 108
while (result.next()) { Pasien pasien = new Pasien(); pasien.setId_pasien(result.getString("id_pasien")); pasien.setNama_pasien(result.getString("nama_pasien")); pasien.setJenis_kelamin(result.getString("jenis_kelamin")); pasien.setTempat_lahir(result.getString("tempat_lahir")); pasien.setTanggal_lahir(result.getString("tanggal_lahir")); pasien.setGolongan_darah(result.getString("golongan_darah")); pasien.setAgama(result.getString("agama")); pasien.setPendidikan(result.getString("pendidikan")); pasien.setPekerjaan(result.getString("pekerjaan")); pasien.setStatus_perkawinan(result.getString("status_perkawinan")); pasien.setAlamat(result.getString("alamat")); pasien.setNama_pj(result.getString("nama_pj")); pasien.setAlamat_pj(result.getString("alamat_pj")); pasien.setNotelp_pj(result.getString("notelp_pj")); listPasien.add(pasien); } return listPasien; } catch (SQLException ex) { Logger.getLogger(PasienKontrol.class.getName()).log(Level.SEVERE, null, ex); return null; } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 109
4.1.3.3.5. Pendaftaran Pemeriksaan Pasien
Gambar 4. 13. Menu Pendaftaran Pemeriksaan Pasien
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 110
4.1.3.4. Radiologi 4.1.3.4.1. Tambah Data Radiologi
Gambar 4. 14. Menu Tambah Data Radiologi
public String Create(Radiologi input) { try {
String sql = "insert into Radiologi(id, tanggal, id_pasien) " + "values(?,sysdate,?)"; PreparedStatement pstmt = koneksi.prepareStatement(sql); input.setId(generateID()+""); pstmt.setString(1, input.getId()); pstmt.setString(2, input.getPasien().getId_pasien()); pstmt.executeUpdate();
koneksi.commit(); return input.getId(); } catch (SQLException ex) { Logger.getLogger(RadiologiKontrol.class.getName()).log(Level.SEVERE, null, ex); return ex.getMessage(); } }
private void exportImageThumb(String id, String filename) throws Exception { PreparedStatement statement = null;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 111
try { //
setDataModel();
statement = koneksi.prepareStatement("DECLARE\n" + " obj ORDSYS.ORDImage;\n" + " ctx RAW(4000) :=NULL;\n" + "BEGIN\n" + " SELECT foto_rontgen_thumb INTO obj FROM radiologi WHERE id = " + id + ";\n" + " obj.export(ctx,'FILE','IMAGEDIR','" + filename + "-thumb.png);\n" + " EXCEPTION\n" + " WHEN ORDSYS.ORDSourceExceptions.METHOD_NOT_SUPPORTED THEN\n" + " DBMS_OUTPUT.put_line('Source METHOD_NOT_SUPPORTED caught');\n" + " WHEN ORDSYS.ORDSourceExceptions.SOURCE_PLUGIN_EXCEPTION THEN\n" + " DBMS_OUTPUT.put_line('SOURCE PLUGIN EXCEPTION caught');\n" + " WHEN OTHERS THEN\n" + " DBMS_OUTPUT.put_line('OTHER EXCEPTION caught');\n" + "END;\n"); statement.executeQuery();
koneksi.commit(); } catch (SQLException exception) { Logger.getLogger(RadiologiKontrol.class.getName()).log(Level.SEVERE, null, exception); } }
private void exportImageFull(String id, String filename) throws Exception { PreparedStatement statement = null; try { //
setDataModel();
statement = koneksi.prepareStatement("DECLARE\n" + " obj ORDSYS.ORDImage;\n"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 112
+ " ctx RAW(4000) :=NULL;\n" + "BEGIN\n" + " SELECT foto_rontgen_full INTO obj FROM radiologi WHERE id = " + id + ";\n" + " obj.export(ctx,'FILE','IMAGEDIR','" + filename + "-full.jpeg');\n" + " EXCEPTION\n" + " WHEN ORDSYS.ORDSourceExceptions.METHOD_NOT_SUPPORTED THEN\n" + " DBMS_OUTPUT.put_line('Source METHOD_NOT_SUPPORTED caught');\n" + " WHEN ORDSYS.ORDSourceExceptions.SOURCE_PLUGIN_EXCEPTION THEN\n" + " DBMS_OUTPUT.put_line('SOURCE PLUGIN EXCEPTION caught');\n" + " WHEN OTHERS THEN\n" + " DBMS_OUTPUT.put_line('OTHER EXCEPTION caught');\n" + "END;\n"); statement.executeQuery();
koneksi.commit(); } catch (SQLException exception) { Logger.getLogger(RadiologiKontrol.class.getName()).log(Level.SEVERE, null, exception); } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 113
4.1.3.4.2. Hapus Data Radiologi
Gambar 4. 15. Menu Hapus Data Radiologi
public String Delete(String ID) { try { if (Read(ID) != null) { System.out.println("Masuuuuk " + ID); String sql = "delete from radiologi where id = ?"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setString(1, ID); pstmt.executeUpdate(); koneksi.commit(); koneksi.close(); return "berhasil"; } else { return "Data Tidak Ditemukan"; } } catch (SQLException ex) { Logger.getLogger(PasienKontrol.class.getName()).log(Level.SEVERE, null, ex); try { koneksi.rollback(); } catch (SQLException ex1) { Logger.getLogger(PasienKontrol.class.getName()).log(Level.SEVERE, null, ex1); } return ex.getMessage(); }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 114
4.1.3.4.3. Lihat Data Radiologi
Gambar 4. 16. Menu Lihat Data Radiologi
public List ReadAll(String id) { try { PreparedStatement statement = null; ResultSet result = null; List listRadiologi = new ArrayList(); koneksi.setAutoCommit(false); statement = koneksi.prepareStatement("select id, id_pasien, tanggal from radiologi where id_pasien=? order by id"); statement.setString(1, id); result = statement.executeQuery(); while (result.next()) { Radiologi radiologi = new Radiologi(); radiologi.setId(result.getString("id")); Pasien pasien = new Pasien(); pasien.setId_pasien(result.getString("id_pasien")); radiologi.setPasien(pasien); radiologi.setTanggal(result.getString("tanggal")); listRadiologi.add(radiologi); } return listRadiologi; } catch (SQLException ex) { Logger.getLogger(RadiologiKontrol.class.getName()).log(Level.SEVERE, null, ex); return null; }
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 115
4.1.3.4.4. Tambah Interpretasi
Gambar 4. 17. Menu Tambah Interpretasi
String id = request.getParameter("id"); String interpretasi = request.getParameter("interpretasi"); System.out.println(id + " " + interpretasi); Radiologi radiologi = new Radiologi(); radiologi.setInterpretasi(interpretasi); RadiologiKontrol rk = new RadiologiKontrol(); String update = rk.Update(id, radiologi); if (update.equals("berhasil")) { if (request.getParameter("rbi") != null) { RequestDispatcher requestDispatcher = request .getRequestDispatcher("/radiologi_belum_interpretasi.jsp?s=berhasil&id=" + request.getParameter("id_pasien")); requestDispatcher.forward(request, response); } else { RequestDispatcher requestDispatcher = request .getRequestDispatcher("/radiologi_pasien.jsp?s=berhasil&id=" + request.getParameter("id_pasien")); requestDispatcher.forward(request, response); } } else {
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 116
4.1.3.4.5. Edit Interpretasi
Gambar 4. 18. Menu Edit Interpretasi
String id = request.getParameter("id"); String interpretasi = request.getParameter("interpretasi"); System.out.println(id + " " + interpretasi); Radiologi radiologi = new Radiologi(); radiologi.setInterpretasi(interpretasi); RadiologiKontrol rk = new RadiologiKontrol(); String update = rk.Update(id, radiologi); if (update.equals("berhasil")) { if (request.getParameter("rbi") != null) { RequestDispatcher requestDispatcher = request .getRequestDispatcher("/radiologi_belum_interpretasi.jsp?s=berhasil&id=" + request.getParameter("id_pasien")); requestDispatcher.forward(request, response); } else { RequestDispatcher requestDispatcher = request .getRequestDispatcher("/radiologi_pasien.jsp?s=berhasil&id=" + request.getParameter("id_pasien")); requestDispatcher.forward(request, response); } } else { }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 117
4.1.3.5. Rekam Medis 4.1.3.5.1. Tambah Pemeriksaan
Gambar 4. 19. Menu Tambah Pemeriksaan
public String Create(Pemeriksaan input) { try { String sql = "insert into pemeriksaan (nomor_pemeriksaan, nomor_anamnesa,tanggal, no_rm) " + "values(?,?,sysdate,?)"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setInt(1, nomor_pemeriksaan()); pstmt.setInt(2, input.getAnamnesa().getNomor_anamnesa()); pstmt.setString(3, input.getRekam_medis().getNo_rm()); pstmt.executeUpdate(); koneksi.commit(); return "berhasil"; } catch (SQLException ex) { Logger.getLogger(PemeriksaanKontrol.class.getName()).log(Level.SEVERE, null, ex); return ex.getMessage(); }
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 118
4.1.3.5.2. Edit Pemeriksaan
Gambar 4. 20. Menu Edit Pemeriksaan
public String Update(String ID, Pemeriksaan newData) { try { if (Read(ID) != null) { String sql = "update pemeriksaan set nomor_pemeriksaan=?,kesadaran=?,respirasi=?,tekanan_darah=?,suhu=?,nadi=?,cyanosis=?,icteru s=?," + "dyspnue=?,nyeri=?,bb=?,tb=?,inspeksi=?,palpasi=?,perkusi=?,auskultasi=?,hepar=?,limpa=?,ascit es=?," + "peristaltik=?,ginjal=?,superior=?,inferior=?,lain=?,diagnosis=?,pengobatan=?,prognosis=?,tindak _lanjut=?,id_dokter=? " + "where nomor_pemeriksaan = ?"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setInt(1, Integer.parseInt(ID)); pstmt.setString(2, newData.getKesadaran()); pstmt.setInt(3, newData.getRespirasi()); pstmt.setString(4, newData.getTekanan_darah()); pstmt.setInt(5, newData.getSuhu()); pstmt.setInt(6, newData.getNadi()); pstmt.setString(7, newData.getCyanosis()); pstmt.setString(8, newData.getIcterus()); pstmt.setString(9, newData.getDyspnue()); pstmt.setInt(10, newData.getNyeri());
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 119
pstmt.setInt(11, newData.getBb()); pstmt.setInt(12, newData.getTb()); pstmt.setString(13, newData.getInspeksi()); pstmt.setString(14, newData.getPalpasi()); pstmt.setString(15, newData.getPerkusi()); pstmt.setString(16, newData.getAuskultasi()); pstmt.setString(17, newData.getHepar()); pstmt.setString(18, newData.getLimpa()); pstmt.setString(19, newData.getAscites()); pstmt.setString(20, newData.getPeristaltik()); pstmt.setString(21, newData.getGinjal()); pstmt.setString(22, newData.getSuperior()); pstmt.setString(23, newData.getInferior()); pstmt.setString(24, newData.getLain()); pstmt.setString(25, newData.getDiagnosis()); pstmt.setString(26, newData.getPengobatan()); pstmt.setString(27, newData.getPrognosis()); pstmt.setString(28, newData.getTindak_lanjut()); pstmt.setInt(29, newData.getDokter().getId()); pstmt.setString(30, ID); pstmt.executeUpdate(); koneksi.commit(); koneksi.close(); return "berhasil"; } else { return "Data Tidak Ditemukan"; } } catch (SQLException ex) { Logger.getLogger(PemeriksaanKontrol.class.getName()).log(Level.SEVERE, null, ex); try { koneksi.rollback(); } catch (SQLException ex1) { Logger.getLogger(PemeriksaanKontrol.class.getName()).log(Level.SEVERE, null, ex1); } return ex.getMessage();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 120
4.1.3.5.3. Tambah Asesmen Awal
Gambar 4. 21. Menu Tambah Asesmen Awal
public String Create(Asesmen input) { try { String sql = "insert into Asesmen_awal " + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," + "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setInt(1, nomor_asesmen()); pstmt.setString(2, input.getKeluhan_utama()); pstmt.setString(3, input.getRiwayat_penyakit_sekarang()); pstmt.setString(4, input.getRiwayat_penyakit_dulu()); pstmt.setString(5, input.getRiwayat_penyakit_keluarga()); pstmt.setString(6, input.getRiwayat_alergi()); pstmt.setString(7, input.getAlergi_makanan()); pstmt.setString(8, input.getAlergi_obat()); pstmt.setString(9, input.getAlergi_lingkungan()); pstmt.setString(10, input.getBatuk()); pstmt.setString(11, input.getDahak()); pstmt.setString(12, input.getSesak_nafas()); pstmt.setString(13, input.getBatuk_darah()); pstmt.setInt(14, input.getNyeri()); pstmt.setString(15, input.getKwalitas()); pstmt.setString(16, input.getWaktu()); pstmt.setInt(17, input.getScala()); pstmt.setString(18, input.getLokasi());
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 121
pstmt.setString(19, input.getAktivitas()); pstmt.setString(20, input.getAmbulasi_jalan()); pstmt.setString(21, input.getTidur_menggunakan()); pstmt.setString(22, input.getStatus_mental()); pstmt.setString(23, input.getResiko_jatuh()); pstmt.setString(24, input.getPerubahan_bb()); pstmt.setString(25, input.getKondisi_makan()); pstmt.setString(26, input.getKesimpulan()); pstmt.setString(27, input.getBab()); pstmt.setString(28, input.getBak()); pstmt.setString(29, input.getRespon_emosi()); pstmt.setString(30, input.getRespon_kognisi()); pstmt.setString(31, input.getTekanan_darah()); pstmt.setInt(32, input.getRespirasi()); pstmt.setString(33, input.getDispneu()); pstmt.setString(34, input.getSianosis()); pstmt.setInt(35, input.getBb()); pstmt.setInt(36, input.getSuhu()); pstmt.setInt(37, input.getNadi()); pstmt.setString(38, input.getAnemis()); pstmt.setString(39, input.getIkterik()); pstmt.setInt(40, input.getTb()); pstmt.setString(41, input.getKetaatan_ibadah()); pstmt.setString(42, input.getTinggal_dengan()); pstmt.setString(43, input.getKondisi_rumah()); pstmt.setInt(44, input.getLuas_rumah()); pstmt.setString(45, input.getRekam_medis().getNo_rm()); pstmt.executeUpdate(); koneksi.commit(); koneksi.close(); return "berhasil"; } catch (SQLException ex) { Logger.getLogger(AsesmenKontrol.class.getName()).log(Level.SEVERE, null, ex); return ex.getMessage(); }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 122
4.1.3.5.4. Anamnesa
Gambar 4. 22. Menu Anamnesa
public String Create(Anamnesa input) { try { AnamnesaKontrol ak = new AnamnesaKontrol(); Anamnesa anamnesa = ak.ReadbySysdate(input.getRekam_medis().getNo_rm()); if (anamnesa == null) { input.setNomor_anamnesa(nomor_anamnesa()); String sql = "insert into anamnesa(nomor_anamnesa,tanggal, hasil, no_rm) " + "values(?,sysdate,?,?)"; PreparedStatement pstmt = koneksi.prepareStatement(sql); pstmt.setInt(1, input.getNomor_anamnesa()); pstmt.setString(2, input.getHasil()); pstmt.setString(3, input.getRekam_medis().getNo_rm()); pstmt.executeUpdate(); koneksi.commit(); PemeriksaanKontrol pmk = new PemeriksaanKontrol(koneksi); Pemeriksaan pemeriksaan = new Pemeriksaan(); RekamMedis rm = new RekamMedis(); rm.setNo_rm(input.getRekam_medis().getNo_rm()); pemeriksaan.setRekam_medis(rm); pemeriksaan.setAnamnesa(input); Dokter dokter = new Dokter(); dokter.setId(null);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 123
pemeriksaan.setDokter(dokter); pmk.Create(pemeriksaan); koneksi.close(); return "berhasil"; } else { return "Anamnesa sudah dilakukan hari ini."; } } catch (SQLException ex) { Logger.getLogger(AnamnesaKontrol.class.getName()).log(Level.SEVERE, null, ex); return ex.getMessage(); }
4.1.3.5.5. Lihat Anamnesa
Gambar 4. 23. Menu Lihat Anamnesa
public Anamnesa Read(String ID) { try { PreparedStatement statement = null; Anamnesa anamnesa = null; ResultSet result = null; koneksi.setAutoCommit(false); statement = koneksi.prepareStatement("select nomor_anamnesa, tanggal,hasil,no_rm FROM anamnesa where nomor_anamnesa like ?"); statement.setString(1, ID); result = statement.executeQuery(); if (result.next()) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 124
anamnesa = new Anamnesa(); anamnesa.setNomor_anamnesa(result.getInt("nomor_anamnesa")); anamnesa.setTanggal(result.getString("tanggal")); anamnesa.setHasil(result.getString("hasil")); RekamMedisKontrol rmk = new RekamMedisKontrol(); RekamMedis rekam_medis = rmk.Read(result.getString("no_rm")); anamnesa.setRekam_medis(rekam_medis); } return anamnesa; } catch (SQLException ex) { Logger.getLogger(AnamnesaKontrol.class.getName()).log(Level.SEVERE, null, ex); return null; } }
4.1.3.5.6. Lihat Pemeriksaan
Gambar 4. 24. Menu Lihat Pemeriksaan
public List ReadAll() { try { PreparedStatement statement = null; ResultSet result = null; List listPemeriksaan = new ArrayList(); koneksi.setAutoCommit(false); statement = koneksi.prepareStatement("Select * from Pemeriksaan order by tanggal");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 125
result = statement.executeQuery(); if (result.next()) { Pemeriksaan pemeriksaan = new Pemeriksaan(); pemeriksaan.setNomor_pemeriksaan(result.getInt("nomor_pemeriksaan")); pemeriksaan.setKesadaran(result.getString("kesadaran")); pemeriksaan.setRespirasi(result.getInt("respirasi")); pemeriksaan.setTekanan_darah(result.getString("tekanan_darah")); pemeriksaan.setSuhu(result.getInt("suhu")); pemeriksaan.setNadi(result.getInt("nadi")); pemeriksaan.setCyanosis(result.getString("cyanosis")); pemeriksaan.setIcterus(result.getString("icterus")); pemeriksaan.setDyspnue(result.getString("dyspnue")); pemeriksaan.setNyeri(result.getInt("nyeri")); pemeriksaan.setBb(result.getInt("bb")); pemeriksaan.setTb(result.getInt("tb")); pemeriksaan.setInspeksi(result.getString("inspeksi")); pemeriksaan.setPalpasi(result.getString("palpasi")); pemeriksaan.setPerkusi(result.getString("perkusi")); pemeriksaan.setAuskultasi(result.getString("auskultasi")); pemeriksaan.setHepar(result.getString("hepar")); pemeriksaan.setLimpa(result.getString("limpa")); pemeriksaan.setAscites(result.getString("ascites")); pemeriksaan.setPeristaltik(result.getString("peristaltik")); pemeriksaan.setGinjal(result.getString("ginjal")); pemeriksaan.setSuperior(result.getString("superior")); pemeriksaan.setInferior(result.getString("inferior")); pemeriksaan.setLain(result.getString("lain")); pemeriksaan.setDiagnosis(result.getString("diagnosis")); pemeriksaan.setPengobatan(result.getString("pengobatan")); pemeriksaan.setPrognosis(result.getString("prognosis")); pemeriksaan.setTindak_lanjut(result.getString("tindak_lanjut")); DokterKontrol dk = new DokterKontrol(); Dokter dokter = dk.Read(result.getString("id_dokter"));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 126
pemeriksaan.setDokter(dokter); RekamMedisKontrol rmk = new RekamMedisKontrol(); RekamMedis rekam_medis = rmk.Read(result.getString("no_rm")); pemeriksaan.setRekam_medis(rekam_medis); pemeriksaan.setTanggal(result.getString("tanggal")); listPemeriksaan.add(pemeriksaan); } return listPemeriksaan; } catch (SQLException ex) { Logger.getLogger(PemeriksaanKontrol.class.getName()).log(Level.SEVERE, null, ex); return null; } }
4.1.3.5.7. Lihat Asesmen Awal
Gambar 4. 25. Menu Lihat Asesmen Awal
public Asesmen Read(String ID) { try { PreparedStatement statement = null; Asesmen asesmen = null; ResultSet result = null; koneksi.setAutoCommit(false);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 127
statement = koneksi.prepareStatement("select * FROM Asesmen_awal where nomor_Asesmen like ?"); statement.setString(1, ID); result = statement.executeQuery(); if (result.next()) { asesmen = new Asesmen(); asesmen.setNomor_asesmen(result.getInt("nomor_Asesmen")); asesmen.setKeluhan_utama(result.getString("keluhan_utama")); asesmen.setRiwayat_penyakit_sekarang(result.getString("riwayat_penyakit_sekarang")); asesmen.setRiwayat_penyakit_dulu(result.getString("riwayat_penyakit_dahulu")); asesmen.setRiwayat_penyakit_keluarga(result.getString("riwayat_penyakit_keluarga")); asesmen.setRiwayat_alergi(result.getString("riwayat_alergi")); asesmen.setAlergi_makanan(result.getString("alergi_makanan")); asesmen.setAlergi_obat(result.getString("alergi_obat")); asesmen.setAlergi_lingkungan(result.getString("alergi_lingkungan")); asesmen.setBatuk(result.getString("batuk")); asesmen.setDahak(result.getString("dahak")); asesmen.setSesak_nafas(result.getString("sesak_nafas")); asesmen.setBatuk_darah(result.getString("batuk_darah")); asesmen.setNyeri(result.getInt("nyeri")); asesmen.setKwalitas(result.getString("kwalitas")); asesmen.setWaktu(result.getString("waktu")); asesmen.setScala(result.getInt("scala")); asesmen.setLokasi(result.getString("lokasi")); asesmen.setAktivitas(result.getString("aktivitas")); asesmen.setAmbulasi_jalan(result.getString("ambulasi_jalan")); asesmen.setTidur_menggunakan(result.getString("tidur_menggunakan")); asesmen.setStatus_mental(result.getString("status_mental")); asesmen.setResiko_jatuh(result.getString("resiko_jatuh")); asesmen.setPerubahan_bb(result.getString("perubahan_bb")); asesmen.setKondisi_makan(result.getString("kondisi_makan")); asesmen.setKesimpulan(result.getString("kesimpulan")); asesmen.setBab(result.getString("bab")); asesmen.setBak(result.getString("bak")); asesmen.setRespon_emosi(result.getString("respon_emosi"));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 128
asesmen.setRespon_kognisi(result.getString("respon_kognisi")); asesmen.setTekanan_darah(result.getString("tekanan_darah")); asesmen.setRespirasi(result.getInt("respirasi")); asesmen.setDispneu(result.getString("dispneu")); asesmen.setSianosis(result.getString("sianosis")); asesmen.setBb(result.getInt("bb")); asesmen.setSuhu(result.getInt("suhu")); asesmen.setNadi(result.getInt("nadi")); asesmen.setAnemis(result.getString("anemis")); asesmen.setIkterik(result.getString("ikterik")); asesmen.setTb(result.getInt("tb")); asesmen.setKetaatan_ibadah(result.getString("ketaatan_ibadah")); asesmen.setTinggal_dengan(result.getString("tinggal_dengan")); asesmen.setKondisi_rumah(result.getString("kondisi_rumah")); asesmen.setLuas_rumah(result.getInt("luas_rumah")); RekamMedisKontrol rmk = new RekamMedisKontrol(); RekamMedis rekam_medis = rmk.Read(result.getString("no_rm")); asesmen.setRekam_medis(rekam_medis); } return asesmen;
} catch (SQLException ex) { Logger.getLogger(AsesmenKontrol.class .getName()).log(Level.SEVERE, null, ex);
return null; } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 129
4.1.3.5.8. Lihat Antrian Anamnesa
Gambar 4. 26. Menu Lihat Antrian Anamnesa
public List ReadBelumAnamnesa() { try { PreparedStatement statement = null; ResultSet result = null; List listPemeriksaan = new ArrayList(); koneksi.setAutoCommit(false); statement = koneksi.prepareStatement("select * from pemeriksaan " + "where nomor_anamnesa is null order by tanggal desc"); result = statement.executeQuery(); while (result.next()) { Pemeriksaan pemeriksaan = new Pemeriksaan(); RekamMedisKontrol rmk = new RekamMedisKontrol(); RekamMedis rm = rmk.Read(result.getString("no_rm")); pemeriksaan.setRekam_medis(rm); pemeriksaan.setNomor_pemeriksaan(result.getInt("nomor_pemeriksaan")); listPemeriksaan.add(pemeriksaan); } return listPemeriksaan; } catch (SQLException ex) { Logger.getLogger(PemeriksaanKontrol.class.getName()).log(Level.SEVERE, null, ex); return null; } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 130
4.1.3.5.9. Lihat Antrian Pemeriksaan
Gambar 4. 27. Menu Lihat Antrian Pemeriksaan
PreparedStatement statement = null; ResultSet result = null; List listPemeriksaan = new ArrayList(); koneksi.setAutoCommit(false); statement = koneksi.prepareStatement("select * from pemeriksaan " + "where nomor_anamnesa is null order by tanggal desc"); result = statement.executeQuery(); while (result.next()) { Pemeriksaan pemeriksaan = new Pemeriksaan(); RekamMedisKontrol rmk = new RekamMedisKontrol(); RekamMedis rm = rmk.Read(result.getString("no_rm")); pemeriksaan.setRekam_medis(rm); pemeriksaan.setNomor_pemeriksaan(result.getInt("nomor_pemeriksaan")); listPemeriksaan.add(pemeriksaan); } return listPemeriksaan; } catch (SQLException ex) { Logger.getLogger(PemeriksaanKontrol.class.getName()).log(Level.SEVERE, null, ex); return null; } }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V PENGUJIAN DAN ANALISA HASIL
5.1. Pengujian Terhadap Sistem Pengujian terhadap sistem dilakukan dengan metode black-box testing. Blackbox testing dilakukan untuk memastikan bahwa semua proses dalam sistem sudah berjalan dengan baik. 5.1.1. Subsistem Kelola User Pengujian sistem untuk subsistem kelola user dapat dilihat pada langkah dibawah ini: Tabel 5. 1. Tabel Kasus dan Hasil Uji Halaman Kelola User
Kasus dan Hasil Uji Pada Halaman Kelola User Require Skenario Hasil yang Hasil Gambar Uji Diharapkan Pengujian Menampilkan Menekan pemberitahuan tombol bahwa sistem Tambah User Tambah pada Sesuai Gambar 5.1 berhasil halaman menambahkan tambah user user. Menekan menu Lihat Menampilkan User pada daftar Lihat User Sesuai halaman pengguna Navigation dalam tabel Bar. Menampilkan Menekan penberitahuan tombol Edit bahwa sistem Edit User Sesuai Gambar 5.2 pada halaman berhasil edit user mengubah data user. Menampilkan Menekan pemberitahuan tombol Hapus Hapus User bahwa user Sesuai Gambar 5.3 pada halaman berhasil daftar user. dihapus
131
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 132
Gambar 5. 1. Hasil Testing Tambah User
Gambar 5. 2. Hasil Testing Edit User
Gambar 5. 3. Hasil Testing Hapus User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 133
5.1.2. Subsistem Kelola Dokter Pengujian sistem untuk subsistem kelola dokter dapat dilihat pada langkah dibawah ini: Tabel 5. 2. Tabel Kasus dan Hasil Uji Halaman Kelola Dokter
Kasus dan Hasil Uji Pada Halaman Kelola Dokter Skenario Hasil yang Hasil Gambar Uji Diharapkan Pengujian Menekan Menampilkan tombol pemberitahuan Tambah Tambah pada bahwa sistem Sesuai Gambar 5.4 Dokter halaman berhasil tambah menambahkan Dokter Dokter. Menekan menu Lihat Menampilkan Dokter pada daftar Lihat Dokter Sesuai halaman pengguna Navigation dalam tabel Bar. Menampilkan Menekan penberitahuan tombol Edit bahwa sistem Edit Dokter Sesuai Gambar 5.5 pada halaman berhasil edit Dokter mengubah data Dokter. Menampilkan Menekan pemberitahuan tombol Hapus Hapus Dokter bahwa Dokter Sesuai Gambar 5.6 pada halaman berhasil daftar Dokter. dihapus Require
Gambar 5. 4 Hasil Testing Tambah Dokter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 134
Gambar 5. 5. Hasil Testing Edit Dokter
Gambar 5. 6. Hasil Testing Hapus User
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 135
5.1.3. Subsistem Kelola Pasien Pengujian sistem untuk subsistem kelola pasien dapat dilihat pada langkah dibawah ini: Tabel 5. 3. Tabel Kasus dan Hasil Uji Halaman Kelola Pasien
Kasus dan Hasil Uji Pada Halaman Kelola Pasien Skenario Hasil yang Hasil Gambar Uji Diharapkan Pengujian Menekan Menampilkan tombol pemberitahuan Tambah Tambah pada bahwa sistem Sesuai Gambar 5.7 Pasien halaman berhasil tambah menambahkan Pasien Pasien. Menekan menu Lihat Menampilkan Pasien pada daftar Lihat Pasien Sesuai Gambar 5.8 halaman pengguna Navigation dalam tabel Bar. Menekan Data pasien tombol Edit berubah dan Edit Pasien Sesuai pada halaman window edit Pasien parent refresh Menampilkan Menekan pemberitahuan tombol Hapus Hapus Pasien bahwa Pasien Sesuai Gambar 5.9 pada halaman berhasil daftar Pasien. dihapus Require
Gambar 5. 7. Hasil Testing Tambah Pasien
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 136
Gambar 5. 8. Hasil Testing Lihat Pasien
Gambar 5. 9. Hasil Testing Hapus Pasien
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 137
5.1.4. Subsistem Kelola Radiologi Pengujian sistem untuk subsistem kelola radiologi dapat dilihat pada langkah dibawah ini: Tabel 5. 4. Tabel Kasus dan Hasil Uji Halaman Kelola Radiologi
Kasus dan Hasil Uji Pada Halaman Kelola Radiologi Require Skenario Hasil yang Hasil Gambar Uji Diharapkan Pengujian Menekan tombol Data radiologi Tambah Tambah pada ditambahkan Sesuai Radiologi halaman da;am tabel tambah Radiologi Menekan menu Lihat Menampilkan Lihat Radiologi daftar Sesuai Radiologi pada halaman pengguna Navigation dalam tabel Bar. Menampilkan Menekan pemberitahuan tombol Hapus Hapus bahwa pada halaman Sesuai Gambar 5.10. Radiologi Radiologi daftar berhasil Radiologi. dihapus Menekan tombol Tambah Tambah pada Interpretasi Sesuai Interpretasi halaman ditambahkan tambah Interpretasi Menekan tombol Edit Edit Interpretasi pada halaman Sesuai Interpretasi berubah edit Interpretasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 138
Gambar 5. 10. Hasil Testing Hapus Radiologi
5.1.5. Subsistem Kelola Rekam Medis Pengujian sistem untuk subsistem kelola rekam medis dapat dilihat pada langkah dibawah ini: Tabel 5. 5. Tabel Kasus dan Hasil Uji Halaman Kelola Rekam Medis
Kasus dan Hasil Uji Pada Halaman Kelola Rekam Medis Require Skenario Hasil yang Hasil Gambar Uji Diharapkan Pengujian Menekan Menampilkan tombol pemberitahuan Tambah simpan pada pemeriksaan Sesuai Gambar 5.11 Pemeriksaan form berhasil pemeriksaan disimpan Menekan Menampilkan menu Lihat pemberitahuan Edit Radiologi pemeriksaan Sesuai Gambar 5.12 Pemeriksaan pada halaman berhasil Navigation disimpan Bar. Menekan Menampilkan Tambah tombol pemberitahuan Asesmen tambah pada asesmen Sesuai Gambar 5.13 Awal form tambah berhasil asesmen ditambahkan Menekan Menampilkan tombol pemberitahuan Tambah pada Anamnesa anamnesa Sesuai Gambar 5.14 halaman berhasil tambah ditambahkan Anamnesa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 139
Lihat Anamnesa
Lihat Pemeriksaan
Lihat Asesmen Awal
Menekan baris hasil pencarian pasien anamnesa Menekan baris hasil pencarian pasien pemeriksaan Menekan baris hasil pencarian pasien asesmen awal
Menampilkan daftar anamnesa
Sesuai
-
Menampilkan daftar pemeriksaan
Sesuai
-
Menampilkan daftar asesmen awal
Sesuai
-
Gambar 5. 11. Hasil Testing Tambah Pemeriksaan
Gambar 5. 12. Hasil Testing Edit Pemeriksaan
Gambar 5. 13. Hasil Testing Tambah Asesmen Awal
Gambar 5. 14. Hasil Testing Anamnesa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 140
5.2. Pengujian Terhadap Pengguna Tahap Pengujian terhadap pengguna yaitu tahap pengujian sistem yang telah dibuat kepada pengguna untuk memastikan bahwa sistem sudah sesuai dengan kriteria kebuthan pengguna dan tujuan yang diharapkan. Proses pengujian dilakukan dengan meminta masing-masing actor satu orang untuk mencoba Sistem Pengelolaan Rekam Medis RS Paru Respira apakah sistem yang telah dibuat sesuai dengan yang diharapkan responden dan apakah sistem yang dibuat dapat membantu pekerjaan pengguna dalam pengelolaan rekam medis. Responden kemudian diminta untuk mengisi kuesioner. Kuesioner berisi pernyataan-pernyataan yang menjadi rumusan permasalahan yang ada dalam penelitian serta mengenai kemudahan penggunaan sistem. Contoh kuesioner dapat dilihat pada lampiran 1.
5.2.1. Persepsi Kegunaan 5.2.1.1.Pernyataan 1 Sistem Pengelolaan Rekam Medis RS Paru Respira tepat guna (efisien) saya gunakan untuk mengelola rekam medis. Tabel 5. 6. Tabel Bobot Pernyataan 1 Persepsi Kegunaan
Jawaban Sangat Setuju Setuju Ragu-ragu Tidak Setuju Sangat Tidak Setuju Total
Bobot
Jumlah Responden 4 3 2 1 0
Nilai akhir
Nilai 2 3 1 0 0 6
8 9 2 0 0 19 3.166667
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 141
5.2.1.2.Pernyataan 2 Sistem Pengelolaan Rekam Medis RS Paru Respira dapat membuat saya lebih cepat dalam mengakses informasi rekam medis. Tabel 5. 7. . Tabel Bobot Pernyataan 2 Persepsi Kegunaan
Jawaban Sangat Setuju Setuju Ragu-ragu Tidak Setuju Sangat Tidak Setuju Total
Bobot
Jumlah Responden 4 3 2 1 0
Nilai 1 3 1 0 0 5
4 9 2 0 0 15 3
Nilai akhir
5.2.1.3.Pernyataan 3 Sistem Pengelolaan Rekam Medis RS Paru Respira bermanfaat mendukung tugas profesi saya. Tabel 5. 8. . Tabel Bobot Pernyataan 3 Persepsi Keguanaan
Jawaban Sangat Setuju Setuju Ragu-ragu Tidak Setuju Sangat Tidak Setuju Total
Bobot
Jumlah Responden 4 3 2 1 0
Nilai 3 2 0 0 0 5
12 6 0 0 0 18 3.6
Nilai akhir
5.2.1.4.Pernyataan 4 Sistem Pengelolaan Rekam Medis RS Paru Respira membantu kebutuhan saya untuk mendapatkan informasi rekam medis. Tabel 5. 9. . Tabel Bobot Pernyataan 4 Persepsi Kegunaan
Jawaban Sangat Setuju Setuju Ragu-ragu Tidak Setuju Sangat Tidak Setuju Total
Bobot
Jumlah Responden 4 3 2 1 0
Nilai akhir
Nilai 1 4 0 0 0 5
4 12 0 0 0 16 3.2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 142
5.2.2. Persepsi Kemudahan 5.2.2.1.Pernyataan 1 Saya merasa mudah dalam menggunakan Sistem Pengelolaan Rekam Medis RS Paru Respira Tabel 5. 10. Tabel Bobot Pernyataan 1 Persepsi Kemudahan
Jawaban Sangat Setuju Setuju Ragu-ragu Tidak Setuju Sangat Tidak Setuju Total
Bobot 4 3 2 1 0
Jumlah Responden Nilai 2 8 3 9 0 0 0 0 0 5
Nilai akhir
0 17 3.4
5.2.2.2.Pernyataan 2 Saya merasa mudah untuk mengakses informasi tentang rekam medis Tabel 5. 11. Tabel Bobot Pernyataan 2 Persepsi Kemudahan
Jawaban Sangat Setuju Setuju Ragu-ragu Tidak Setuju Sangat Tidak Setuju Total
Bobot 4 3 2 1 0 Nilai akhir
Jumlah Responden Nilai 1 4 4 12 0 0 0 0 0 5
0 16 3.2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 143
5.2.2.3.Pernyataan 3 Tampilan Sistem Pengelolaan Rekam Medis RS Paru Respira jelas dan mudah saya mengerti. Tabel 5. 12. Tabel Bobot Pernyataan 3 Persepsi Kemudahan
Jawaban Sangat Setuju Setuju Ragu-ragu Tidak Setuju Sangat Tidak Setuju Total
Bobot 4 3 2 1
Jumlah Responden Nilai 1 4 4 12 0 0 0 0
0
0 5
0 16 3.2
Nilai akhir
5.2.2.4.Pernyataan 4 Mudah bagi saya untuk menguasai penggunaan Sistem Pengelolaan Rekam Medis RS Paru Respira Tabel 5. 13. Tabel Bobot Pernyataan 4 Persepsi Kemudahan
Jawaban Sangat Setuju Setuju Ragu-ragu Tidak Setuju Sangat Tidak Setuju Total
Bobot 4 3 2 1 0 Nilai akhir
Jumlah Responden Nilai 2 8 3 9 0 0 0 0 0 5
0 17 3.4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 144
5.2.3. Rangkuman Hasil Uji Coba Terhadap Pengguna Tabel 5. 14. Tabel Rangkuman Hasil Kuesioner
Persepsi Persepsi Kegunaaan
Persepsi Kemudahan
Hasil 1. Sistem tepat guna (efisien) untuk mengelola rekam medis. Skor 3.167 dari skala 0-4 2. Sistem dapat membuat lebih cepat dalam mengakses rekam medis. Skor 3 dari skala 0-4 3. Sistem bermanfaat mendukung profesi dalam pengelolaan rekam medis. Skor 3.6 dari skala 0-4. 4. Sistem dapat memenuhi kebutuhan untuk mengetahui informasi tentang rekam medis. Skor 3.2 dari 0-4. 1. Sistem mudah untuk digunakan penggunanya. Skor 3.4 dari skala 0-4 2. Sistem mudah digunakan oleh pengguna. Skor 3.2 dari skala 0-4 3. Pengguna mudah untuk mengakses informasi tentang rekam medis. Skor 3.2 dari skala 0-4 4. Tampilan sistem jelas dan mudah dimengerti. Skor 3.4 dari skala 0-4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB VI PENUTUP 6.1. Kesimpulan Hasil yang didapatkan dari perancangan dan pembangunan Sistem Pengelolaan Rekam Medis RS Paru Respira yaitu : 1. Sistem telah berhasil dibangun dengan menggunakan Basis Data Multimedia dan Menggunakan Bahasa pemrograman JSP dan Oracle 11g. 2. Pemanfaatan basis data multimedia dapat berfungsi dengan baik yaitu menyimpan file rontgen. Selain itu method basis data multimedia dapat berfungsi dengan baik yang meliputi : a. Method ORDDICOM yang digunakan setDataModel(), processCopy(), export() b. Tipe data yang digunakan untuk export gambar rontgen adalah yang paling mendekati dengan hasil cetak rontgen yaitu png. 3. Berdasarkan uji coba dengan pengguna, Sistem Pengelolaan Rekam Medis RS Paru Respira dinilai bermanfaat untuk membantu mengelola informasi rekam medis, sangat efisien dalam pencarian informasi rekam medis, dan menu-menu yang terdapat dalam sistem ini sangat mudah dipahami dan digunakan.
6.2. Saran 1. Pencarian di bagian selain pendaftaran dilengkapi dengan pencarian nama. 2. Sistem sebaiknya dilengkapi dengan database obat. 3. Sistem sebaiknya dilengkapi dengan database penanganan medis. 4. Perubahan rekam medis seabaiknya dicatat.
145
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA
Clement J. McDonald, MD, Juni 1997, "The Barriers to Electronic Medical Record Sistems and How to Overcome Them". Journal of the American Medical Informatics Association Volume 4, No. 3, http://jamia.oxfordjournals.org/content/4/3/213.full-text.pdf, 26 September 2016. Dennis Lee Myers; Kim Steven Culp, 1998, ElectronicMedical Record Using Text Database, United States Patent, 5.832.450. Chrsitian, H. 2012. “Sistem Informasi Rekam Medis Studi Kasis Klinik Kandungan dr. Enny”, Skripsi Sarjana tak diterbitkan, Universitas Sanata Dharma Yogyakarta. Kadir, Abdul. 2004. Dasar Pemrograman Web DInamis dengan JSP. Yogyakarta:Andi Offset Pelki, Sue.2005. Oracle Intermedia Reference 10g Release 2(10.2). Pelki, Sue.2005. Oracle Intermedia Reference 10g Release 2(10.2). Wijono, Sri Hartati, dkk. 2007. Pemrograman Java Servlet dan JSP dengan NetBeans. Yogyakarta: Andi Offset.
146
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN KUESIONER SISTEM PENGELOLAAN REKAM MEDIS RS PARU RESPIRA MENGGUNAKAN BASIS DATA MULTIMEDIA
Nama
: ………………………………………………
Profesi *)
: a. Dokter b. Radiografer c. Petugas Pendaftaran d. Perawat e. Staff IT
Tanggal
: ………………………………………………
Petunjuk Pengisian Berilah tanda centang (√) pada salah satu kolom jawaban yang paling sesuai menurut anda pada pernyataan yang telah disediakan. Sangat Setuju
: (SS)
Setuju
: (S)
Ragu
: (R)
Tidak Setuju
: (TS)
Sangat Tidak Setuju : (STS)
*) Lingkari pilihan anda
147
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
a. Persepsi Kegunaan Pernyataan
SS
Sistem Pengelolaan Rekam Medis RS Paru Respira tepat guna saya gunakan untuk mengelola: a. Rekam medis. (bagi dokter dan perawat) b. Data Radiologi (bagi radiografer dan dokter radiologi) c. Data Pasien (bagi petugas pendaftaran) d. Data Pengguna (bagi staff IT) Sistem Pengelolaan Rekam Medis RS Paru Respira dapat membuat saya lebih cepat dalam mengakses informasi : a. Rekam medis. (bagi dokter dan perawat) b. Data Radiologi (bagi radiografer dan dokter radiologi) c. Data Pasien (bagi petugas pendaftaran) d. Data Pengguna (bagi staff IT) Sistem Pengelolaan Rekam Medis RS Paru Respira bermanfaat mendukung tugas profesi saya. Sistem Pengelolaan Rekam Medis RS Paru Respira membantu kebutuhan saya untuk mendapatkan informasi : a. Rekam medis. (bagi dokter dan perawat) b. Data Radiologi (bagi radiografer dan dokter radiologi) c. Data Pasien (bagi petugas pendaftaran) d. Data Pengguna (bagi staff IT)
148
S
R
TS
STS
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
b. Persepsi Kemudahan Pernyataan
SS
S
R
TS
STS
SS
S
R
TS
STS
Saya merasa mudah dalam menggunakan Sistem Pengelolaan Rekam Medis RS Paru Respira Saya merasa mudah untuk mengakses informasi tentang rekam medis Tampilan Sistem Pengelolaan Rekam Medis RS Paru Respira jelas dan mudah saya mengerti. Mudah bagi saya untuk menguasai penggunaan Sistem Pengelolaan Rekam Medis RS Paru Respira
c. Persepsi Minat Pernyataan Saya lebih menyukai Sistem Pengelolaan Rekam Medis RS Paru Respira daripada sistem lama dengan cara manual.
Kritik dan Saran : ………………………………………………………..
149