Anda di halaman 1dari 172

2013

Untuk Informatika
Medis, Rekam
Medis & Sistem
Informasi
Kesehatan
Oleh : Windiarto
Nugroho, Dewi Ekawati,
Irnawati

Pengenalan Dasar Perancangan, Desain & Pembuatan


Sistem Informasi Rekam Medis Pada Klinik Rawat Jalan
(diimplementasikan dengan java netbeans)
KATA PENGANTAR

Assalamu’alaikum warahmatullahi wabarakatuh.

Syukur alhamdulillah, kami haturkan ke hadirat Alloh SWT, karena dengan karunia-Nya
kami dapat menyelesaiakan buku “Pengenalan Dasar Perancangan, Desain & Pembuatan Sisem
Informasi Rekam Medis Pada Klinik Rawat Jalan (diimplemantasikan dengan java netbeans)”.

Dalam buku ini kami mencoba menyajikan konsep-konesp dasar dalam merancang
sebuah software rekam medis dimulai dari perancangannya terlebih dahulu yang terdari dari
normalisasi, relasi antar tabel, kamus data, pembuatan DAD, Flow Chart System, desain menu,
desain form yang masing-masing kami beri penjelasan agar pembaca mudah memahaminya,
sementara untuk perancangan dan desain di buku ini kami coba implementasikan dengan
Microsoft Visio 2003. Dilanjutkan denggan instalasi software-software yang dibutuhkan dalam
memulai membuat software rekam medis seperti MySQL sebagai database server aplikasi(kami
menggunakan wamp), Instalasi Netbeans sebagai tools pengembang software yang nanti akan
kita buat, sementara untuk aplikasi yang dibuat kami tidak menggunakan konsep/desain petern
MVC, tetapi masih bersifat procedural, hal ini kami maksudkan karena buku ini ditujukan
sebagai dasar bagi teman-teman yang baru belajar sehingga kami mencoba mengenalkan
sesimple mungkin agar mudah dipahami, disini juga kami tidak terlalu membahas tentang dasar-
dasar programing tapi lebih ke pemberian contoh secara teknis melalui gambar-gambar ilustrasi
yang ada. Kami sangat menyarankan bagi pembaca yang sudah selesai membaca dan
mempraktikan isi yang ada di dalam buku ini untuk memulai membuat aplikasi dengan konsep
MVC, karena konsep MVC sendiri memiliki banyak kelebihan terutama dari sisi maintenance
dan lifecycle pengembangan software.

Penulis menyadari bahwa dalam menyusun buku ini masih jauh dari kesempurnaan,
untuk itu penulis sangat mengharapkan kritik dan saran yang bersifat membangun guna
sempurnanya buku ini. Penulis berharap semoga karya tulis ini bisa bermanfaat bagi penulis
khususnya dan bagi pembaca pada umumnya.

Wassalamu’alaikum warahmatullahi wabarakatuh.

Yogyakarta, November

Penyusun

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, ii
Dewi Ekawati, Windiarto
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, ii
Dewi Ekawati, Windiarto
DAFTAR ISI

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Dewi iii
Ekawati, Windiarto
PENDAHULUAN

A. Latar Belakang
Modul/Buku ini kami susun sebagai bagian dari kepedulian kami agar teman-teman di
jurusan Rekam Medis/Sistem Informasi kesehatan bisa secara mandiri merancang, mendesain,
membuat aplikasi rekam medisnya sendiri. Dapat mengolah data penyakit, data petugas, data
dokter, data pasien, data rawat jalan, data hasil diagnosa penyakit. Serta bagaimana menyajikan
laporan-laporan yang terkait secara cepat dan akurat. Kami mencoba memberikan informasi
tentang dasar-dasar perancangan software rekam medis dimulai dari dasar sekali, jadi kami harap
pembaca mau membacanya setahap demi setahap agar dapat memamahami alurnya, untuk
perancangan sendiri kami lebih memilih menggunakan DFD dan bukan menggunakan UML,
karena kami rasa DFD lebih mudah dipahami bagi mereka yang baru belajar khususnya bagi
jurusan baru seperti rekam medis/informatika kesehatan. Kenapa kami memilih java sebagai
dasar pengembangan aplikasi? Karena java sebagai salah satu bahasa pemrograman baru
menjanjikan banyak kemudahan bagi programer junior maupun senior. Tutorial ini akan
membawa Anda mengenal lebih jauh bahasa ini melalui pembahasan konsep model perancangan
dan petunjuk sederhana penggunaannya. Sedangkan pengertian java adalah bahasa pemrograman
berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini
dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang
agar lebih mudah dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis
sistem operasi dan arsitektur komputer.

NetBeans adalah Integrated Development Environment (IDE) berbasiskan Java yang dulu
dikembangkan oleh Sun Microsystems yang berjalan di atas Swing, dan saat ini pengembangan
selanjutnya dipegang oleh Oracle setelah Sun Microsystem di akuisisi oleh oracle. Swing
merupakan teknologi Java untuk pengembangan aplikasi Desktop yang dapat bejalan di berbagai
macam platforms seperti Windows, Linux, Mac OS X and Solaris. Suatu IDE adalah lingkup
pemrograman yang diintegrasikan kedalam suatu aplikasi perangkat lunak yang menyediakan
pembangun Graphic User Interface (GUI), suatu text atau kode editor, suatu compiler atau
interpreter dan suatu debugger. Netbeans merupakan software development yang Open Source,
dengan kata lain software ini di bawah pengembangan bersama, bebas biaya dan NetBeans
merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas,
komunitas yang terus tumbuh, dan memiliki hampir 100 mitra. Sun Microsystems mendirikan
proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama sebelum
akhirnya diakuisisi oleh Oracle.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 1
Windiarto Nugroho, Dewi Ekawati
B. Tujuan
Untuk membatasi konsistensi perancangan, desain dan pembuatan aplikasi maka kami
membatasi pembahasan di buku ini sebagai berikut :
1. Normalisasi data yang didapat dari hasil observasi di klinik rawat jalan(sebagai contoh saja)
2. Perancangan DFD, Flowchart System aplikasi rawat jalan
3. Instalasi Software-software yang dibutuhkan
4. Pembuatan aplikasi rawat jalan yang meliputi Data Pasien, Data Dokter, Daata Petugas,
Data Tarif, Data Obat, Tindakan Rawat Jalan, Pemberian Obat, Registrasi Pasien,
Pembayaran

Tujuan disusunnya buku ini adalah sebagai berikut :


Pembaca buku ini dapat merancang, mendesain, membuat Sistem Informasi Rekam Medis
Untuk Klinik Rawat Jalan berbasis java yang dapat menangani permasalahan dalam hal
pengolahan data dokter, data pasien, data tarif tindakan, data obat, pemberian tindakan,
pemberian obat, pembayaran, registrasi pasien dengan tampilan yang aplikatif, mudah digunakan,
serta mampu menghemat waktu, tenaga yang pada akhirnya menghasilkan laporan terkait secara
cepat, tepat dan akurat.

Manfaat yang bisa didapatkan oleh pembaca saat menggunakan buku ini adalah :
1. Bagi para dosen jurusan kesehatan khususnya rekam medis, buku ini bisa sebagai buku
pegangan untuk diajarkan kepada mahasiswanya atau sebagai modul praktikum pembuatan
aplikasi rekam medis.
2. Bagi para mahasiswa rekam medis, buku ini bisa digunakan sebagai referensi dalam
penyusunan tugas akhir tentang pembuatan aplikasi rekam medis yang menggunakan java
sebagai dasar pengembangannya.
3. Bagi orang awam dan diluar rekam medis, bisa sebagai sarana belajar bahasa pemrograman
java database memanfaatkan JDBC dan mysql sebagai databasenya secara prosedural bukan
MVC.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 2
Windiarto Nugroho, Dewi Ekawati
PEMBAHASAN I
TEORI DASAR REKAM MEDIS DAN SISTEM INFORMASI
A. Rekam Medis
a) Pengertian Rekam Medis
Di dalam peraturan Menteri Kesehatan No 269/2008, rekam medis adalah berkas berisi
catatan dan dokumen tentang pasien yang berisi identitas, pemeriksaan, pengobatan,, tindakan
medis lain pada sarana pelayanan kesehatan untuk rawat jalan, rawat inap baik dikelola
pemerintah maupun swasta.

Menurut Depkes RI tahun 2002, rekam medis adalah keterangan yang tertulis maupun
terekam tentang identitas, anamnese, penentuan fisik laboratorium, diagnose segala pelayanan
dan tindakan medis yang diberikan kepada pasien, serta pengobatan baik rawat inap, rawat jalan,
maupun yang mendapatkan pelayanan gawat darurat.

Menurut hatta (2008) Rekam Medis adalah siapa, apa, mengapa, dimana, harapan dan
bagaimana pelayanan yang diperoleh seorang dirawat dan diobati.

Dari beberapa pengertian diatas dapat dikatakan rekam medis bila :

1) Berisi keterangan dan catatan serta rekaman tentang pasien secara lengkap meliputi
identitas pribadi, sosial dan semua keterangan lainnya yang menjelaskan tentang pasien
tersebut. Isi keterangan dan catatan meliputi :
(a) Identitas siapa yang melayani dan siapa yang dilayani.
(b) Pelayanan apa saja yang dilakukan atau diberikan kepada pasien.
(c) Alasan mengapa pelayanan tersebut diberikan atau sering disebut dengan indikasi
medis.
(d) Bilamana pelayanan tersebut diberikan yang menunjukkan waktu (tanggal, jam, menit).
(e) Bagaimana proses pelayanan tersebut diberikan pada pasien.
2) Memuat informasi yang cukup untuk menemukan kembali (mengidentifikasi) pasien,
berarti informasi yang terkandung dalam rekam medis harus dapat ditemukan kembali
ketika pasien tersebut datang untuk berobat pada kunjungan-kunjungan selanjutnya.
3) Membenarkan diagnosa dan pengobatan, berarti data dan informasi dalam rekam medis
dapat digunakan untuk menilai proses dan hasil pelayanan klinis guna memperoleh
kebenaran ilmiah dan hukum.
4) Merekam hasilnya, berarti rekam medis harus dapat didokumentasi sedemikian rupa
sehingga hasil rekamannya dapat digunakan untuk berbagai keperluan pelayanan dan
pengelolaan pasien.

b) Tujuan Rekam Medis


Tujuan rekam medis adalah menunjang tercapainya tertib administrasi dalam rangka
upaya peningkatan pelayana kesehatan di Rumah Sakit Maupun Klinik.
Kegunaan rekam medis :
1) Aspek Administrasi
Isinya menyangkut tindakan berdasarkan wewenang dan tanggung jawab sebagai tenaga
medis dalam mencapai tujuan pelayanan medis.
2) Aspek Hukum
Isinya menyangkut jaminan kepastian hukum atas dasar keadilan.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 3
Windiarto Nugroho, Dewi Ekawati
3) Aspek Keuangan
Isinya dapat digunakan sebagai bahan untuk menetapkan biaya pembayaran pelayanan
Rumah Sakit.
4) Aspek Penelitian
Isinya mengandung data atau informasi yang dapat digunakan sebagai aspek penelitian dan
pengembangan ilmu pengetahuan.
5) Aspek Pendidikan
Isinya menyangkut data atau informasi tentang perkembangan kronologis dari kegiatan
pelayanan medis yang diberikan kepada pasien.
6) Aspek Dokumentasi
Isinya menjadi sumber ingatan yang harus didokumentasikan dan dipakai sebagai bahan
pertanggungjawaban dan laporan Rumah Sakit.
7) Aspek Medis
Digunakan sebagai dasar untuk merencanakan pengobatan dan perawatan yang harus
diberikan kepada pasien.

B. Konsep Dasar Sistem


a) Pengertian Sistem
Terdapat dua pendekatan dalam pendefinisian sistem, yaitu yang menekankan
pada prosedurnya dan yang kedua adalah yang menekankan pada elemennya.
Dalam pendekatan sistem yang lebih menekankan pada prosedurnya,
mengartikan sistem sebagai berikut, “Sistem adalah suatu jaringan kerja dari
prosedur-prosedur yang saling behubungan, berkumpul bersama-sama untuk
melakukan kegiatan atau menyelesaikan suatu sasaran yang tertentu”. (Jogiyanto,
1990).
Pendekatan sistem yang merupakan jaringan kerja dari prosedur lebih
menekankan urutan-urutan operasi didalam sistem. Sedang prosedur (Procedure)
didefinisikan oleh Ricard F Neushel sebagai berikut, “Suatu prosedur adalah suatu
urut-urutan operasi krerikal (tulis menulis), biasanya melibatkan beberapa orang
didalam satu atau lebih departemen, yang diterapkan untuk menjamin penanganan
yang seragam dari transaksi-transaksi bisnis yang terjadi”. (Jogiyanto HM, 1990).
Sedangkan pendekatan sistem yang lebih menekankan pada elemen atau
komponennya mendefinisikan sistem sebagasi berikut, “Sistem adalah kumpulan
elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu”. (Jogiyanto
HM, 1990).
b) Karakteristik Sistem
Suatu sistem memiliki karakteristik, diantaranya adalah :

1) Komponen Sistem
Suatu sistem yang saling bekerjasama membentuk satu kesatuan. Suatu sistem terdiri dari
sejumlah komponen yang saling berinteraksi.

2) Batas Sistem
Batasan sistem (boundary) merupakan daerah yang membatasi antara suatu sistem dengan
sistem yang lain atau lingkungan luarnya.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 4
Windiarto Nugroho, Dewi Ekawati
3) Lingkungan Luar Sistem
Lingkungan luar (environment) dari suatu sistem adalah apapun diluar batas dari sistem yang
mempengaruhi operasi sistem. Lingkungan luar yang menguntungkan merupakan energi dari
sistem sehingga harus tetap dijaga dan dipelihara.

4) Penghubung Sistem
Penghubung sistem (interface) adalah merupakan media penghubung antara satu subsistem
dengan subsistem yang lain.

5) Masukan Sistem
Masukan (input) adalah energi yang dimasukan kedalam sistem. Masukan dapat berupa
masukan Perawatan (Maintenance input) dan masukan Signal (Signal Input).

Maintenance input ialah energi yang dimasukan supaya sistem tersebut dapat beroperasi.
Sedangkan signal Input yaitu energi yang diproses untuk mendapatkan keluaran.

6) Keluaran Sistem
Keluaran (Output) adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran
ynag berguna. Output ini dapat berupa laporan, grafik,dan lain-lain.

7) Pengolah Sistem
Pengolahan merupakan suatu bagian dari sistem yang mengolah atau memproses masukan data
menjadi informasi sesuai dengan keinginan penerima.

8) Sasaran sistem
Suatu sistem pasti mempunyai tujuan (goal) atau sasaran dari sistem sangat menentukan
sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem.

c) Konsep Dasar Informasi


1) Pengertian Informasi
Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih
berarti bagi penggunanya.

Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian atau sesuatu


yang terjadi pada saat tertentu dan mempunyai kesatuan nyata.

2) Kualitas Informasi
Kualitas informasi tergantung dari 3 (tiga) hal penting yaitu :
1. Accurate (Akurat).
Informasi harus bebas dari kesalahan-kesalahan. Akurat juga berarti informasi
harus jelas mencerminkan maksudnya, informasi harus akurat karena dari sumber
informasi sampai ke penerima informasi kemungkinan banyak terjadi gangguan
yang dapat merubah atau merusak informasi tersebut.

2. Timeliness (Tepat pada waktunya).


Informasi yang datang pada penerima tidak boleh terlambat, informasi yang sudah
usang tidak akan mempunyai nilai lagi.

3. Relevance (Relevan).

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 5
Windiarto Nugroho, Dewi Ekawati
Informasi tersebut mempunyai manfaat untuk pemakaiannya.

d) Konsep Dasar Sistem Informasi


(1) Pengertian Sistem Informasi
Menurut Robert A. Leitch dan K. Roscoe Davis Sistem Informasi dapat di
definisikan sebagai berikut :
”Sistem informasi adalah suatu sistem di dalam suatu organisasi yang
mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi,
bersifat managerial dan kegiatan strategis dari suatu organisasi dan menyediakan
pihak luar tertentu dalam laporan-laporan yang di perlukan”.(
http://septilia.wordpress.com/2009/03/12/pengantar-sistem-informasi/).
(2) Komponen Sistem Informasi
John Burch dan Gary Grugnitski mengemukakan bahwa sistem informasi
terdiri dari komponen-komponen yang di sebut dengan istilah blok bangunan
(building block), yaitu blok masukan (input block), blok model (model block),
blok keluaran (output block), blok teknologi (technology block), blok basis data
(database block), blok kendali (control block).

Adapun penjelasan dari istilah – istilah yang terdapat dalam komponen


sistem informasi sebagai berikut :
(a) Blok Masukan
Input mewakili data yang masuk ke dalam sistem informasi, input
disini termasuk metode-metode dan media untuk menangkap data yang akan
dimasukkan, yang dapat berupa dokumen-dokumen dasar.
(b) Blok Model
Blok ini terdiri dari kombinasi prosedur, logika dan model matematik
yang akan memanipulasi data input dan data yang tersimpan di basis data
dengan cara yang sudah terstruktur untuk menghasilkan keluaran yang
diinginkan.
(c) Blok Keluaran
Produk dari sistem informasi adalah keluaran yang merupakan
informasi yang berkualitas dan dokumentasi yang berguna untuk semua
tingkatan manajemen serta semua pemakai sistem.
(d) Blok Teknologi
Teknologi merupakan “kotak alat” (tool-box) dalam sistem informasi.
Teknologi digunakan untuk menerima input, menjalankan model, menyimpan
dan mengakses data, menghasilkan dan mengirimkan keluaran dan membantu
pengendalian dari sistem secara keseluruhan.
(e) Blok Basis Data
Basis data (database) merupakan kumpulan dari data yang saling
berhubungan satu dengan yang lainnya, tersimpan di perangkat keras
komputer dan menggunakan perangkat lunak untuk memanipulasinya.
(f) Blok Kendali

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 6
Windiarto Nugroho, Dewi Ekawati
Banyak hal yang dapat merusak sistem informasi, seperti misalnya
bencana alam, kebakaran dan lain-lain. Beberapa pengendalian perlu
dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat
merusak sistem dapat dicegah ataupun bila terlanjur terjadi kesalahan-
kesalahan tersebut dapat langsung cepat diatasi.

e) Perancangan Basis Data


Basis data adalah kumpulan data, yang dapat digambarkan sebagai aktifitas dari
satu atau lebih organisasi yang berelasi.(Andri Kristanto) Manajemen sistem basis data
(database management system-DBMS) adalah perangkat lunak yang didesain untuk
membantu dalam hal pemeliharaan dan utilitas kumpulan data dalam jumlah besar.
Menurut jenisnya, file data dapat digolongkan menjadi beberapa macam diantaranya :
(1) File Master (master file)
File master merupakan file yang digunakan untuk menampung data-data yang
relatif tidak mudah berubah dan menjadi acuan bagi file yang lain (file transaksi).
(2) File Transaksi (transaction file)
File transaksi merupakan file yang digunakan untuk menampung data hasil dari
transaksi yang terjadi yang melibatkan beberapa file master, beserta data tambahan
pada tiap transaksi.
(3) File Laporan (output file)
File laporan merupakan file yang berisi informasi yang akan ditampilkan dan belum
dicetak. Biasanya untuk mempersiapkan pembuatan laporan bila printer belum siap.
(4) File Sejarah (history file)
File sejarah adalah file yang berisi data masa lalu yang sudah tidak aktif lagi, tetapi
perlu disimpan untuk masa yang akan datang.
(5) File Pelindung (backup file)
File pelindung adalah salinan dari file-file yang masih aktif di database pada saat
tertentu.
(6) File Kerja (working file)
File kerja adalah file yang dibuat oleh suatu proses program secara sementara
karena memori komputer tidak mencukupi atau untuk menghemat pemakaian
memori selama proses dan akan dihapus jika proses telah selesai.

f)Tujuan Penggunaan Basis Data


Tujuan dari penggunaan basis data adalah sebagai berikut :

(1) Kecepatan dan kemudahan (speed)


(2) Efisiensi ruang penyimpanan (space)
(3) Keakuratan (accuracy)
(4) Ketersediaan (availability)
(5) Kelengkapan (completeness)
(6) Keamanan (security)
(7) Kebersamaan pemakaian (shareability)

(1) Teknik Normalisasi

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 7
Windiarto Nugroho, Dewi Ekawati
Normalisasi merupakan suatu proses untuk mengubah suatu tabel yang memiliki
masalah tertentu ke dalam dua buah tabel atau lebih yang tidak lagi memiliki masalah
tersebut. (Abdul Kadir)

Beberapa istilah yang digunakan dalam normalisasi adalah sebagai berikut :

(a) Entitas (Entity)


Entitas adalah konsep informasi yang direkam, meliputi orang, kejadian atau
tempat. Misalnya dalam pengolahan data sumbangan, entitasnya adalah
donatur, uang dan sebagainya.
(b) Atribut atau Field
Atribut adalah sesuatu yang mewakili entitas. Misalkan untuk donatur,
atributnya adalah nomor identitas donatur, nama, alamat, nomor telepon, dan
sebagainya.
(c) Data Value
Data value atau isi data adalah informasi yang tersimpan dalam setiap atribut.
Misalnya data value dari nama donatur adalah Nugroho.
(d) Record
Record adalah kumpulan atribut yang saling berkaitan satu dengan yang lain
dan menginformasikan suatu entitas secara lengkap. Misalnya, satu record
donatur berisi nomor identitas, nama, alamat, nomor telepon dari seorang
donatur.
(e) File
File adalah kumpulan record yang mempunyai panjang atribut yang sama
tetapi berbeda data valuenya.
(f) Basis Data atau Database
Database adalah kumpulan file satu dengan file yang lainnya yang membentuk
suatu informasi secara keseluruhan. Misalnya database panti terdapat file
donatur, file anak asuh dan sebagainya.
Dalam proses normalisasi, diperlukan kunci relasi untuk pengaksesan data dari
dalam relasi atau untuk menyusun kerelasian antar relasi. Kunci relasi merupakan satu
atau gabungan beberapa atribut yang bersifat unik yang dapat digunakan untuk
mengidentifikasi setiap record dalam relasi.

Berdasarkan jumlah atribut penyusunnya, kunci relasi dapat diklasifikasikan


dalam dua jenis, yaitu :

(a) Kunci Sederhana (simple key), yaitu kunci relasi yang tersusun atas sebuah
atribut.
(b) Kunci Komposit (composite key), yaitu kunci ynag tersusun atas gabungan
atribut.
Berdasarkan macamnya, kunci relasi terdiri atas :
(a) Kunci Kandidat (Candidate Key)

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 8
Windiarto Nugroho, Dewi Ekawati
Candidate key adalah satu atau gabungan minimal atribut yang bersifat unik
yang dapat digunakan untuk mengidentifikasi setiap record dalam relasi.
Dalam setiap relasi minimal mempunyai sebuah candidate key.
(b) Kunci Primer (Primery Key)
Kunci primer adalah kunci kandidat yang dipilih untuk mewakili setiap
kejadian dari suatu entity. Kunci primer ini sifatnya unik, tidak mungkin sama
dan tidak mungkin ganda.
(c) Kunci Alternatif (Alternate Key)
Kunci alternatif adalah kunci kandidat yang tidak dipilih sebagai kunci primer.
(d) Kunci Tamu (Foreign Key)
Kunci tamu adalah kunci primer yang ditempatkan pada file lain dan biasanya
menunjukkan dan melengkapi suatu hubungan (relationship) antara file satu
dengan file lainnya. Biasanya kalau ada 2 file, kunci primer akan diletakkan
pada entity induk sedangkan kunci tamu akan diletakkan pada entity anak.
Hubungan antara entity induk dengan entity anak adalah one to many.
Dalam proses normalisasi juga membutuhkan beberapa tahap sebelum nantinya
akan diimplementasikan dalam program.

Tahap-tahap normalisasi adalah :

(a) Bentuk Tidak Normal (Unormalized Form)


Bentuk tidak normal adalah suatu bentuk dimana semua data dikumpulkan
apa adanya tanpa mengikuti aturan-aturan tertentu. Bisa jadi data yang
dikumpulkan akan tidak lengkap dan terjadi duplikasi data.
(b) Bentuk Normal Pertama (First Normal Form)
Bentuk normal pertama adalah suatu bentuk dimana data yang dikumpulkan
menjadi satu field yang sifatnya tidak akan berulang dan tiap field hanya
mempunyai satu pengertian.
(c) Bentuk Normal Kedua (Second Normal Form)
Bentuk normal kedua adalah suatu bentuk yang memenuhi syarat-syarat
yaitu :
(1))Sudah memenuhi kriteria sebagai bentuk normal pertama
(2))Field yang bukan kunci tergantung secara fungsi pada kunci primer.
(d) Bentuk Normal Ketiga (Third Normal Form)
Bentuk normal ketiga adalah suatu bentuk yang memenuhi syarat-syarat
yaitu :
(1))Relasi antar file sudah merupakan bentuk normal kedua
(2))Field yang bukan kunci tergantung secara fungsi pada kunci primer.
(2) Diagram ER (Entity Relationship)
Relasional adalah bentuk hubungan antara beberapa data yang dikelompokkan
dalam sebuah tabel, bentuk hubungan ini sangat dibutuhkan untuk memperoleh
informasi dan dapat mendokumentasikan berbagai informasi. Relasional
merupakan bentuk hubungan antara dua tabel atau lebih, yang salah satu tabel
anggotanya akan memiliki bentuk ketergantungan yang erat sehingga tidak dapat
dipisahkan sendiri-sendiri. Relasi menunjukkan adanya hubungan diantara

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 9
Windiarto Nugroho, Dewi Ekawati
sejumlah entitas.(Fathansyah:2002). Dalam table relasi antar tabel dimaksudkan
adanya hubungan logis antara table yang satu dengan yang lainnya.
(a) One To One Relationship
Hubungan antara file pertama dengan file kedua adalah satu berbanding satu.

Entitas 1 Entitas 2

Gambar Relasi Antar Tabel One to One

(b) One to Many Relationship


Hubungan antara file pertama dengan file kedua adalah satu berbanding banyak.

Entitas 1 Entitas 2

Gambar Relasi Antar Tabel One to Many

(c) Many to Many Relationship


Hubungan antara file pertama dengan file kedua adalah banyak berbanding banyak.

Entitas 1 Entitas 2

Gambar Relasi Antar Tabel Many to Many

(3) Diagram Alir Data (DAD)


DAD adalah alat yang digunakan untuk menggambarkan suatu sistem yang telah
ada atau sistem baru yang akan dikembangkan secara logika tanpa
mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau
lingkungan fisik dimana data tersebut akan disimpan.
Simbol-simbol yang sering digunakan dalam DAD yaitu :
Tabel Simbol DAD
Entity luar (Pihak Luar)
Entity Luar merupakan Sumber atau tujuan dari aliran data
dari atau ke sistem. Entity Luar merupakan lingkungan luar
sistem, jadi sistem tidak tahu menahu mengenai apa yang
terjadi di entity luar sistem.

Proses atau Fungsi


Proses atau fungsi yang mentransformasikan data secara
umum digambarkan dengan segi empat tumpul. Bagian atas
biasanya biasanya berisi nomor untuk identitas proses. Bagian
badan berisi penjelasan fungsi dari proses.

Berkas atau Tempat Penyimpanan


Merupakan komponen yang berfungsi untuk menyimpan data
atau file.

Aliran Data
Menggambarkan aliran data dari satu proses ke proses
lainnya.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 10
Windiarto Nugroho, Dewi Ekawati
Pedoman dalam penggambaran DAD :
(a) Mengidentifikasi semua kesatuan luar (external entity) yang terlibat dalam
sistem.
(b) Mengidentifikasi semua input dan output yang terlibat dengan kesatuan luar.
(c) Menggambar diagram konteks, yang berfungsi untuk mengambarkan sistem
pertama kali secara garis besar.
(d) Menggambar bagan berjenjang yang menggambarkan semua proses yang ada
di sistem .
(e) Menggambar sketsa DAD untuk overview diagram (level 0) berdasakan
proses di diagram berjenjang.
(f) Menggambar DAD untul level-level berikutnya, yaitu level 1 dan seterusnya
untuk tiap-tiap proses yang di pecah-pecah sesuai dengan bagan
berjenjangnya.
Kesalahan yang harus dihindari berkaitan dengan proses yaitu :
(a) Proses mempunyai input tetapi tidak menghasilkan output (back hole), ada
data masuk tetapi tidak ada data keluar.
(b) Proses menghasilkan output tetapi tidak pernah menerima input (miracle).

(4) Kamus Data Tabel


Kamus Data atau Data Dictionary atau disebut juga dengan istilah
systems data dictionary adalah katalog fakta tentang data dan kebutuhan–
kebutuhan informasi dari suatu sistem informasi. Dengan menggunakan kamus
data, analis sistem dapat mendefinisikan data yang mengalir di sistem dengan
lengkap. Kamus data dibuat pada tahap analisis sistem dan digunakan baik pada
tahap analisis maupun pada tahap perancangan sistem.
Pada tahap analisis, kamus data dapat digunakan sebagai alat komunikasi
antara analis sistem dengan pemakai sistem tentang data yang mengalir di sistem,
yaitu tentang data yang masuk ke sistem dan tentang informasi yang dibutuhkan
oleh pemakai sistem. Pada tahap perancangan sistem, kamus data digunakan untuk
merancang input, merancang laporan-laporan dan database.

(5) Bagan Alir Sistem


Bagan alir sistem (system flowchart) merupakan bagan yang
menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini
menjelaskan urut-urutan dari prosedur-prosedur yang ada di dalam sistem. Bagan
alir sistem menunjukkan apa yang dikerjakan di sistem.
Bagan alir sistem digambar dengan menggunakan simbol-simbol yang
tampak sebagai berikut

Tabel Simbol Bagan Alir Sistem


Simbol Keterangan

Proses

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 11
Windiarto Nugroho, Dewi Ekawati
Manual input (keyboard)

Hardisk atau media penyimpanan dalam


komputer

Arus data dari proses


Dokumen input dan output baik untuk
proses manual, mekanik atau komputer

PEMBAHASAN II
NORMALISASI DATA DAN DIAGRAM ALIR DATA
Langkah awal yang harus dilakukan oleh seorang pembuat aplikasi rekam medis adalah
melakukan observasi atau penelitian mengenai kebutuhan yang ada di lingkungan kerja tempat software
mau dibuat. Kita tidak bisa menentukan sendiri fitur-fitur apa saja yang akan dibuat, setiap apa yang kita
rancangan harus benar-benar dikomunikasikan dengan pemakai agar benar-benar sesuai dengan
kebutuhan. Sering kali pembuat software membuat aplikasi yang sangat lengkap tapi justru fitur yang ada
dianggap terlalu ribet bagi pengguna dan justru tidak digunakan dan ini menjadi sangat mubadzir, atau
sebaliknya pengguna sangat butuh dengan sebuah fitur tapi tidak ada di sistem yang dibuat. Sistem
aplikasi rekam medis yang baik ada yang sesuai kebutuhan, tidak ada fitur yang menganggur atau tidak
digunakan, memiliki interface(tampilan) yang baik dalam artian mudah digunakan bukan sekedar
tampilan yang bagus, karena sering kali penulis mendapati aplikasi rekam medis yang sangat bagus dari
sisi tampilan tapi tidak memperhatikan sisi kemudahan penggunaan sehingga si pengguna sendiri bingung
saat memakai, dan bahkan terkesan ribet. Perancangan dan desain aplikasi sendiri disusun atau dirancang
secara Eksperimental, artinya selalu dievaluasi antara pembuat dan pengguna, diujicoba oleh pengguna
dan dari situ dapat disumpulkan apa saja yang kurang dan apa yang perlu ditambahkan atau fitur apa yang
tidak dibutuhkan, sehingga bisa jadi masukkan bagi pembuat. Hal ini tidak cukup dilakukan sekali dua
kali, karena kadang bisa sampai berbulan-bulan seiring dengan perkembangan yang ada di lingkungan
pengguna seperti misalnya perubahan system dari yang tadinya klinik menjadi rumah sakit.

A. PERANCANGAN SISTEM
Tujuan dari perancangan sistem secara umum adalah untuk memberikan gambaran secara
umum kepada pemakai program tentang sistem yang baru. Rancangan sistem secara umum
mengidentifikasikan komponen-komponen sistem informasi yang akan di rancang secara rinci. Pada tahap
perancangan secara umum, komponen-komponen sistem informasi dirancang dengan tujuan untuk
dikomunikasikan kepada pemakai program (user) bukan untuk pemrogram. Untuk merancang sebuah
sistem kita bisa menggunakan berbagai macam software diantaranya DEA(di linux), Libre Office Draw,
Microsoft Visio 2003 atau software yang lain, tapi dalam buku ini yang akan kita bahas adalah
menggunakan microsoft Visio 2003. Microsoft Visio sendiri adalah produk berbayar yang dikeluarkan
oleh microsoft, dan biasanya merupakan paket terpisah dari produk office yang lainnya(Word, Excel, dll),
untuk mendapatkannya anda bisa beli secara online di official webpagenya microsoft atau membeli di
toko software atau toko komputer. Perancangan sistem sendiri terdiri dari beberapa tahap, dimulai dari
perancangan basis data, relasi antar tabel, pembuatan kamus data tabel, pembuatan data flow
diagram(DFD), flow chart system, flow chart program(tidak dibahas dalam buku ini, berkaitan dengan
logika program).

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 12
Windiarto Nugroho, Dewi Ekawati
a. Rancangan Basis Data.
Dalam perancangan basis data terdiri dari beberapa tahap. Yang pertama adalah identifikasikan
bentuk tidak normal(unnormalized form), kemudian dilanjutkan ke normalisasi data sampai
didapat bentuk yang benar-benar normal dan sesuai kebutuhan pengembangan. Normalisasi
sendiri bisa saja berhenti sampai di bentuk normal pertama(first normal form), di bentuk normal
ke dua(second normal form), di bentuk normal ke tiga(third normal form), di bentuk normal
boyce(boyce normal form), di bentuk normal ke empat(fourth normal form) atau di bentuk
normal ke lima(fifth normal form). Dalam buku ini, dari contoh kasus yang ada hanya sampai ke
bentuk normal ke dua dikarenakan yang dibahas hanya seputar klinik rawat jalan sehingga data
yang didapat dalam observasi masih sangat sederhana. Berikut adalah contohnya :

1) Bentuk Tidak Normal


Bentuk tidak normal merupakan kumpulan field yang digunakan atau yang diperoleh
dari beberapa pengumpulan data, tidak ada keharusan mengikuti suatu format tertentu, bisa
tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya.
Bisa saja field-field yang ada didapat dari form-form yang dipakai di klinik seperti lembar
registrasi pasien, lembar rekam medis pasien, kertas resep dokter, jadwal praktek dokter, bisa
juga dari file-file excel dan microsoft acces yang selama ini dipakai untuk pengolahan data,
atau bisa saja kita simpulkan dari hasil wawancara dengan nara sumber yang ada yang
kemudian dituangkan ke dalam bentuk tidak normal ini, semua yang kira-kira dibutuhkan
ditampung terlebih dahulu baru kemudian nanti dipisah-pisah lagi di bentuk normal yang
akan dibuat. Berikut ini adalah contoh dari bentuk tidak normal yang misalnya didapat dari
observasi dilapangan. :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 13
Windiarto Nugroho, Dewi Ekawati
Gambar Bentuk Tidak Normal

2) Proses Normalisasi Bentuk Normal Pertama


Suatu tabel dikatakan dalam bentuk normal pertama (1NF) bila setiap kolom bernilai
tunggal untuk setiap baris. Ini berarti bahwa nama kolom yang berulang cukup diwakili oleh
sebuah nama kolom (tidak perlu ada indeks dalam memberi nama kolom), tidak memiliki
atribut bernilai banyak (multivalued attribute), setiap atribut dalam tabel tersebut harus
bernilai atomic (tidak dapat dibagi-bagi lagi). Adanya field baru mengacu pada kumpulan
field-field Tidak Normal sebelumnya. Dari normalisasi yang dilakukan didapat :

Gambar Bentuk Normal Pertama

Normal Bentuk Satu di atas dibuat di MS.Visio dengan cara :

a. Jalankan Visio, pilih menu File, pilih New, pilih New Drawing

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 14
Windiarto Nugroho, Dewi Ekawati
Gambar Menu New Drawing

b. Klik pada Toolbar Shapes, pilih Database, pilih Entity Relationship

Gambar Toolbar Shapes Database

c. Pilih Shapes View di sebelah kiri dengan mengekliknya, tarik ke dalam lembar draw

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 15
Windiarto Nugroho, Dewi Ekawati
Gambar Pembuatan Bentuk Normal 1

Untuk mengganti tulisan View menjadi nama tabel, terlebih dahulu klik pada
Text Tool, baru kemudian klik pada View untuk mengganti tulisaan yang ada. Untuk
mengisikan field-fieldnya langsung klik di kotak bawah view. Besar huruf maupun jenis
huruf yang dipakai bisa diubah seperti pada Microsoft word. Bisa juga diatur keerataan
tulisan seperti rata kanan, rata tengah atau rata kanan kiri dll. Pembaca bisa
mengeksplorasi sendiri menu-menu yang ada agar semakin akrab. Dibawah ini hasil
pemecahan ke dalam Bentuk Normal 1 yang didesain dalam Visio :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 16
Windiarto Nugroho, Dewi Ekawati
Gambar Bentuk Normal 1 di Visio

d. Untuk selanjutnya, bisa dieksport ke dalam bentuk JPEG, PNG dll dengan memilih menu
File, pilih Save As, Pilih Save As Type sesuai dengan kebutuhan.

3) Proses Normalisasi Bentuk Normal Kedua


Pada bentuk normal kedua ini terlebih dahulu harus memenuhi normalisasi bentuk
pertama dan semua atribut bukan kunci memiliki dependensi /ketergantungan sepenuhnya
terhadap kunci primer, untuk membentuk normal kedua harus sudah ditentukan kunci field.
Kunci field haruslah unik yang dipakai sebagai pedoman dalam pencarian data dan dapat
mewakili atribut yang menjadi anggota.

Pada normalisasi bentuk pertama dilakukan lagi pemecahan terhadap tabel yang
dirasa masih bermasalah. Pemecahan tabel tersebut bertujuan untuk mengurangi kerangkapan
data, mengoptimalkan redundansi yang tidak bisa dihilangkan sama sekali karena berguna
untuk integritas referensial(seperangkat aturan yang mengatur hubungan antara kunci
primer dengan kunci tamu milik tabel-tabel yang berada dalam suatu basis data relasional
untuk menjaga konsistensi data), mengurangi masalah-masalah yang timbul dalam
pembuatan tabel yang disebut dengan anomaly (proses pada basis data yang mempunyai efek
samping yang tidak diharapkan), anomali tersebut yaitu : anomali peremajaan, anomaly
penyisipan, anomali penghapusan. Fungsi yang lainnya adalah meminimalkan ukuran
penyimpanan yang diperlukan untuk menyimpan data dan mempercepat proses permintaan
data.
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 17
Windiarto Nugroho, Dewi Ekawati
Pemecahan tabel tersebut :

a) Pemecahan terhadap tabel rawat_jalan menjadi tiga yaitu : Tabel reg_periksa


(no_rawat, tgl_registrasi, jam_reg, kd_dokter, no_rkm_medis, nip, biaya_reg) dengan
no_rawat sebagai kunci utama, Tabel tarif_tindakan (kd_tindakan, nm_tindakan, tarif)
dengan kd_tindakan sebagai kunci primer, Tabel rawat_jalan (no_rawat, diagnosa,
kd_tindakan, kd_dokter, suhu_tubuh, tensi, keterangan, biaya_rawat) dengan no_rawat,
diagnosa, kd_tindakan, kd_dokter sebagai gabungan kunci utama dan kd_tindakan, dan
no_rawat serta kd_dokter sebagai kunci tamu.
b) Pemecahan terhadap tabel pemberisn_obat menjadi dua yaitu : Tabel obat (kode_obat,
nama_obat, harga) dengan kode_obat sebagai kunci utama, Tabel pemberian_obat
(no_rawat, diagnosa, kode_obat, biaya_obat, jml, tambahan, total) dengan no_rawat dan
kode_obat sebagai gabungan kunci utama dan no_rawat serta kode_obat sebagai kunci
tamu.

Dari pemecahan tabel diatas didapatkan bentuk normal baru, dalam normalisasi ke
bentuk dua ini ternyata table yang didapat sudah normal dan bisa direlasikan. Bentuk normal
kedua seperti gambar :

Gambar Bentuk Normal Kedua

Sama seperti Bentuk Normal 1, Bentuk Normal 2 ini juga dibuat di Visio. Karena
dirasa sudah normal maka langsung diberikan kunci primer dan diidentifikasikan foreign
key yang dipakai. Silahkan pelajari lagi di Pembahasan I tentang normalisasi data. Sudah

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 18
Windiarto Nugroho, Dewi Ekawati
ada pembahasan disana tentang apa itu kunci utama/primary key/kunci primer begitu juga
dengan foreign key.

b.Relasi Antar Tabel


Berikut adalah bentuk gambar Entity Relationship/relasi antar tabel dari normalisasi yang
didapat sebelumnya. Untuk pengertian tentang relasi antar tabel bisa dibaca lagi di Pembahasan I.

Gambar Relasi Antar Tabel

Keterangan :

* : Kunci Primer : Hubungan relasi one to many


** : Kunci Sekunder : Hubungan relasi one to one
__ : Kunci Primer Gabungan

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 19
Windiarto Nugroho, Dewi Ekawati
Gambar diatas dibuat dengan Visio. Untuk membuatnya, Bentuk Normal 2 ditata terlebih
dahulu kemudian dihubungkan dengan Connector Tool yang terletak disebelah kiri Text Tool.

Gambar Pembuatan Relasi Antar Tabel


Bagi yang pertama kali mencoba membuat desain relasi mungkin paling bingung saat
mencoba mengarahkan dan membuat garis melengkung, di atas sudah ada ilustrasi caranya.
Jangan lupa untuk mengeklik Pointer Tool saat mau memilih object yang ada seperti garis atau
tabel. Maaf jika pembahasan mengenai desain di visio ini tidak mendalam, yang kami coba
berikan disini hanya secara teknis saja sesuai dengan kebutuhan perancangan. Pembaca bisa
mempelajarinya secara otodidak dan mengeksplorasi menu-menu yang ada. Jangan lupa
mencoba searching di internet, sudah banyak tutorial yang membahas tentang penggunaan
software visio ini.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 20
Windiarto Nugroho, Dewi Ekawati
c. Kamus Data Tabel
Setelah didapat bentuk relasi tabel langkah selanjutnya adalah membuat kamus data tabel,
yaitu tabel-tabel yang dibutuhkan dalam pembuatan aplikasi, kamus data tabel ini nantinya
diimplemantasikan ke dalam database MySQL. Untuk pengertian kamus data tabel silahkan baca
kembali di Pembahasan I.

1) Kamus Data Tabel Obat


Nama Tabel : obat
Kunci Utama : kode_obat
Keterangan : Tabel untuk menyimpan obat

Tabel Kamus Data Tabel Obat

NO. Nama Field Tipe Data Lebar Keterangan


1 kode_obat Varchar 15 Kode Obat
2 nama_obat Varchar 50 Nama Obat
3 Harga Double 12 Harga

2) Kamus Data Tabel Dokter


Nama Tabel : dokter
Field Kunci : kd_dokter
Keterangan : Tabel untuk menyimpan data Dokter

Tabel Kamus Data Tabel Dokter

NO. Nama Field Tipe Data Lebar Keterangan


1 kd_dokter Varchar 8 Kode Dokter
2 nm_dokter varchar 40 Nama Dokter
3 Jk Enum L, P Jenis Kelamin

4 tmp_lahir Varchar 15 Tempat Lahir


5 tgl_lahir Date Tanggal Lahir
6 no_ijin_praktek Varchar 20 Nomer ijin praktek
7 Alamat Varchar 50 Alamat
8 Password varchar 200 Password Login

3) Kamus Data Tabel Pasien


Nama Tabel : pasien
Kunci Utama : no_rkm_medis
Keterangan : menyimpan data pasien

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 21
Windiarto Nugroho, Dewi Ekawati
Tabel Kamus Data Tabel Pasien

NO. Nama Field Tipe Data Lebar Keterangan


1 no_rkm_medis Varchar 10 Nomer Rekam Medis
2 nm_pasien Varchar 40 Nama Pasien
3 no_ktp Varchar 20 Nomer KTP
4 Jk Enum L,P Jenis Kelamin
5 tmp_lahir Varchar 15 Tempat Lahir
6 tgl_lahir Date Tanggal Lahir
7 Alamat Varchar 200 Alamat Pasien
8 gol_darah Enum A, B, AB, O, Golongan Darah
-
9 pekerjaan Varchar 15 Pekerjaan
10 stts_nikah Enum SINGLE, Setatus Nikah
MENIKAH,
JANDA,
DUDHA
11 Agama Varchar 12 Agama Pasien
12 tgl_daftar Date Tanggal Daftar Periksa
Pertama Kali
13 no_tlp Varchar 13 Nomer Telephone
14 Umur Varchar 20 Umur
15 pnd Enum TS, TK, SD, Pendidikan Pasien
SMP, SMA,
D1, D2, D3,
16 Keluarga Enum AYAH, IBU, Keluarga Pasien
ISTRI,
SUAMI,
SAUDARA
17 Namakeluarga Varchar 50 Nama Keluarga Pasien

4) Kamus Data Tabel Petugas


Nama Tabel : petugas
Kunci Utama : nip
Keterangan : menyimpan data petugas

Tabel Kamus Data Tabel Petugas

NO. Nama Field Tipe Data Lebar Keterangan


1 Nip Varchar 20 Nomer Induk Petugas
2 Nama Varchar 40 Nama Pasien

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 22
Windiarto Nugroho, Dewi Ekawati
3 Jk Enum L, P Jenis Kelamin
4 tmp_lahir Varchar 15 Tempat Lahir
5 tgl_lahir Date 10 Tanggal Lahir
6 Alamat Varchar 60 Alamat
7 Password Varchar 200 Password Login
Petugas

5) Kamus Data Tabel Tarif Tindakan


Nama Tabel : tarif_tindakan
Kunci Utama : kd_tindakan
Keterangan : Untuk menyimpan data tarif tindakan

Tabel Kamus Data Tabel Tarif Tindakan

NO. Nama Field Tipe Data Lebar Keterangan


1 kd_tindakan Varchar 8 Kode Tindakan
2 nm_tindakan Varchar 80 Nama Tindakan
3 Tarif double 12 Tarif Tindakan

6) Kamus Data Tabel Registrasi Periksa


Nama Tabel : reg_periksa
Kunci Utama : no_rawat
Kunci Tamu : kd_dokter, no_rkm_medis, nip
Keterangan : Tabel untuk menyimpan data Registrasi

Tabel Kamus Data Tabel Registrasi Periksa

NO. Nama Field Tipe Data Lebar Keterangan


1 no_rawat Varchar 17 Nomer Rawat
2 tgl_registrasi Date Tanggal Pendaftaran
Periksa
3 jam_reg Time Jam Pendaftaran
4 kd_dokter Varchar 8 Dokter Yang Dituju
5 no_rkm_medis Varchar 10 Pasien Pendaftar
6 Nip Varchar 20 Petugas Pendaftaran
7 biaya_reg double 12 Biaya Registrasi

7) Kamus Data Tabel Rawat Jalan


Nama Tabel : rawat_jalan
Kunci Utama : no_rawat, diagnosa, kd_tindakan,kd_dokter
Kunci Tamu : no_rawat, kd_tindakan, kd_dokter
Keterangan : Tabel untuk menyimpan data Rawat Jalan

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 23
Windiarto Nugroho, Dewi Ekawati
Tabel Kamus Data Tabel Rawat Jalan

NO. Nama Field Tipe Data Lebar Keterangan


1 no_rawat Varchar 17 No perawatan
pasien
2 diagnosa varchar 50 Diagnosa Penyakit
3 kd_tindakan Varchar 8 Tindakan
pemeriksaan yang
diberikan pada
Pasien
4 kd_dokter Varchar 8 Tindakan Dokter
5 suhu_tubuh Char 5 Suhu tubuh Pasien
6 tensi Char 7 Tekanan darah
Pasien
7 Keterangan Varchar 100 Keterangan
pemeriksaan
8 biaya_rawat double 12 Biaya perawatan

8) Kamus Data Tabel Pemberian Obat


Nama Tabel : pemberian_obat
Kunci Utama : no_rawat, kd_obat
Keterangan : Tabel untuk menyimpan data Pemberian Obat

Tabel Kamus Data Tabel Pemberian Obat

NO. Nama Field Tipe Data Lebar Keterangan


1 no_rawat varchar 17 No Perawatan Pasien

2 diagnosa varchar 50 Diagnosa Penyakit


3 kode_obat Varchar 15 Kode Pemberian Obat

4 biaya_obat Double Biaya Obat


5 jml Double Jumlah Obat yang diberikan

6 tambahan Double Tambahan Biaya Obat

7 Total Double Total Biaya Obat


Selain dari tabel yang telah disebutkan diatas masih terhadap tabel-tabel lain yang tidak
ditampilkan dalam relasi, tabel-tabel tersebut adalah tabel admin, user dan sms yang tidak
memiliki relasi dengan tabel apapun. Tabel admin dan user digunakan untuk keamanan data yaitu
untuk menyimpan data login user, sedangkan tabel sms untuk menyimpan data sms pasien yang
masuk ke handphone petugas.

d. Data Flow Diagram (DFD)


Untuk pengertian Data Flow Diagram silahkan pelajari kembali Pembahasan I.
Langkah-langkah Pembuatan DFD:

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 24
Windiarto Nugroho, Dewi Ekawati
1) Identifikasikan semua kesatuan luar (external entities) yang terlibat dalam sistem. Kesatuan
luar yang digunakan dalam sistem ini yaitu : Petugas, Dokter, Admin, Pasien
2) Identifikasikan semua input dan output yang terlibat dengan kesatuan luar.

Tabel Hubungan Eksternal Luar dengan I/O

External Luar Input Output


1. Admin Input Data Pasien Laporan Data Pasien
Input Data Petugas Laporan Data Petugas
Input Data Dokter Laporan Data Dokter
Input Data Admin Data admin
Input Data Obat Laporan Data Obat
Input Data Tarif Tindakan Laporan Data Tarif Tindakan
Input Data Registrasi Laporan Data Registrasi
Input Data Pemberian Obat Laporan Data Pemberian obat
Input Data Tindakan Dokter Laporan Data Tindakan Dokter
2. Dokter Input Data Pemberian Obat Laporan Data Pemberian obat
Input Data Tindakan Dokter Laporan Data Tindakan Dokter
3. Petugas Input Data Pasien Laporan Data Pasien
Input Data Registrasi Laporan Data Registrasi
Input Data Obat Laporan Data Obat
Input Data Tindakan Laporan Data Tindakan
4. Pasien Data Pembayaran

e. Diagram Konteks

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 25
Windiarto Nugroho, Dewi Ekawati
Gambar Diagram Konteks

Fungsi dari diagram konteks adalah untuk memperlihatkan interaksi sistem informasi
dengan lingkungan dimana sistem tersebut ditempatkan. Dalam diagram konteks hanya ada satu
proses. Tidak boleh ada store dalam diagram konteks. Diagram konteks berisi gambaran umum
(secara garis besar) sistem yang akan dibuat. Secara kalimat, dapat dikatakan bahwa diagram
konteks ini berisi “siapa saja yang memberi data (dan data apa saja) ke sistem, serta kepada siapa
saja informasi (dan informasi apa saja) yang harus dihasilkan sistem.” Jadi, yang dibutuhkan
adalah :

1) Siapa saja pihak yang akan memberikan data ke sistem.


2) Data apa saja yang diberikannya ke sistem.
3) Kepada siapa sistem harus memberi informasi atau laporan.
4) Apa saja isi/ jenis laporan yang harus dihasilkan sistem.
Kata “Siapa” di atas dilambangkan dengan kotak persegi (disebut dengan terminator), dan
kata “apa” di atas dilambangkan dengan aliran data (disebut dengan data flow).

Dari diagram diatas menjelaskan bahwa terdapat admin, dokter dan petugas yang
memberikan data ke dalam sistem. Data yang diberikan admin kepada sistem berupa : Input Data
Pasien, Input Data Petugas, Input Data Dokter, Input Data Admin, Input Data Obat, Input Data
Tarif Tindakan, Input Data Registrasi, Input Data Pemberian Obat, Input Data Tindakan Dokter.
Data yang diberikan dokter kepada sistem berupa : Input Data Pemberian Obat, Input Data
Tindakan Dokter. Data yang diberikan petugas kepada sistem berupa : Input Data Registrasi,
Input Data Obat, Input Data Tindakan, Input Data Pasien.

Dari diagram diatas, juga menjelaskan bahwa sistem memberikan laporan kepada dokter
dan petugas, admin serta pasien. Sistem memberikan informasi kepada dokter berupa : Laporan
Data Pemberian Obat, Laporan Data Tindakan Dokter. Sistem memberikan laporan kepada
petugas berupa : Laporan Data Registrasi, Laporan Data Pasien, Laporan Data Obat, Laporan
Data Tindakan. Sistem memberikan laporan kepada Admin berupa : Laporan Data Pasien,
Laporan Data Petugas, Laporan Data Dokter, Laporan Data Admin, Laporan Data Obat,
Laporan Data Tarif Tindakan, Laporan Data Registrasi, Laporan Data Pemberian Obat,
Laporan Data Tindakan Dokter. Sistem memberikan laporan kepada pasien berupa :
Laporan/Nota Pembayaran.

Untuk membuat desain diagram konteks di atas, pada shapes visio silahkan pilih
Miscellaneous Flowchart Shapes. Untuk pembuatannya tidak jauh beda dengan pembuatan relasi
tabel, Cuma object-objectnya saja yang berbeda, untuk memahami diagramnya silahkan pelajari
di Pembahasan I lagi.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 26
Windiarto Nugroho, Dewi Ekawati
f. Diagram Berjenjang

Gambar Diagram Berjenjang

Diagram berjenjang digunakan untuk mempersiapkan penggambaran DAD ke level –


level lebih bawah, diagram ini menunjukkan proses-proses yang ada dalam sistem yang dibuat
dan digambar menggunakan notasi proses pada DAD. Diagram berjenjang ini juga
menggambarkan pembagian sistem ke sub sistem yang lebih kecil.

Diagram berjenjang di atas menjelaskan dalam proses sistem informasi rekam medis
terdapat sepuluh subsistem proses yaitu : proses data admin, proses data obat, proses data

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 27
Windiarto Nugroho, Dewi Ekawati
tindakan, proses data dokter, proses data petugas, proses data pasien, proses registrasi, proses
beri obat, proses tindakan dokter, proses pembayaran.

g. Diagram Level 0 Sistem Informasi Rekam Medis

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 28
Windiarto Nugroho, Dewi Ekawati
Gambar Diagram Level 0

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 29
Windiarto Nugroho, Dewi Ekawati
Diagram Level 0 diatas menjelaskan bahwa dalam Sistem Informasi Rekam Data Medis
yang dibuat terdapat sepuluh subsistem proses yaitu : proses data admin, proses data obat, proses
data tindakan, proses data dokter, proses data petugas, proses data pasien, proses registrasi,
proses beri obat, proses tindakan dokter, proses pembayaran.

h. Flow Chart Sistem Sistem Informasi Rekam Medis

Gambar Flowchart Sistem Sistem Informasi Rekam Data


Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang
dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang
ada di dalam sistem. Dengan kata lain, flowchart ini merupakan deskripsi secara grafik dari urutan

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 30
Windiarto Nugroho, Dewi Ekawati
prosedur-prosedur yang terkombinasi yang membentuk suatu sistem. Flowchart Sistem terdiri dari
data yang mengalir melalui sistem dan proses yang mentransformasikan data itu.

Gambar flowchart sistem diatas menjelaskan bahwa dalam sistem informasi rekam medis
yang dibuat oleh penulis terdapat terdapat sepuluh manual input, yaitu : admin, obat, tindakan,
dokter, petugas, pasien, registrasi, pemberian obat, tindakan dokter, pembayaran. Masing-masing
dari manual input diproses dan disimpan ke dalam hardisk atau media penyimpanan dalam
komputer. Dari data yang telah disimpan ke dalam media penyimpanan, diolah lagi untuk
menghasilkan laporan melalui sebuah proses pembuatan laporan.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 31
Windiarto Nugroho, Dewi Ekawati
PEMBAHASAN III
MEMBUAT DESAIN VISUAL APLIKASI
A. Rancangan Tampilan Menu Utama
Dalam pembuatan menu utama, seorang pembuat aplikasi rekam medis boleh-boleh saja
membuat tampilan menu dengan berbagai bentuk, misalnya seperti menu ribbon pada aplikasi
Microsoft Office Tahun 2007 ke atas, atau menu pada umumnya seperti yang ada di Microsoft Office
2003 dan juga aplikasi Libre Office , atau bisa juga berupa drop down menu seperti yang ada di
Microsoft Acces 2007 ke atas. Boleh berbasis icon, boleh juga berbasis teks atau gabungan icon teks,
yang penting memudahkan pengguna aplikasi saat memakai software yang nanti akan dibuat.
Misalnya contoh menu berikut ini :

Gambar Rancangan Tampilan Menu Utama

Menu di atas didesain dengan menggunakan Microsoft Visio 2003. Kami menggunakan
Visio 2003 dikarenakan fasilitasnya yang lumayan lengkap dan juga mudah digunakan. Rancangan
tampilan menu utama menggambarkan keseluruhan menu yang ada dalam program. Menu utama
terdiri dari menu Data Admin. Data Obat, Data Tindakan, Data Dokter, Data Petugas, dan Data
Pasien, Registrasi, Beri Obat, Tindakan Dokter dan Pembayaran

Untuk mendesain tampilan di atas, pada Toolbar Shapes bisa kita pilih Software, ada
beberapa pilihan yang bisa digunakan diantaranya : Common Controls, Windows and Dialogs.
Gunakan drop down atau panah ke bawah jika terlalu banyak menu shapes yang tampil. Masukkan
Blank Form dari shapes Windows and Dialogs kedalam lembar draw, kemudian susun atau
masukkan command Button dari shapes Comon Controls, untuk membuat latar warna/background

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 32
Windiarto Nugroho, Dewi Ekawati
bisa dengan menambahkannya melalui Rectangle Tool pada toolbar menu yang kemudian diberi
warna melalui Toolbar Fill Color. Berikut ini adalah tampilan ilustrasi saat dibuat :

Gambar Mendesain Menu

Model menu di atas hanya contoh saja, pembaca bisa mendesain sendiri tampilan menu
aplikasinya sesuai dengan kebutuhan, yang penting nyaman digunakan oleh pengguna software
nantinya. Untuk desain interface tampilan setiap form yang akan dibuat caranya sama saja dengan
desain menu di atas, mungkin hanya beda dari sisi object-object yang dipakai. Silahkan eksplorasi
sendiri agar menjadikan pembaca semakin mahir menggunakan software visio ini.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 33
Windiarto Nugroho, Dewi Ekawati
B. Desain Interface.
a. Desain Input
a) Desain Input Data Admin

Gambar Desain Input Data Admin

Form ini digunakan untuk menampilkan tabel admin pada database sip dengan perintah
sql :” select * from admin”. Keterangan :

a1 : Untuk menyimpan data admin setelah semua field terisi.

a2 : Untuk mengosongkan semua field.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 34
Windiarto Nugroho, Dewi Ekawati
a4 : Untuk mengedit data admin yang dipilih.

a5 : Untuk keluar dari form data admin

b. Desain Input Data Obat

Gambar 3.33. Desain Input Data Obat

Form ini digunakan untuk menampilkan tabel obat pada database sip dengan perintah
sql :”select * from obat order by kode_obat”. Keterangan :

a1 : Untuk menyimpan data obat setelah semua field terisi.

a2 : Untuk mengosongkan semua field.

a3 : Untuk menghapus data obat yang dipilih.

a4 : Untuk mengedit data obat yang dipilih.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 35
Windiarto Nugroho, Dewi Ekawati
a5 : Untuk keluar dari form data obat.

a6 : Untuk menampilkan data sesuai dengan isian field keyword.

a7 : Untuk menampilkan semua data obat.

c. Desain Input Data Tindakan

Gambar 3.33. Desain Input Data Tindakan


Form ini digunakan untuk menampilkan tabel tarif_tindakan pada database sip dengan
perintah sql :”select * from tarif_tindakan order by kd_tindakan”. Keterangan :

a1 : Untuk menyimpan data tindakan setelah semua field terisi.

a2 : Untuk mengosongkan semua field.

a3 : Untuk menghapus data tindakan yang dipilih.

a4 : Untuk mengedit data tindakan yang dipilih.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 36
Windiarto Nugroho, Dewi Ekawati
a5 : Untuk keluar dari form data tindakan.

a6 : Untuk menampilkan data sesuai dengan isian field keyword.

a7 : Untuk menampilkan semua data tindakan.

a8 : Untuk mencetak data.

d. Desain Input Data Dokter

Gambar 3.33. Desain Input Data Dokter

Form ini digunakan untuk menampilkan tabel dokter pada database sip dengan perintah
sql :” select dokter.kd_dokter , dokter.nm_dokter , dokter.jk , dokter.tmp_lahir,
dokter.tgl_lahir, dokter.no_ijn_praktek , dokter.alamat , dokter.password from dokter”.
Keterangan :

a1 : Untuk menyimpan data dokter setelah semua field terisi.

a2 : Untuk mengosongkan semua field.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 37
Windiarto Nugroho, Dewi Ekawati
a3 : Untuk menghapus data dokter yang dipilih.

a4 : Untuk mengedit data dokter yang dipilih.

a5 : Untuk keluar dari form data dokter.

a6 : Untuk menampilkan data sesuai dengan isian field keyword.

a7 : Untuk menampilkan semua data petugas.

a8 : Untuk mencetak data.

e. Desain Input Data Petugas

Gambar 3.33. Desain Input Data Dokter


Form ini digunakan untuk menampilkan tabel dokter pada database sip dengan perintah
sql :” select petugas.nip, petugas.nama , petugas.jk , petugas.tmp_lahir , petugas.tgl_lahir ,
petugas.alamat , petugas.password from petugas”. Keterangan :

a1 : Untuk menyimpan data petugas setelah semua field terisi.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 38
Windiarto Nugroho, Dewi Ekawati
a2 : Untuk mengosongkan semua field.

a3 : Untuk menghapus data petugas yang dipilih.

a4 : Untuk mengedit data petugas yang dipilih.

a5 : Untuk keluar dari form data petugas.

a6 : Untuk menampilkan data sesuai dengan isian field keyword.

a7 : Untuk menampilkan semua data petugas.

a8 : Untuk mencetak data.

PEMBAHASAN IV
INSTALASI SOFTWARE YANG DIBUTUHKAN

A. INSTAL SOFTWARE YANG DIBUTUHKAN


Untuk membuat aplikasi ini, kita membutuhkan paling tidak dua buah program yang
harus diinstal pada PC atau laptop yang akan kita gunakan untuk membuatnya. Yaitu
Netbeans IDE 7.2 atau Netbeans IDE 7.0 dan WAMPSERVER.
Kedua program tersebut harus kita install dulu di PC atau laptop yang kita miliki
sehingga nantinya bisa kita gunakan untuk membuat aplikasi medis ini. Bagi yang belum
pernah memakai program tersebut atau mungkin belum meng-instalnya berikut ini adalah
langkah-langkah yang bisa kita terapkan untuk menginstal kedua program tersebut.
1. Cara meng-instal Netbeans IDE 7.2 Dan Pengenalannya
Sebelumnya, Anda harus mempunyai software Netbeans IDE 7.2 yang bisa anda
dapatkan melalui download di http://netbeans.org, silahkan anda download yang satu
bundle dengan JDK atau java development kids untuk yang versi khusus untuk
mendevelop java saja. Atau anda bisa saja mendownload yang versi lengkap yang bisa
digunakan untuk mendevelop berbagai bahasa pemrograman selain java seperti php, C++,
ruby dll, dan biasanya terpisah dari JDK dan anda harus menginstall JDK dulu sebelum
menginstall Netbeans ini.
Berikut langkah-langkah untuk meng-instalnya :
a. Kita buka folder master program Netbeans IDE 7.2
b. file executable installer memiliki . exe ekstensi. Klik dua kali file installer untuk
menjalankannya.
c. Lakukan langkah-langkah berikut pada halaman Selamat Datang dari wizard instalasi:
 Klik Customize.
 Pada kotak dialog Instalasi Customize, membuat pilihan Anda.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 39
Windiarto Nugroho, Dewi Ekawati
 Klik OK.
d. Pada halaman Selamat Datang dari wizard instalasi, klik Next.
e. Pada halaman Perjanjian Lisensi, meninjau perjanjian lisensi, klik kotak centang
penerimaan / Accept, dan klik Next.
f. Pada halaman License Agreement JUnit, memutuskan apakah Anda ingin menginstal
JUnit dan klik opsi yang sesuai, klik Next.
g. Pada halaman instalasi NetBeans IDE, lakukan hal berikut:
 Terima direktori default instalasi untuk NetBeans IDE atau menentukan
direktori lain.
 Catatan : The direktori instalasi harus kosong dan profil pengguna yang
Anda gunakan untuk menjalankan installer harus memiliki hak akses folder
membaca / menulis izin untuk direktori ini.
 Pilih Accept atau terima instalasi JDK default untuk digunakan dengan
IDE NetBeans atau pilih instalasi yang berbeda dari daftar drop-down. Jika wizard
instalasi tidak menemukan instalasi JDK yang kompatibel untuk digunakan
dengan NetBeans IDE, maka instlasi tidak bisa dilanjutkan. Setelah menginstal
versi JDK yang diperlukan Anda dapat me-restart instalasi.
h. Pada halaman Ringkasan, pastikan bahwa daftar komponen yang akan diinstal adalah
benar dan bahwa Anda memiliki ruang yang cukup pada sistem Anda untuk instalasi.
i. Klik Install untuk memulai instalasi.
j. Pada halaman Pengaturan Lengkap, menyediakan data penggunaan anonim jika
diinginkan, dan klik Finish.
Setelah kita berhasil menginstal nya, akan terlihat ada tambahan program baru di daftar
menu program komputer atau laptop kita. Seperti ini :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 40
Windiarto Nugroho, Dewi Ekawati
Gambar Netbeans DI Startup Windows

Itu artinya kita telah berhasil menginstal program Netbeans di laptop atau
komputer kita. Dan siap digunakan.
Pada pemrograman Visual, pengembangan aplikasi dimulai dengan
pembentukkan user interface, kemudian mengatur properti dari objek-objek yang
digunakan dalam user interface, dan baru dilakukan penulisan kode program
untuk menangani kejadian-kejadian (event).

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 41
Windiarto Nugroho, Dewi Ekawati
Gambar Lingkungan IDE

1. MenuBar
Fungsinya memilih tugas tertentu seperti: memulai, memilih, atau
mengakhiri suatu aplikasi.

Gambar Menu Bar

2. ToolBar atau SpeedBar


Tidak jauh berbeda dengan fungsinya MenuBar, tetapi penggunaan ToolBar atau
SpeedBar lebih Praktis dan cepat (dinyatakan dalam bentuk Ikon).

Gambar ToolBar/SpeedBar

3. Jendela Palette
Palette berisi kumpulan komponen yang akan ditempelkan atau diletakkan dalam
form dan digunakan untuk mendesain form agar membentuk user interface. Palette
Standard mempunyai banyak pilihan komponen diantaranya : JLabel, JComboBox,
JTextField, JCheckBox, JButton, JListBox, JImage, Jpanel dan masih banyak lagi
dengan kegunaannya masing-masing.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 42
Windiarto Nugroho, Dewi Ekawati
Gambar Jendela ToolBox Standard

4. Jendela Form Designer


Jendela form desaigner digunakan untuk merancang dan mendasin user interface
dan disini pula kontrol-kontrol komponen dari Palette diletakkan atau ditempelkan.

Gambar Jendela Form Designer

5. Jendela Kode Editor


Jendela kode editor digunkan secara umum, yakni menuliskan listing program
dalam pembuatan suatu aplikasi

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 43
Windiarto Nugroho, Dewi Ekawati
Gambar Jendela Kode Editor

6. Jendela Project
Jendela Project digunakan untuk melihat kontrol yang berada didalam form
secara hieraki seperti windows Expoler.

Gambar Jendela Project

7. Jendela Properties
Jendela properties digunakan untuk memanipulasi kontrol yang sudah ada dalam
form.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 44
Windiarto Nugroho, Dewi Ekawati
Gambar Jendela Properties

Alasan dipilihnya Netbeans dalam pembuatan interfaces program adalah karena


memiliki kelebihan sebagai berikut :

1. NetBeans GUI Builder gratis dengan banyak Plug In yang bisa kita download langsung di
website resminya, maupun dari pihak ketiga
2. NetBeans GUI Builder sangat kompetebel dengan Swing karena memang langsung
dikembangkan oleh Sun yang notabenenya sebagai pengembang Swing sebelum akhirnya
dilanjutkan oleh oracle.
3. Netbeans tidak hanya dapat digunakan untuk java saja, karena Netbeans dapat di gunakan
untuk bahasa pemograman lain seperti C/C++, Ruby, dan PHP.
4. NetBeans GUI Builder sangat cocok untuk digunakan dalam pengembangan sistem berskala
Enterprise.
5. Pada paket tertentu, Netbeans juga menyertakan GlassFish dan Apache Tomcat sebagai
Aplikasi Server semacam wamp/xamp dengan database derby sebagai default

Namun sehebat apapun Netbeans Dikembangkan tentu saja terdapat kekurangan,


diantaranya adalah :

1. NetBeans hanya mensupport satu pengembangan Java GUI, yaitu Swing, padahal ada Java
GUI yang dikembangkan oleh eclipse yang bernama SWT dan JFace yang sudah cukup
populer.
2. NetBeans mempatenkan source untuk Java GUI yang sedang dikerjakan dalam sebuah
Generated Code, sehingga programmer tak dapat mengeditnya secara manual.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 45
Windiarto Nugroho, Dewi Ekawati
3. Dari segi sumber daya, Netbeans memerlukan sumber daya yang besar, seperti Memory dan
ruang hard disk.
4. Netbeans memerlukan dukungan prosesor yang cukup handal untuk mendapatkan performa
maksimalnya.

2. Cara meng-instal WAMPSERVER dan alasan dipakai MySQL sebagai server


a. Download terlebih dahulu WampServer pada situs resmi mereka di
http://www.wampserver.com/en/
b. Setelah filenya berhasil anda download, silahkan dobel klik pada file tersebut dan
Akan muncul jendela untuk memulai Instalasi. Klik tombol Next untuk meneruskan.

Gambar Welcam Page Wampp

c. Silahkan piliah I Accept the Agreement sebagai tanda anda setuju. Teruskan dengan
klik tombol Next kembali.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 46
Windiarto Nugroho, Dewi Ekawati
Gambar Persetujuan

d. Lanjutkan dengan klik Next kembali.

Gambar Pilih Folder Instalasi

e. Lanjutkan kembali dengan klik Next.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 47
Windiarto Nugroho, Dewi Ekawati
Gambar Buat Icon di Desktop

f. Klik tombol Install. Silahkan tunggu beberapa saat sampai proses instalasi selesai.

Gambar Install

g. Silahkan akhiri dengan klik tombol Finish.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 48
Windiarto Nugroho, Dewi Ekawati
Gambar Selesai Instalasi

h. Selesai, dan wampserver siap kita gunakan.

Alasan dipilihnya MySQL dalam pengolahan database adalah sebagai berikut :


1) MySQL dapat digunakan untuk pengolahan database berbasis client-server.
2) MySQL menyediakan bahasa pemrograman SQL (Structure Query Language)
3) MySQL menyediakan banyak fungsi, mulai dari manipulasi tanggal, angka,
string, dan sebagainya.
4) MySQL sanggup melakukan pengolahan data dalam jumlah banyak.

Kelebihan dari MySQL diantaranya adalah sebagai berikut :


1) MySQL merupakan program yang multi-threaded, sehingga dapat dipasang pada
server yang memiliki multi-CPU.
2) Bekerja pada berbagai platform. (tersedia berbagai versi untuk berbagai sistem
operasi).
3) Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi
sistem database.
4) Memiliki sistem sekuriti yang cukup baik dengan verifikasi host.
5) Mendukung ODBC untuk sistem operasi Microsoft Windows.
6) Mendukung record yang memiliki kolom dengan panjang tetap atau panjang
bervariasi.

MySQL mempunyai kekurangan diantaranya adalah : Database ini tidak portable sebagaimana
database Acces yang langsung bisa dipindah-pindah. Untuk memindahkan data pada mysql harus

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 49
Windiarto Nugroho, Dewi Ekawati
dilakukan eksport terlebih dulu baru kemudian di import ketempat atau komputer baru sehingga
terkesan agak ribet

PEMBAHASAN V
MEMBUAT PROJECT APLIKASI
A. Cara Membuat Database Di PHP MyAdmin Wamp Server

Setelah membuat kamus data tabel di pembahasan sebelumnya dan juga menginstall
wamp server, di pembahasan ini kita akan mencoba mengimplementasikannya. Kita buat terlebih
dulu databasenya dengan membuka browser yang ada, bisa menggunakan chrome, firefox, opera
atau yang lain, kemudian ketikkan di address barnya localhost/phpmyadmin/ kemudian enter
dengan tampilan sebagai berikut :

Gambar Tampilan utama WAMP Server


Langkah-langkah membuat database di WAMP Server :
a. Ketikkan nama databasenya yaitu sip pada kolom di bawah tulisan Create new
database, setelah selesai klik tombol Create.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 50
Windiarto Nugroho, Dewi Ekawati
Gambar Proses awal pembuatan database
b. Jika database berhasil dibuat maka tampilannya sebagai berikut:

Gambar Tampilan utama saat database SIP berhasil dibuat

c. Setelah berhasil membuat database nya, dilanjutkan dengan membuat tabel-tabel nya.
1. Tabel admin.
Ketikkan admin pada kolom Name dan ketikkan angka 2 pada kolom Number of field di
bawah tulisan Create new table on database sip karena di dalam tabel admin terdapat 2
field, kemudian klik tombol Go.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 51
Windiarto Nugroho, Dewi Ekawati
Gambar Proses awal pembuatan tabel admin
Setelah tabel admin berhasil dibuat. Isikankan data-data tabel admin yang ada pada
tabel berikut :

Field Type Length/Values Null Primary Key Index

user text - Null - -

pass text - Null - -

Tabel Rancangan untuk tabel admin

Seperti pada gambar berikut :

Gambar Pembuatan Tabel admin

Karena pada tabel admin tidak ada primary key dan relasi maka tidak menekan tombol
primary key dan index. Setelah diisikan semuanya klik tombol Save, sehingga hasilnya
sebagai berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 52
Windiarto Nugroho, Dewi Ekawati
Gambar Hasil Pembuatan Tabel admin

2. Tabel dokter.
Ketikkan dokter pada kolom Name dan ketikkan angka 8 pada kolom Number of field di
bawah tulisan Create new table on database sip karena di dalam tabel dokter terdapat 8
field, kemudian klik tombol Go.

Gambar Proses awal pembuatan tabel dokter


Setelah tabel dokter berhasil dibuat. Isikankan data-data tabel dokter yang ada pada
tabel berikut :

Field Type Length/values Null Primary key index

kd_dokter varchar 8 Not null √ -

nm_dokter varchar 40 Null - -

jk Enum 'L', 'P’ Null - -

tmp_lahir varchar 15 Null - -

tgl_lahir Date Null - -

no_ijin_praktek varchar 20 Null - -

alamat varchar 50 Not null - -

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 53
Windiarto Nugroho, Dewi Ekawati
password varchar 200 Not null - -

Tabel rancangan untuk tabel dokter


Seperti pada gambar berikut :

Gambar Pembuatan Tabel dokter


Karena pada tabel dokter ada primary key maka harus menekan tombol primary key pada
baris kd_dokter.

Gambar pemberian primary key di tabel dokter


Setelah diisikan semuanya dan menekan tombol primary key kemudian klik tombol Save,
sehingga hasilnya sebagai berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 54
Windiarto Nugroho, Dewi Ekawati
Gambar hasil insert dan pembuatan tabel dokter
3. Tabel obat.
Ketikkan obat pada kolom Name dan ketikkan angka 3 pada kolom Number of field di
bawah tulisan Create new table on database sip karena di dalam tabel obat terdapat 3
field, kemudian klik tombol Go.

Gambar Proses awal pembuatan tabel obat


Setelah tabel obat berhasil dibuat. Isikankan data-data tabel obat yang ada pada tabel
berikut :

Field Type Length/values Null Primary key Index

kode_obat varchar 15 Not null √ -

nama_obat varchar 50 Null - -

Harga double Not null - -

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 55
Windiarto Nugroho, Dewi Ekawati
Tabel Rancangan untuk tabel obat
Seperti pada gambar berikut :

Gambar Pembuatan Tabel obat


Karena pada tabel obat ada primary key maka harus menekan tombol primary key pada baris
kode_obat.

Gambar Pemberian primary key di tabel obat


Setelah diisikan semuanya dan menekan tombol primary key kemudian klik tombol Save,
sehingga hasilnya sebagai berikut :

Gambar Hasil Pembuatan tabel obat


4. Tabel pasien.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 56
Windiarto Nugroho, Dewi Ekawati
Ketikkan pasien pada kolom Name dan ketikkan angka 17 pada kolom Number of field
di bawah tulisan Create new table on database sip karena di dalam tabel pasien
terdapat 17 field, kemudian klik tombol Go.

Gambar Proses awal pembuatan tabel pasien


Setelah tabel pasien berhasil dibuat. Isikankan data-data tabel pasien yang ada pada
tabel berikut :

Field Type Length/values Null Primary key Index

no_rkm_medis varchar 15 Not null √ -

nm_pasien varchar 50 Null - -

no_ktp double Not null - -

Jk enum 'L', 'P' Not null - -

tmp_lahir varchar 15 Null - -

tgl_lahir date Not null - -

Alamat varchar 200 Null - -

gol_darah enum 'A', 'B', 'O', 'AB' Not null - -

Pekerjaan varchar 15 Null - -

stts_nikah enum 'SINGLE', Not null - -


'MENIKAH',
'JANDA',
'DUDHA'

Agama varchar 12 Null - -

tgl_daftar date Not null - -

no_tlp varchar 13 Null - -

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 57
Windiarto Nugroho, Dewi Ekawati
Umur varchar 20 Null - -

Pnd enum 'TS', 'TK', 'SD', Not null - -


'SMP', 'SMA',
'D1', 'D2', 'D3',
'D4', 'S1', 'S2',
'S3', '-'

Keluarga enum 'AYAH', 'IBU', Not null - -


'ISTRI',
'SUAMI',
'SAUDARA'

namakeluarga varchar 50 Null - -

Tabel Rancangan untuk tabel pasien

Seperti pada gambar berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 58
Windiarto Nugroho, Dewi Ekawati
Gambar Pembuatan Tabel pasien
Karena pada tabel pasien ada primary key maka harus menekan tombol primary key pada
baris no_rkm_medis.

Gambar Pembuatan primary key pada tabel pasien


Setelah diisikan semuanya dan menekan tombol primary key kemudian klik tombol Save,
sehingga hasilnya sebagai berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 59
Windiarto Nugroho, Dewi Ekawati
Gambar Hasil pembuatan tabel pasien
5. Tabel petugas.
Ketikkan petugas pada kolom Name dan ketikkan angka 7 pada kolom Number of field
di bawah tulisan Create new table on database sip karena di dalam tabel petugas
terdapat 7 field, kemudian klik tombol Go.

Gambar Proses awal pembuatan tabel petugas


Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 60
Windiarto Nugroho, Dewi Ekawati
Setelah tabel petugas berhasil dibuat. Isikankan data-data tabel petugas yang ada pada
tabel berikut :

Field Type Length/values Null Primary key Index

Nip Varchar 20 Not null √ -

Nama Varchar 40 Null - -

Jk Enum ('L', 'P') Not null - -

tmp_lahir Varchar 15 Null - -

tgl_lahir Date Not null - -

Alamat Varchar 60 Null - -

Password Varchar 200 Not null - -

Tabel Rancangan untuk tabel petugas

Seperti pada gambar berikut :

Gambar Pembuatan Tabel petugas


Karena pada tabel petugas ada primary key maka harus menekan tombol primary key pada
baris nip.

Gambar Pemberian primary key di tabel petugas

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 61
Windiarto Nugroho, Dewi Ekawati
Setelah diisikan semuanya dan menekan tombol primary key kemudian klik tombol Save,
sehingga hasilnya sebagai berikut :

Gambar Hasil pembuatan tabel petugas


6. Tabel reg_periksa.
Ketikkan reg_periksa pada kolom Name dan ketikkan angka 7 pada kolom Number of
field di bawah tulisan Create new table on database sip karena di dalam tabel
reg_periksa terdapat 7 field, kemudian klik tombol Go.

Gambar Proses awal pembuatan tabel reg_periksa


Setelah tabel reg_periksa berhasil dibuat. Isikankan data-data tabel reg_periksa yang
ada pada tabel berikut :

Field Type Length/values Null Primary key Index

no_rawat varchar 17 Not null √ -

tgl_registrasi date Null - -

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 62
Windiarto Nugroho, Dewi Ekawati
jam_reg time Null - -

kd_dokter varchar 8 Null - √

no_rkm_medis varchar 10 Null - √

Nip varchar 20 Not null - √

biaya_reg double Null - -

Tabel Rancangan untuk tabel reg_periksa

Seperti pada gambar berikut :

Gambar Pembuatan Tabel reg_periksa


Karena pada tabel reg_periksa ada primary key dan index yang digunakan untuk relasi maka
harus menekan tombol button primary key pada baris no_rawat dan index pada baris
kd_dokter, no_rkm_medis dan nip.

Gambar Pemberian primary key dan index di tabel reg_periksa


Setelah diisikan semuanya dan menekan tombol primary key dan index kemudian klik
tombol Save, sehingga hasilnya sebagai berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 63
Windiarto Nugroho, Dewi Ekawati
Gambar hasil pembuatan tabel reg_periksa

Pada tabel reg_periksa ini ada index yang digunakan untuk relasi,maka harus ada proses
perelasian dengan cara klik Relation view seperti yang dilingkari pada gambar di atas.
Buatlah dan isikan pada kolom kd_dokter dengan klik anak panah ke bawah dan pilihlah
dokter->kd_dokter, no_rkm_medis diisi pasien->no_rkm_medis dan nip diisi petugas-
>nip karena di tabel reg_periksa berelasi dan membutuhkan tabel dokter, pasien dan petugas.
Kemudian setelah selesai merelasi pada kolom ON UPDATE diisi atau pilih CASCADE
yang berfungsi untuk membuat relasi baris, baris dalam tabel anak akan di update ketika
baris yang berkaitan/berelasi juga akan di update. Dalam kondisi ini ON DELETE tidak di
aktifkan CASCADE nya karena agar jika baris dalam tabel anak akan dihapus ketika baris
yang berkaitan/berelasi tidak akan terhapus.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 64
Windiarto Nugroho, Dewi Ekawati
Gambar pembuatan relasi di tabel reg_periksa
Jika sudah terisi seperti yang diinginkan seperti gambar di atas kemudian klik Save untuk
menyimpan proses relasi tersebut.
7. Tabel tarif_tindakan.
Ketikkan tarif_tindakan pada kolom Name dan ketikkan angka 3 pada kolom Number of
field di bawah tulisan Create new table on database sip karena di dalam tabel
tarif_tindakan terdapat 3 field, kemudian klik tombol Go.

Gambar Proses awal pembuatan tabel tarif_tindakan


Setelah tabel tarif_tindakan berhasil dibuat. Isikankan data-data tabel tarif_tindakan
yang ada pada tabel berikut :

Field Type Length/values Null Primary key Index

kd_tindakan Varchar 6 Not null √ -

nm_tindakan Varchar 80 Null - -

Tarif Double null - -

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 65
Windiarto Nugroho, Dewi Ekawati
Tabel Rancangan untuk tabel tarif_tindakan
Seperti pada gambar berikut :

Gambar Pembuatan Tabel tarif_tindakan


Karena pada tabel tarif_tindakan ada primary key maka harus menekan tombol primary key
pada baris kd_tindakan.

Gambar Pemberian primary key di tabel tarif_tindakan


Setelah semuanya diisikan dan menekan tombol primary key kemudian klik tombol Save,
sehingga hasilnya sebagai berikut :

Gambar Hasil pembuatan tabel tarif_tindakan


8. Tabel pemberian_obat.
Ketikkan pemberian_obat pada kolom Name dan ketikkan angka 7 pada kolom Number
of field di bawah tulisan Create new table on database sip karena di dalam tabel
pemberian_obat terdapat 7 field, kemudian klik tombol Go.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 66
Windiarto Nugroho, Dewi Ekawati
Gambar Proses awal pembuatan tabel pemberian obat
Setelah tabel pemberian_obat berhasil dibuat. Isikankan data-data tabel
pemberian_obat yang ada pada tabel berikut :

Field Type Length/values Null Primary key Index

no_rawat varchar 17 Not null √ -

diagnosa varchar 50 Null - -

kode_obat varchar 15 Not null √ -

biaya_obat double Null - -

Jml double Not null - -

tambahan double Not null - -

Total double Not null - -

Tabel Rancangan untuk pembuatan tabel pemberian_obat

Seperti pada gambar berikut :

Gambar Pembuatan Tabel pemberian_obat

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 67
Windiarto Nugroho, Dewi Ekawati
Karena pada tabel pemberian_obat ada primary key dan index yang digunakan untuk
relasi maka harus menekan tombol button primary key pada baris no_rawat dan
kode_obat.

Gambar Pembeerian primary key dan index di tabel pemberian_obat


Setelah semuanya diisikan dan menekan tombol primary key kemudian klik tombol Save,
sehingga hasilnya sebagai berikut :

Gambar hasil pembuatan tabel pemberian_obat

Pada tabel pemberian_obat ini ada index yang digunakan untuk relasi,maka harus ada proses
perelasian dengan cara klik Relation view. Buatlah dan isikan pada kolom kode_obat dengan
klik anak panah ke bawah dan pilihlah obat->kode_obat, karena di tabel pemberian_obat
berelasi dan membutuhkan tabel obat. Kemudian setelah selesai merelasi pada kolom ON
UPDATE diisi atau pilih CASCADE yang berfungsi untuk membuat relasi baris, baris
dalam tabel anak akan di update ketika baris yang berkaitan/berelasi juga akan di update.
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 68
Windiarto Nugroho, Dewi Ekawati
Gambar Pembuatan relasi di tabel pemberian_obat
Jika sudah terisi seperti yang diinginkan seperti gambar di atas kemudian klik Save untuk
menyimpan proses relasi tersebut.

9. Tabel rawat_jalan.
Ketikkan rawat_jalan pada kolom Name dan ketikkan angka 10 pada kolom Number of
field di bawah tulisan Create new table on database sip karena di dalam tabel
rawat_jalan terdapat 10 field, kemudian klik tombol Go.

Gambar Proses awal pembuatan tabel rawat_jalan


Setelah tabel rawat_jalan berhasil dibuat. Isikankan data-data tabel rawat_jalan yang ada pada
tabel berikut :

Field Type Length/values Null Primary key index

no_rawat varchar 17 Not null √ -

diagnosa varchar 50 Not null √ -

kd_tindakan varchar 8 Not null √ -

kd_dokter varchar 8 Not null √ -

suhu_tubuh char 5 Null - -

Tensi char 7 Null - -

keterangan varchar 100 Not null - -

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 69
Windiarto Nugroho, Dewi Ekawati
biaya_rawat double null - -

Tabel Rancangan untuk tabel rawat_jalan


Seperti pada gambar berikut :

Gambar Pembuatan Tabel rawat_jalan

Karena pada tabel rawat_jalan ada primary key yang digunakan untuk relasi maka harus
menekan tombol button primary key pada baris no_rawat, diagnosa, kd_tindakan, dan
kd_dokter.

Gambar Pemberian primary key dan index di tabel rawat_jalan

Setelah semuanya diisikan dan menekan tombol primary key kemudian klik tombol Save,
sehingga hasilnya sebagai berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 70
Windiarto Nugroho, Dewi Ekawati
Gambar hasil pembuatan tabel rawat_jalan

Pada tabel rawat_jalan ini ada index yang digunakan untuk relasi,maka harus ada proses
perelasian dengan cara klik Relation view. Buatlah dan isikan pada kolom no_rawat dengan
klik anak panah ke bawah dan pilihlah pemberian_obat->no_rawat, tarif_tindakan diisi
tariff_tindakan->kd_tindakan dan kd_dokter diisi dokter->kd_dokter karena di tabel
rawat_jalan berelasi dan membutuhkan tabel pemberian_obat, tarif_tindakan dan dokter.
Kemudian setelah selesai merelasi pada kolom ON UPDATE diisi atau pilih CASCADE
yang berfungsi untuk membuat relasi baris, baris dalam tabel anak akan di update ketika
baris yang berkaitan/berelasi juga akan di update.

Gambar Pembuatan relasi di tabel rawat_jalan


Jika sudah terisi seperti yang diinginkan seperti gambar di atas kemudian klik Save untuk
menyimpan proses relasi tersebut.

10. Tabel pembayaran.


Ketikkan pembayaran pada kolom Name dan ketikkan angka 11 pada kolom Number of
field di bawah tulisan Create new table on database sip karena di dalam tabel
pembayaran terdapat 11 field, kemudian klik tombol Go.

Gambar Proses awal pembuatan tabel pembayaran

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 71
Windiarto Nugroho, Dewi Ekawati
Setelah tabel pembayaran berhasil dibuat. Isikankan data-data tabel pembayaran yang ada
pada tabel berikut :

Field Type Length/values Null Primary key Index

no_index int 17 Not null √ -

no_rawat varchar 17 Null - √

tgl_bayar date 8 Not null - -

No varchar 50 Null - -

nm_bayar varchar 200 Null - -

Pemisah char 1 Null - -

Biaya double Null - -

Jumlah double Null - -

tambahan double Null - -

Totalbiaya double Null - -

Status enum ('Obat', 'Ralan Null - -


Dokter',
'Tambahan',
'Potongan',
'Registrasi',
'Dokter', 'Total')

Tabel Rancangan untuk tabel pembayaran

Seperti pada gambar berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 72
Windiarto Nugroho, Dewi Ekawati
Gambar Pembuatan Tabel pembayaran

Karena pada tabel pembayaran ada primary key yang digunakan untuk relasi maka
harus menekan tombol button primary key pada baris no_index dan klik button index
dada baris no_rawat.

Gambar Pemberian primary key di tabel pembayaran

Setelah semuanya diisikan dan menekan tombol primary key dan index kemudian klik
tombol Save, sehingga hasilnya sebagai berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 73
Windiarto Nugroho, Dewi Ekawati
Gambar Hasil pembuatan tabel pembayaran

Pada tabel pembayaran ini ada index yang digunakan untuk relasi,maka harus ada proses
perelasian dengan cara klik Relation view. Buatlah dan isikan pada kolom no_rawat dengan
klik anak panah ke bawah dan pilihlah rawat_jalan->no_rawat, karena di tabel
pembayaran berelasi dan membutuhkan rawat_jalan. Kemudian setelah selesai merelasi pada
kolom ON UPDATE diisi atau pilih CASCADE yang berfungsi untuk membuat relasi baris,
baris dalam tabel anak akan di update ketika baris yang berkaitan/berelasi juga akan di
update.

Gambar Pembuatan relasi di tabel pembayaran

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 74
Windiarto Nugroho, Dewi Ekawati
Jika sudah terisi seperti yang diinginkan seperti gambar di atas kemudian klik Save untuk
menyimpan proses relasi tersebut.
d. Setelah semua langkah-langkah selesai dikerjakan database SIP telah selesai dibuat dan
siap digunakan untuk pembuatan software berikutnya.

Gambar Hasil akhir pembuatan database sip

Perhatikan setiap fieldnya, baik type data maupun panjang datanya karena dalam
MySQL terdapat beberapa type data yang berbeda-beda sesuai dengan kebutuhan
penggunaannya.
MySQL menggunakan banyak jenis data yang berbeda, yang dipecah menjadi tiga
kategori: numerik, tanggal dan waktu, dan tipe string.
1. Tipe Data Numerik : MySQL menggunakan semua standar ANSI SQL tipe data numerik,
jadi jika Anda datang ke MySQL dari sistem database yang berbeda, definisi ini akan
tampak akrab bagi Anda. Daftar berikut menunjukkan jenis umum numerik data dan
deskripsi mereka.
INT – Sebuah bilangan bulat berukuran normal yang dapat ditandatangani atau
unsigned. Jika ditandatangani, rentang yang diijinkan adalah dari -2147483648 sampai
2147483647. Jika unsigned, rentang yang diijinkan adalah 0-4294967295. Anda dapat
menentukan lebar sampai dengan 11 digit.
TINYINT – Sebuah bilangan yang sangat kecil yang dapat ditandatangani atau
unsigned. Jika ditandatangani, rentang yang diijinkan adalah dari -128 sampai 127. Jika
unsigned, rentang yang diijinkan adalah dari 0 sampai 255. Anda dapat menentukan lebar
sampai dengan 4 digit.
SMALLINT – Sebuah integer kecil yang dapat ditandatangani atau unsigned. Jika
ditandatangani, rentang yang diijinkan adalah dari -32.768 ke 32767. Jika unsigned,
rentang yang diijinkan adalah dari 0 sampai 65535. Anda dapat menentukan lebar sampai
dengan 5 digit.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 75
Windiarto Nugroho, Dewi Ekawati
MEDIUMINT – Sebuah bilangan menengah yang dapat ditandatangani atau
unsigned. Jika ditandatangani, rentang yang diijinkan adalah dari -8388608 ke 8.388.607.
Jika unsigned, rentang yang diijinkan adalah 0-16777215. Anda dapat menentukan lebar
sampai dengan 9 digit.
BIGINT – Sebuah integer besar yang dapat ditandatangani atau unsigned. Jika
ditandatangani, rentang yang diijinkan adalah dari -9223372036854775808 ke
9223372036854775807. Jika unsigned, rentang yang diijinkan adalah 0-
18446744073709551615. Anda dapat menentukan lebar sampai dengan 11 digit.
Float (M, D) – Sebuah angka floating-point yang tidak dapat unsigned. Anda dapat
menentukan panjang tampilan (M) dan jumlah desimal (D). Ini tidak diperlukan dan akan
default ke 10,2, di mana 2 adalah jumlah desimal dan 10 adalah jumlah total digit
(termasuk desimal). Desimal presisi bisa pergi ke 24 tempat untuk sebuah Float.
DOUBLE (M, D) – Sebuah presisi angka floating-point ganda yang tidak dapat
unsigned. Anda dapat menentukan panjang tampilan (M) dan jumlah desimal (D). Ini tidak
diperlukan dan akan default ke 16,4, dimana 4 adalah jumlah desimal. Desimal presisi bisa
pergi ke 53 tempat untuk sebuah DOUBLE. REAL adalah sinonim untuk DOUBLE.
DECIMAL (M, D) – Sebuah angka floating-point membongkar yang tidak dapat
unsigned. Dalam membongkar desimal, desimal masing-masing sesuai dengan satu byte.
Mendefinisikan panjang tampilan (M) dan jumlah desimal (D) diperlukan. NUMERIC
adalah sinonim untuk DECIMAL.

2. Type Data Tanggal dan Waktu


TANGGAL – Sebuah tanggal YYYY-MM-DD, antara 1000/01/01 dan 9999-12-
31. Sebagai contoh, 30 Desember 1973 akan disimpan sebagai 1973/12/30.
DateTime – Sebuah kombinasi tanggal dan waktu dalam YYYY-MM-DD HH:
MM: SS format, antara 1000/01/01 00:00:00 9999-12-31 23:59:59 dan. Sebagai contoh,
3:30 di sore hari pada 30 Desember 1973 akan disimpan sebagai 1973/12/30 15:30:00.
TIMESTAMP - Sebuah timestamp antara tengah malam, 1 Januari 1970 dan
sekitar tahun 2037. Ini terlihat seperti format DateTime sebelumnya, hanya tanpa tanda
hubung antara angka; 3:30 di sore hari pada 30 Desember 1973 akan disimpan sebagai
19731230153000 (YYYYMMDDHHMMSS).
WAKTU – Menyimpan waktu di HH: MM: SS Format.
TAHUN (M) – Toko tahun dalam format 2-digit atau 4-digit. Jika panjang
ditentukan sebagai 2 (untuk TAHUN misalnya (2)), dapat TAHUN 1970-2069 (70-69).
Jika panjang ditentukan sebagai 4, dapat TAHUN 1901-2155. Panjang default adalah 4.

3. Type Data String :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 76
Windiarto Nugroho, Dewi Ekawati
Meskipun tipe numerik dan tanggal yang menyenangkan, sebagian besar data Anda
akan menyimpan akan dalam format string. Daftar ini menggambarkan tipe data string
yang umum di MySQL.
CHAR (M) – Sebuah string yang tetap-panjang antara 1 dan 255 karakter
(misalnya CHAR (5)), kanan diisi dengan spasi dengan panjang tertentu bila disimpan.
Mendefinisikan panjang tidak diperlukan, tetapi defaultnya adalah 1.
VARCHAR (M) – Variabel string panjang antara 1 dan 255 karakter, misalnya
VARCHAR (25). Anda harus menentukan panjang saat membuat bidang VARCHAR.
BLOB atau TEXT – Field dengan panjang maksimum 65535 karakter. Gumpalan
adalah “Objects Besar Biner” dan digunakan untuk menyimpan sejumlah besar data biner,
seperti gambar atau jenis file lainnya. Fields didefinisikan sebagai TEKS juga memegang
sejumlah besar data, perbedaan antara keduanya adalah bahwa macam dan perbandingan
pada data yang tersimpan bersifat case sensitif pada gumpalan dan tidak case sensitif di
bidang TEKS. Anda tidak menentukan panjang dengan BLOB atau TEXT.
TINYBLOB atau TINYTEXT – Sebuah BLOB atau TEXT kolom dengan panjang
maksimum 255 karakter. Anda tidak menentukan panjang dengan TINYBLOB atau
TINYTEXT.
MEDIUMBLOB atau MEDIUMTEXT – Sebuah BLOB atau TEXT dengan kolom
panjang maksimum 16777215 karakter. Anda tidak menentukan panjang dengan
MEDIUMBLOB atau MEDIUMTEXT.
LONGBLOB atau LONGTEXT – Sebuah BLOB atau TEXT dengan kolom
panjang maksimum 4294967295 karakter. Anda tidak menentukan panjang dengan
LONGBLOB atau LONGTEXT.
ENUM – Sebuah enumerasi, yang merupakan istilah keren untuk daftar. Ketika
mendefinisikan sebuah ENUM, Anda membuat daftar item dari nilai yang harus dipilih
(atau dapat menjadi NULL). Sebagai contoh, jika Anda ingin untuk memuat bidang “A”
atau “B” atau “C”, Anda akan mendefinisikan Anda sebagai ENUM ENUM (‘A’, ‘B’, ‘C’)
dan hanya nilai-nilai (atau NULL) pernah bisa mengisi bidang tersebut.
Bagi anda yang ingin memperdalam penggunaan database mysql ini bisa mengunjungi
situs http://www.mysql.com/. Di dalam situs tersebut terdapat lengkap sekali penggunaan
database mysql, perintah-perintah sql yang bisa digunakan, kemampuan dasar mysql sampai
pembahasan mengenai penerapan database dalam berbagai bahasa pemrograman. Setelah
selesai pembuatan seluruh tabel maka langkah selanjutnya adalah langkah pembuatan
aplikasinya.
Setelah membuat database, langkah selanjutnya adalah membuat program
menggunakan java netbeans. Langkah-langkahnya adalah sebagai berikut :

1. Kita buka dulu program netbeans dari komputer. Caranya klik Start, kemudian pilih
Netbeans IDE

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 77
Windiarto Nugroho, Dewi Ekawati
Gambar Pemanggilan Software Netbeans
2. Setelah terbuka, akan tampil kurang lebih sebagai
berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 78
Windiarto Nugroho, Dewi Ekawati
Gambar Saat Netbeans Terbuka Pertama Kali

3. Klik File kemudian pilih New Project, kemudian klik Java pilih Java Application.

Gambar Proses Pembuatan Aplikasi

Gambar Tampilan awal pembuatan project

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 79
Windiarto Nugroho, Dewi Ekawati
4. Klik Next, sehingga muncul tampilan berikut :

Gambar Tampilan penentuan nama dan lokasi project


Tentukan nama project(di atas kami beri nama projectnya JavaSIP) dan tempat
menyimpan sesuai yang diinginkan(klik browse untuk memindah lokasi
penyimpanan), kemudian klik Finish. Project telah berhasil dibuat.

Gambar Project JavaSIP


5. Kita mulai terlebih dahulu dengan membuat koneksinya, yaitu koneksi ke database sip
yang sebelumnya sudah kita buat. Untuk koneksi database dari java ke sip di mysql ini
kita memanfaatkan JDBC(Java Data Base Conectivity). Agar koneksi aplikasi yang kita
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 80
Windiarto Nugroho, Dewi Ekawati
buat ke server database bisa diubah-ubah alamat IPnya, atau bisa dibuat secara client
server maka kita simpan alamat IP/host, nama database, user ke dalam sebuah document
XML(kita beri nama database.xml) yang nanti isinya akan dibaca oleh aplikasi kita.
Caranya kita klik Tab Files pada samping kiri Project yang telah dibuat kemudian klik
kanan di JavaSIP pilih New, pilih Other. Setelah muncul tampilan menu other, klik Other
pilih Folder lalu klik Next.

Gambar Proses Pembuatan File Pengaturan

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 81
Windiarto Nugroho, Dewi Ekawati
Gambar Tampilan pembuatan folder baru.

6. Setelah muncul Folder Name, beri nama foldernya dengan setting kemudian klik Finish.
Di dalam folder setting ini nanti file database.xml akan diletakkan.

Gambar Tampilan lokasi folder setting.

7. Setelah berhasil membuat folder setting, langkah selanjutnya pada folder setting klik
kanan pilih New, pilih Other. Kemudian klik XML, pilih XML Document, klik Next.

Gambar Pembuatan File database.xml

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 82
Windiarto Nugroho, Dewi Ekawati
Gambar Tampilan pembuatan database.xml.
8. Setelah klik Next, akan muncul tampilan menu dan tentukan nama XML nya dengan
nama database lalu klik Next.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 83
Windiarto Nugroho, Dewi Ekawati
Tampilan penentuan nama dan lokasi XML.

9. Pilih Well-Formed Document, klik Finish.

Gambar Tampilan Select Document Type.


10. Pada database.xml, hapus terlebih dulu semua isinya kemudian ketikkan coding program
berikut :
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 84
Windiarto Nugroho, Dewi Ekawati
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>JavaSIP</comment>
<entry key="HOST">localhost</entry>
<entry key="DATABASE">sip</entry>
<entry key="PORT">3306</entry>
<entry key="USER">root</entry>
<entry key="PAS"></entry>
</properties>

Gambar Isi database.xml


11. Kembali ke tab Projects JavaSIP(Jangan di tab Files lagi, perhatikan pada gambar), klik
kanan pada javasip, pilih New, pilih Java Class.

Gambar Pembuatan class baru.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 85
Windiarto Nugroho, Dewi Ekawati
12. Beri nama class/Class Name dengan nama koneksiDB lalu klik Finish. Class ini nanti
digunakan untuk membaca isi dari file database.xml yang sebelumnya sudah dibuat.

Gambar Tampilan penentuan nama dan lokasi class.


13. Pada class databaseDB.java dibawah public class koneksiDB { ketikan coding program
berikut :
public koneksiDB(){}
private static Connection koneksi=null;
public static Connection condb(){
Properties prop = new Properties();
if (koneksi ==null) {
try{
prop.loadFromXML(new
FileInputStream("setting/database.xml"));
String
url="jdbc:mysql://"+prop.getProperty("HOST")+":"+prop.getProperty("POR
T")+"/"+prop.getProperty("DATABASE")+"?zeroDateTimeBehavior=convert
ToNull";
String user=prop.getProperty("USER");
String pass=prop.getProperty("PAS");
Class.forName("com.mysql.jdbc.Driver").newInstance();
koneksi=DriverManager.getConnection(url,user,pass);
}catch(Exception e){
JOptionPane.showMessageDialog(null,"Error :" +e);
}
}
return koneksi;

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 86
Windiarto Nugroho, Dewi Ekawati
}
Setelah diketikkan kode program di atas, bukan berarti langsung selesai, karena
masih ada yang error disebabkan belum diimportnya library yang dibutuhkan. Untuk
mengimport library, silahkan klik tanda lampu kuning di sebelah kiri seperti pada
gambar berikut :

Gambar tampilan import library pada koneksiDB.java


Jika sudah maka tampilan kode programnya akan bersih dari tanda error yang ada
di kiri nomer baris kode seperti gambar berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 87
Windiarto Nugroho, Dewi Ekawati
Gambar Tampilan Kode Program koneksiDB.java
A. Membuat form dan tampilan tiap tabel.
1. Form Utama
Langkah-langkah membuat form utama.
a. Klik kanan pada javasip kemudian pilih New pilih JFrameForm.
b. Tentukan nama dan lokasinya, beri nama frmUtama lalu klik Finish.

Gambar Tampilan Pembuatan frmUtama.


c. Buat tampilan frmUtama seperti gambar berikut

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 88
Windiarto Nugroho, Dewi Ekawati
Gambar Tampilan Perancangan Menu
Untuk membuat menu seperti di atas, yang harus dilakukan adalah dengan
memilih component yang ada di palete di sebelah kanan form netbeans dan
memasukkannya ke dalam frmUtama yang telah dibuat. Untuk memasukkan
menu, kita pilih pada group Swing Menus, kita pilih Menu Bar, klik kemudian
tarik ke dalam frmUtama.

Gambar Tampilan Menampatkan Menu Ke frmUtama

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 89
Windiarto Nugroho, Dewi Ekawati
Untuk mengedit menu yang ada, silahkan klik pada menu misalnya file, klik
kanan pilih Edit Teks, Kemudian Ganti dengan login. Silahkan sesuaikan dengan
desain menu yang ada. Jika ingin menambah menu, klik dulu MenuBar yang tadi
dimasukkan, klik kanan pilih Add Menu

Gambar Tampilan Mengedit Menu


Untuk memasukkan menu yang berupa icon, di palete sebelah kanan form
netbeans kita pilih Button yang letaknya di kumpulan component Swing Control.

Gambar Tampilan Memasukkan Button Ke frmUtama


Untuk mengganti teks yang ada, silahkan klik button yang baru saja
dimasukkan, klik kanan kemudian pilih Edit Teks Seperti sebelumnya. Buatlah
sesuai dengan desain menu yang ada. Untuk memasukkan icon silahkan atur di

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 90
Windiarto Nugroho, Dewi Ekawati
Panel Propertis, pilih icon, klik elips di sebelah kanan combobox Icon, pilih
Eksternal Image.

Tampilan Propertis Icon dari JButton yang dimasukkan


Silahkan buat semua menu yang ada seperti pada rancangan menu. Untuk
memasukkan judul silahkan pilih component label, tarik ke frmUtama, klik kanan,
pilih Edit Teks, Masukkan judul “Sistem Informasi Poliklinik”
2. Form Admin, Dokter, Pasien, Petugas, Obat, Tarif Tindakan, Registrasi Periksa,
Rawat Jalan, Pemberian Obat Dan Pembayaran.
Langkah-langkah membuat Form-form tersebut :
a. Klik kanan pada javasip, lalu pilih New, pilih JDialog Form.
b. Tentukan nama dan lokasinya, beri nama frmAdmin atau sesuai yang diinginkan
lalu klik Finish.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 91
Windiarto Nugroho, Dewi Ekawati
Pembuatan frmAdmin.
c. Buat tampilan frmAdmin seperti gambar berikut

Design frmAdmin.
Untuk title component yang digunakan adalah JLabel, Untuk inputan data
yang digunakan adalah JTextField, Untuk tabel yang digunakan adalah JTable,
caranya sama seperti sebelumnya tinggal memilih compenent yang ada di Swing
Control.
d. Ulangi dari langkah a-c untuk membuat form-form yang lain, berikut tampilan
dari form-form yang sudah dibuat :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 92
Windiarto Nugroho, Dewi Ekawati
Design frmDokter.

Design frmObat

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 93
Windiarto Nugroho, Dewi Ekawati
Gambar 2.7. Design frmPasien

Gambar 2.8. Design frmPetugas

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 94
Windiarto Nugroho, Dewi Ekawati
Gambar 2.9. Design frmTarifTindakan

Gambar 2.10. Design frmRegPeriksa

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 95
Windiarto Nugroho, Dewi Ekawati
Gambar 2.11. Design frmRawatJalan

Gambar 2.12. Design frmPemberianObat

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 96
Windiarto Nugroho, Dewi Ekawati
Gambar 2.13. Design frmPembayaran

B. Pengkodingan untuk Pemanggilan Form, tombol Simpan, Ganti, Hapus, Baru, Keluar,
Keyword, Cari, dan View Tabel beserta Mouse Clicked.
Sebelum pengkodingan pada tombol-tombol lakukan pengkodingan untuk koneksi
penyimpanan, edit dan hapus. Berikut langkah-langkahnya :
- Kembali ke source koneksiDB, kemudian ketikkan source program berikut untuk
koneksi simpan, ganti dan hapus data ke database :
public static void insertData(String table,String nilai){
try {
koneksiDB.condb().createStatement().executeUpdate(
"insert into "+table+" values ("+nilai+")");
} catch (SQLException ex) {
System.out.println(""+ex);
}
}
public static void hapusData(String table,String nilai){
try {
koneksiDB.condb().createStatement().executeUpdate(
"delete from "+table+" "+nilai+"");
} catch (SQLException ex) {
System.out.println(""+ex);
}
}
public static void editData(String table,String nilai){

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 97
Windiarto Nugroho, Dewi Ekawati
try {
koneksiDB.condb().createStatement().executeUpdate(
"update "+table+" "+nilai+"");
} catch (SQLException ex) {
System.out.println(""+ex);
}

Gambar 3.1. Tampilan pembuatan koneksi untuk simpan, ganti, hapus

1. Memenaggil Form Utama


Langkah-langkahnya :
a. Kembali ke JavaSIP.
b. Ketikkan coding program berikut:
frmUtama utama=new frmUtama();
utama.setVisible(true);

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 98
Windiarto Nugroho, Dewi Ekawati
Gambar 3.2. Tampilan source pemanggilan frmUtama

2. Form Admin (coding tombol Simpan, Ganti, Hapus, Baru, Keluar, View Tabel
beserta Mouse Clicked dan pemanggilan dari form utama)
a. Buka frmAdmin, kemudian klik kanan pada tombol Simpan, pilih Event, pilih
Action, pilih Action Performed. Ketikkan source program berikut :
koneksiDB.insertData("admin","'"+TxtUser.getText()+"','"+
TxtPass.getText()+"'");
b. Klik kanan pada tombol Ganti, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.editData("admin"," set pass='"+TxtPass.getText()+"' where
user='"+
TxtUser.getText()+"'");
c. Klik kanan pada tombol Hapus, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.hapusData("admin"," where user='"+TxtUser.getText()+"'");
d. Klik kanan pada tombol Baru, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
TxtUser.setText("");
TxtPass.setText("");
e. Klik kanan pada tombol Keluar, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
dispose();
f. Untuk view tabel kembali ke source frmAdmin bagian atas, ketikkan source
program DefaultTableModel tabmode; di bawah source program public class
frmAdmin extends javax.swing.JDialog { .
Kemudian di bawah source program public frmAdmin(java.awt.Frame parent,
boolean modal) {
super(parent, modal);
ketikkan source program berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 99
Windiarto Nugroho, Dewi Ekawati
String[] judul={"Id Admin","Password"};
tabmode=new DefaultTableModel(judul,0);
jTableAdmin.setModel(tabmode);
tampil();
g. Di samping source tampil(); pasti ada icon error, icon error berwarna kuning dan
merah, kita klik kemudian pilih Create Method Tampil() in javasip.frmAdmin.
Sehingga tampilan seperti berikut :

Gambar 3.3. Tampilan buat method tampil.

h. Mulai membuat method tampil dengan mengetikkan source program berikut di


bawah source private void tampil() { :
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
try {
ResultSet rs=koneksiDB.condb().createStatement().executeQuery(
"select * from admin");
while(rs.next()){
String[] data={rs.getString(1),rs.getString(2)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmAdmin.class.getName()).log(Level.SEVERE,
null, ex);
}
}
public JTable getdata(){
return jTableAdmin;
}
public DefaultTableModel getMode() {
return tabmode;
}
i. Ketikkan method tampil(); di bawah source program simpan, ganti, dan hapus.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 100
Windiarto Nugroho, Dewi Ekawati
j. Kembali ke design frmAdmin untuk mengaktifkan mouse clicked pada tabel.
Kemudian klik kanan pada tabel, pilih Event, pilih Mouse, pilih MouseClicked.
Setelah itu, ketikkan source program berikut :
int i=jTableAdmin.getSelectedRow();
if (i>-1){
TxtUser.setText(tabmode.getValueAt(i, 0). toString());
TxtPass.setText(tabmode.getValueAt(i, 1). toString());
}
k. Panggil frmAdmin pada frmUtama dengan klik kanan pada tombol Data Admin,
pilih Event, pilih Action, pilih Action Performed lalu ketikkan source program
berikut :
frmAdmin admin=new frmAdmin(this,false);
admin.setLocationRelativeTo(null);
admin.setVisible(true);
l. Coba jalankan programnya dengan menekan tombol F6. Sehingga hasil
programnya sebagai berikut :

Gambar 3.4. Tampilan hasil program frmAdmin

Keterangan :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 101
Windiarto Nugroho, Dewi Ekawati
- Setiap mengetikkan tiap kata source program gunakan Ctrl-Space supaya
tidak terjadi kesalahan dalam penulisan.
- Sesuaikan nama variable textfield masing-masing.
- Sesuaikan SQL dengan databasenya.
- Sesuaikan judul field tabel masing-masing.
- Jika pengkodingannya menggunakan copy-paste gunakan Ctrl-Space untuk
mengatasi error yang terjadi di setiap kata yang mengalami error.

3. Form Dokter (coding tombol Simpan, Ganti, Hapus, Baru, Keluar, Keyword, View
Tabel beserta Mouse Clicked dan pemanggilan dari form utama)
a. Buka frmDokter, kemudian klik kanan pada tombol Simpan, pilih Event, pilih
Action, pilih Action Performed. Ketikkan source program berikut :
koneksiDB.insertData("dokter","'"+jTextDokter.getText()+"','"+
jTextNama.getText()+"','"+
jComboBox1.getSelectedItem()+"','"+
jTextTmpLahir.getText()+"','"+
jTextTglLhr.getText()+"','"+
jTextNoIjinPraktek.getText()+"','"+
jTextAlm.getText()+"','"+
jTextPass.getText()+"'");
b. Klik kanan pada tombol Ganti, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.editData("dokter"," set
nm_dokter='"+jTextNama.getText()+"' ,jk='"+
jComboBox1.getSelectedItem()+"' ,tmp_lahir='"+
jTextTmpLahir.getText()+"' ,no_ijin_praktek='"+
jTextNoIjinPraktek.getText()+"' ,alamat='"+
jTextAlm.getText()+"' ,password='"+
jTextPass.getText()+"' where kd_dokter='"+
jTextDokter.getText()+"'");
c. Klik kanan pada tombol Hapus, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.hapusData("dokter"," where
kd_dokter='"+jTextDokter.getText()+"'");
d. Klik kanan pada tombol Baru, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
jTextDokter.setText("");
jTextNama.setText("");
jTextTmpLahir.setText("");

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 102
Windiarto Nugroho, Dewi Ekawati
jTextTglLhr.setText("");
jTextNoIjinPraktek.setText("");
jTextAlm.setText("");
jTextPass.setText("");
e. Klik kanan pada tombol Keluar, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
dispose();
f. Untuk view tabel kembali ke source frmDokter bagian atas, ketikkan source
program DefaultTableModel tabmode; di bawah source program public class
frmDokter extends javax.swing.JDialog { .
Kemudian di bawah source program public frmDokter(java.awt.Frame parent,
boolean modal) {
super(parent, modal);
ketikkan source program berikut :
String[] judul={"Kd Dokter","Nama Dokter","Jenis Kelamin","Tempat
Lahir","Tanggal Lahir","N.I.P","Alamat","Password"};
tabmode=new DefaultTableModel(judul,0);
jTableDokter.setModel(tabmode);
tampil();
g. Di samping source tampil(); pasti ada icon error, icon error berwarna kuning dan
merah, kita klik kemudian pilih Create Method Tampil() in javasip.frmDokter.
Sehingga tampilan seperti berikut :

Gambar 3.5. Tampilan buat method tampil


h. Mulai membuat method tampil dengan mengetikkan source program berikut di
bawah source private void tampil() { :
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
try {
ResultSet rs=koneksiDB.condb().createStatement().executeQuery(
"select * from dokter");
while(rs.next()){

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 103
Windiarto Nugroho, Dewi Ekawati
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmDokter.class.getName()).log(Level.SEVERE,
null, ex);
}
}
public JTable getdata(){
return jTableDokter;
}
public DefaultTableModel getMode() {
return tabmode;
}
i. Ketikkan method tampil(); di bawah source program simpan, ganti, dan hapus.
j. Kembali ke design frmDokter untuk mengaktifkan mouse clicked pada tabel.
Kemudian klik kanan pada tabel, pilih Event, pilih Mouse, pilih MouseClicked.
Setelah itu, ketikkan source program berikut :
int i=jTableDokter.getSelectedRow();
if (i>-1){
jTextDokter.setText(tabmode.getValueAt(i, 0). toString());
jTextNama.setText(tabmode.getValueAt(i, 1). toString());
jComboBox1.setSelectedItem(tabmode.getValueAt(i, 2). toString());
jTextTmpLahir.setText(tabmode.getValueAt(i, 3). toString());
jTextTglLhr.setText(tabmode.getValueAt(i, 4). toString());
jTextNoIjinPraktek.setText(tabmode.getValueAt(i, 5). toString());
jTextAlm.setText(tabmode.getValueAt(i, 6). toString());
jTextPass.setText(tabmode.getValueAt(i, 7). toString());
}
k. Kembali ke design frmDokter untuk mengaktifkan tombol keyword. Kemudian
klik kanan pada tombol , pilih Event, pilih Action, pilih ActionPerformed lalu
ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 104
Windiarto Nugroho, Dewi Ekawati
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select * from
dokter where kd_dokter like '%"+
jTextKeyword.getText()+"%' or nm_dokter like '%"+
jTextKeyword.getText()+"%' or jk like '%"+
jTextKeyword.getText()+"%' or tmp_lahir like '%"+
jTextKeyword.getText()+"%' or tgl_lahir like '%"+
jTextKeyword.getText()+"%' or no_ijin_praktek like '%"+
jTextKeyword.getText()+"%' or alamat like '%"+
jTextKeyword.getText()+"%' or password like '%"+
jTextKeyword.getText()+"%'");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmObat.class.getName()).log(Level.SEVERE, null,
ex);
}
l. Kembali ke design frmDokter untuk mengaktifkan tombol keyword. Kemudian
klik kanan pada tombol , pilih Event, pilih Action, pilih ActionPerformed lalu
ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select * from
dokter");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 105
Windiarto Nugroho, Dewi Ekawati
Logger.getLogger(frmObat.class.getName()).log(Level.SEVERE, null,
ex);
}
m. Panggil frmDokter pada frmUtama dengan klik kanan pada tombol Data Dokter,
pilih Event, pilih Action, pilih Action Performed lalu ketikkan source program
berikut :
frmDokter dokter=new frmDokter(this,false);
dokter.setLocationRelativeTo(null);
dokter.setVisible(true);
n. Coba jalankan programnya dengan menekan tombol F6. Sehingga hasil
programnya sebagai berikut :

Gambar 3.6. Tampilan hasil program frmDokter

Keterangan :
- Setiap mengetikkan tiap kata source program gunakan Ctrl-Space supaya
tidak terjadi kesalahan dalam penulisan.
- Sesuaikan nama variable textfield masing-masing.
- Sesuaikan SQL dengan databasenya.
- Sesuaikan judul field tabel masing-masing.
- Jika pengkodingannya menggunakan copy-paste gunakan Ctrl-Space untuk
mengatasi error yang terjadi di setiap kata yang mengalami error.

4. Form Obat (coding tombol Simpan, Ganti, Hapus, Baru, Keluar, Keyword, View
Tabel beserta Mouse Clicked dan pemanggilan dari form utama)
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 106
Windiarto Nugroho, Dewi Ekawati
a. Buka frmObat, kemudian klik kanan pada tombol Simpan, pilih Event, pilih
Action, pilih Action Performed. Ketikkan source program berikut :
koneksiDB.insertData("obat","'"+jTextKodeObat.getText()+"','"+
jTextNamaObat.getText()+"','"+
jTextHarga.getText()+"'");
b. Klik kanan pada tombol Ganti, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.editData("obat"," set
nama_obat='"+jTextNamaObat.getText()+"' ,harga='"+
jTextHarga.getText()+"' where kode_obat='"+
jTextKodeObat.getText()+"'");
c. Klik kanan pada tombol Hapus, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.hapusData("obat"," where
kode_obat='"+jTextKodeObat.getText()+"'");
d. Klik kanan pada tombol Baru, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
jTextKodeObat.setText("");
jTextNamaObat.setText("");
jTextHarga.setText("");
e. Klik kanan pada tombol Keluar, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
dispose();
f. Untuk view tabel kembali ke source frmObat bagian atas, ketikkan source
program DefaultTableModel tabmode; di bawah source program public class
frmObat extends javax.swing.JDialog { .
Kemudian di bawah source program public frmObat(java.awt.Frame parent,
boolean modal) {
super(parent, modal);
ketikkan source program berikut :
String[] judul={"Kd Obat","Nama Obat","Harga"};
tabmode=new DefaultTableModel(judul,0);
jTableObat.setModel(tabmode);
tampil();
g. Di samping source tampil(); pasti ada icon error, icon error berwarna kuning dan
merah, kita klik kemudian pilih Create Method Tampil() in javasip.frmObat.
Sehingga tampilan seperti berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 107
Windiarto Nugroho, Dewi Ekawati
Gambar 3.7. Tampilan buat method tampil

h. Mulai membuat method tampil dengan mengetikkan source program berikut di


bawah source private void tampil() { :
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
try {
ResultSet rs=koneksiDB.condb().createStatement().executeQuery(
"select * from obat");
while(rs.next()){
String[] data={rs.getString(1),rs.getString(2),rs.getString(3)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(JavaSIP.class.getName()).log(Level.SEVERE, null,
ex);
}
}
public JTable getdata(){
return jTableObat;
}
public DefaultTableModel getMode() {
return tabmode;
}
i. Ketikkan method tampil(); di bawah source program simpan, ganti, dan hapus.
j. Kembali ke design frmObat untuk mengaktifkan mouse clicked pada tabel.
Kemudian klik kanan pada tabel, pilih Event, pilih Mouse, pilih MouseClicked.
Setelah itu, ketikkan source program berikut :
int i=jTableObat.getSelectedRow();
if (i>-1){
jTextKodeObat.setText(tabmode.getValueAt(i, 0). toString());
jTextNamaObat.setText(tabmode.getValueAt(i, 1). toString());
jTextHarga.setText(tabmode.getValueAt(i, 2). toString());
}

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 108
Windiarto Nugroho, Dewi Ekawati
k. Kembali ke design frmObat untuk mengaktifkan tombol keyword. Kemudian klik
kanan pada tombol , pilih Event, pilih Action, pilih ActionPerformed lalu
ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select * from obat
where kode_obat like '%"+
jTextKeyword.getText()+"%' or nama_obat like '%"+
jTextKeyword.getText()+"%' or harga like '%"+
jTextKeyword.getText()+"%'");
while(rs.next()){
String[] data={rs.getString(1),rs.getString(2),rs.getString(3)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmObat.class.getName()).log(Level.SEVERE, null,
ex);
}
}

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {


try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select * from obat");
while(rs.next()){
String[] data={rs.getString(1),rs.getString(2),rs.getString(3)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmObat.class.getName()).log(Level.SEVERE, null,
ex);
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 109
Windiarto Nugroho, Dewi Ekawati
}
l. Kembali ke design frmObat untuk mengaktifkan tombol keyword. Kemudian klik
kanan pada tombol , pilih Event, pilih Action, pilih ActionPerformed lalu
ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select * from obat");
while(rs.next()){
String[] data={rs.getString(1),rs.getString(2),rs.getString(3)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmObat.class.getName()).log(Level.SEVERE, null,
ex);
}
m. Panggil frmObat pada frmUtama dengan klik kanan pada tombol Data Obat, pilih
Event, pilih Action, pilih Action Performed lalu ketikkan source program berikut :
frmObat obat=new frmObat(this,false);
obat.setLocationRelativeTo(null);
obat.setVisible(true);
n. Coba jalankan programnya dengan menekan tombol F6. Sehingga hasil
programnya sebagai berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 110
Windiarto Nugroho, Dewi Ekawati
Gambar 3.8. Tampilan hasil program frmObat

Keterangan :
- Setiap mengetikkan tiap kata source program gunakan Ctrl-Space supaya
tidak terjadi kesalahan dalam penulisan.
- Sesuaikan nama variable textfield masing-masing.
- Sesuaikan SQL dengan databasenya.
- Sesuaikan judul field tabel masing-masing.
- Jika pengkodingannya menggunakan copy-paste gunakan Ctrl-Space untuk
mengatasi error yang terjadi di setiap kata yang mengalami error.

5. Form Pasien (coding tombol Simpan, Ganti, Hapus, Baru, Keluar, Keyword, View
Tabel beserta Mouse Clicked dan pemanggilan dari form utama)
a. Buka frmPasien, kemudian klik kanan pada tombol Simpan, pilih Event, pilih
Action, pilih Action Performed. Ketikkan source program berikut :
koneksiDB.insertData("pasien","'"+jTextNoRekamMedis.getText()+"','"+
jTextNamaPasien.getText()+"','"+
jTextNoKTP.getText()+"','"+
jCombojk.getSelectedItem()+"','"+
jTextTmpLhr.getText()+"','"+
jTextTglLhr.getText()+"','"+
jTextAlm.getText()+"','"+
jComboGol.getSelectedItem()+"','"+
jTextPekerjaan.getText()+"','"+
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 111
Windiarto Nugroho, Dewi Ekawati
jCombostatus.getSelectedItem()+"','"+
jTextAgama.getText()+"','"+
jTextTglDaftar.getText()+"','"+
jTextNoTelp.getText()+"','"+
jTextUmur.getText()+"','"+
jComboPnd.getSelectedItem()+"','"+
jComboKel.getSelectedItem()+"','"+
jTextNamaKeluarga.getText()+"'");
b. Klik kanan pada tombol Ganti, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.editData("pasien"," set
nm_pasien='"+jTextNamaPasien.getText()+"' ,no_ktp='"+
jTextNoKTP.getText()+"' ,jk='"+
jCombojk.getSelectedItem()+"' ,tmp_lahir='"+
jTextTmpLhr.getText()+"' ,tgl_lahir='"+
jTextTglLhr.getText()+"' ,alamat='"+
jTextAlm.getText()+"' ,gol_darah='"+
jComboGol.getSelectedItem()+"' ,pekerjaan='"+
jTextPekerjaan.getText()+"' ,stts_nikah='"+
jCombostatus.getSelectedItem()+"' ,agama='"+
jTextAgama.getText()+"' ,tgl_daftar='"+
jTextTglDaftar.getText()+"' ,no_tlp='"+
jTextNoTelp.getText()+"' ,umur='"+
jTextUmur.getText()+"' ,pnd='"+
jComboPnd.getSelectedItem()+"' ,keluarga='"+
jComboKel.getSelectedItem()+"' ,namakeluarga='"+
jTextNamaKeluarga.getText()+"' where no_rkm_medis='"+
jTextNoRekamMedis.getText()+"'");
c. Klik kanan pada tombol Hapus, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.hapusData("pasien"," where
no_rkm_medis='"+jTextNoRekamMedis.getText()+"'");
d. Klik kanan pada tombol Baru, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
jTextNoRekamMedis.setText("");
jTextNamaPasien.setText("");
jTextNoKTP.setText("");
jTextTmpLhr.setText("");
jTextTglLhr.setText("");

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 112
Windiarto Nugroho, Dewi Ekawati
jTextAlm.setText("");
jTextPekerjaan.setText("");
jTextAgama.setText("");
jTextTglDaftar.setText("");
jTextNoTelp.setText("");
jTextUmur.setText("");
jTextNamaKeluarga.setText("");
e. Klik kanan pada tombol Keluar, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
dispose();
f. Untuk view tabel kembali ke source frmPasien bagian atas, ketikkan source
program DefaultTableModel tabmode; di bawah source program public class
frmPasien extends javax.swing.JDialog { .
Kemudian di bawah source program public frmPasien(java.awt.Frame parent,
boolean modal) {
super(parent, modal);
ketikkan source program berikut :
String[] judul={"No.R.Medis","Nama
Pasien","No.KTP","J.Kelamin","Tempat Lahir","Tgl
Lahir","Alamat","Gol.Darah","pekerjaan","Status Nikah","Agama","Tgl
Daftar","No.Telp","Umur","Pendidikan","Keluarga","Nama Kel"};
tabmode=new DefaultTableModel(judul,0);
jTablePasien.setModel(tabmode);
tampil();
g. Di samping source tampil(); pasti ada icon error, icon error berwarna kuning dan
merah, kita klik kemudian pilih Create Method Tampil() in javasip.frmPasien.
Sehingga tampilan seperti berikut :

Gambar 3.9. Tampilan buat method tampil

h. Mulai membuat method tampil dengan mengetikkan source program berikut di


bawah source private void tampil() { :
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
try {

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 113
Windiarto Nugroho, Dewi Ekawati
ResultSet rs=koneksiDB.condb().createStatement().executeQuery(
"select * from pasien");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getStrin
g(10),rs.getString(11),rs.getString(12),rs.getString(13),rs.getString(14),rs.get
String(15),rs.getString(16),rs.getString(17)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmPasien.class.getName()).log(Level.SEVERE,
null, ex);
}
}
public JTable getdata(){
return jTablePasien;
}
public DefaultTableModel getMode() {
return tabmode;
}
i. Ketikkan method tampil(); di bawah source program simpan, ganti, dan hapus.
j. Kembali ke design frmPasien untuk mengaktifkan mouse clicked pada tabel.
Kemudian klik kanan pada tabel, pilih Event, pilih Mouse, pilih MouseClicked.
Setelah itu, ketikkan source program berikut :
int i=jTablePasien.getSelectedRow();
if (i>-1){
jTextNoRekamMedis.setText(tabmode.getValueAt(i, 0). toString());
jTextNamaPasien.setText(tabmode.getValueAt(i, 1). toString());
jTextNoKTP.setText(tabmode.getValueAt(i, 2). toString());
jCombojk.setSelectedItem(tabmode.getValueAt(i, 3). toString());
jTextTmpLhr.setText(tabmode.getValueAt(i, 4). toString());
jTextTglLhr.setText(tabmode.getValueAt(i, 5). toString());
jTextAlm.setText(tabmode.getValueAt(i, 6). toString());
jComboGol.setSelectedItem(tabmode.getValueAt(i, 7). toString());
jTextPekerjaan.setText(tabmode.getValueAt(i, 8). toString());
jCombostatus.setSelectedItem(tabmode.getValueAt(i, 9). toString());
jTextAgama.setText(tabmode.getValueAt(i, 10). toString());
jTextTglDaftar.setText(tabmode.getValueAt(i, 11). toString());

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 114
Windiarto Nugroho, Dewi Ekawati
jTextNoTelp.setText(tabmode.getValueAt(i, 12). toString());
jTextUmur.setText(tabmode.getValueAt(i, 13). toString());
jComboPnd.setSelectedItem(tabmode.getValueAt(i, 14). toString());
jComboKel.setSelectedItem(tabmode.getValueAt(i, 15). toString());
jTextNamaKeluarga.setText(tabmode.getValueAt(i, 16). toString());
}
k. Kembali ke design frmPasien untuk mengaktifkan tombol keyword. Kemudian
klik kanan pada tombol , pilih Event, pilih Action, pilih ActionPerformed lalu
ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select * from pasien
where no_rkm_medis like '%"+
jTextKeyword.getText()+"%' or nm_pasien like '%"+
jTextKeyword.getText()+"%' or no_ktp like '%"+
jTextKeyword.getText()+"%' or jk like '%"+
jTextKeyword.getText()+"%' or tmp_lahir like '%"+
jTextKeyword.getText()+"%' or tgl_lahir like '%"+
jTextKeyword.getText()+"%' or alamat like '%"+
jTextKeyword.getText()+"%' or gol_darah like '%"+
jTextKeyword.getText()+"%' or pekerjaan like '%"+
jTextKeyword.getText()+"%' or stts_nikah like '%"+
jTextKeyword.getText()+"%' or agama like '%"+
jTextKeyword.getText()+"%' or tgl_daftar like '%"+
jTextKeyword.getText()+"%' or no_tlp like '%"+
jTextKeyword.getText()+"%' or umur like '%"+
jTextKeyword.getText()+"%' or pnd like '%"+
jTextKeyword.getText()+"%' or keluarga like '%"+
jTextKeyword.getText()+"%' or namakeluarga like '%"+
jTextKeyword.getText()+"%'");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getStrin

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 115
Windiarto Nugroho, Dewi Ekawati
g(10),rs.getString(11),rs.getString(12),rs.getString(13),rs.getString(14),rs.get
String(15),rs.getString(16),rs.getString(17)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmObat.class.getName()).log(Level.SEVERE, null,
ex);
}
l. Kembali ke design frmpPasien untuk mengaktifkan tombol keyword. Kemudian
klik kanan pada tombol , pilih Event, pilih Action, pilih ActionPerformed lalu
ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select * from
pasien");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getStrin
g(10),rs.getString(11),rs.getString(12),rs.getString(13),rs.getString(14),rs.get
String(15),rs.getString(16),rs.getString(17)}; tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmObat.class.getName()).log(Level.SEVERE, null,
ex);
}
m. Panggil frmPasien pada frmUtama dengan klik kanan pada tombol Data Pasien,
pilih Event, pilih Action, pilih Action Performed lalu ketikkan source program
berikut :
frmPasien pasien=new frmPasien(this,false);
pasien.setLocationRelativeTo(null);
pasien.setVisible(true);
n. Coba jalankan programnya dengan menekan tombol F6. Sehingga hasil
programnya sebagai berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 116
Windiarto Nugroho, Dewi Ekawati
Gambar 3.10. Tampilan hasil program frmPasien

Keterangan :
- Setiap mengetikkan tiap kata source program gunakan Ctrl-Space supaya
tidak terjadi kesalahan dalam penulisan.
- Sesuaikan nama variable textfield masing-masing.
- Sesuaikan SQL dengan databasenya.
- Sesuaikan judul field tabel masing-masing.
- Jika pengkodingannya menggunakan copy-paste gunakan Ctrl-Space untuk
mengatasi error yang terjadi di setiap kata yang mengalami error.

6. Form Petugas (coding tombol Simpan, Ganti, Hapus, Baru, Keluar, Keyword, View
Tabel beserta Mouse Clicked dan pemanggilan dari form utama)
a. Buka frmPetugas, kemudian klik kanan pada tombol Simpan, pilih Event, pilih
Action, pilih Action Performed. Ketikkan source program berikut :
koneksiDB.insertData("petugas","'"+TxtNip.getText()+"','"+
jTextNama.getText()+"','"+
jComboJk.getSelectedItem()+"','"+
jTextTmpLhr.getText()+"','"+
jTextTglLhr.getText()+"','"+
jTextAlm.getText()+"','"+
jTextPass.getText()+"'");
b. Klik kanan pada tombol Ganti, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.editData("petugas"," set
nama='"+jTextNama.getText()+"' ,jk='"+

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 117
Windiarto Nugroho, Dewi Ekawati
jComboJk.getSelectedItem()+"' ,tmp_lahir='"+
jTextTmpLhr.getText()+"' ,tgl_lahir='"+
jTextTglLhr.getText()+"' ,alamat='"+
jTextAlm.getText()+"' ,password='"+
jTextPass.getText()+"' where nip='"+
TxtNip.getText()+"'");

c. Klik kanan pada tombol Hapus, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.hapusData("petugas"," where nip='"+TxtNip.getText()+"'");
tampil();
d. Klik kanan pada tombol Baru, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
TxtNip.setText("");
jTextNama.setText("");
jTextTmpLhr.setText("");
jTextTglLhr.setText("");
jTextAlm.setText("");
jTextPass.setText("");
e. Klik kanan pada tombol Keluar, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
dispose();
f. Untuk view tabel kembali ke source frmPetugas bagian atas, ketikkan source
program DefaultTableModel tabmode; di bawah source program public class
frmPetugas extends javax.swing.JDialog { .
Kemudian di bawah source program public frmPetugas(java.awt.Frame parent,
boolean modal) {
super(parent, modal);
ketikkan source program berikut :
String[] judul={"N.I.P","Nama Petugas","Jenis Kelamin","Tempat
Lahir","Tanggal Lahir","Alamat","Password"};
tabmode=new DefaultTableModel(judul,0);
jTablePetugas.setModel(tabmode);
tampil();
g. Di samping source tampil(); pasti ada icon error, icon error berwarna kuning dan
merah, kita klik kemudian pilih Create Method Tampil() in javasip.frmPetugas.
Sehingga tampilan seperti berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 118
Windiarto Nugroho, Dewi Ekawati
Gambar 3.11. Tampilan buat method tampil

h. Mulai membuat method tampil dengan mengetikkan source program berikut di


bawah source private void tampil() { :
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
try {
ResultSet rs=koneksiDB.condb().createStatement().executeQuery(
"select * from petugas");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmPetugas.class.getName()).log(Level.SEVERE,
null, ex);
}
}
public JTable getdata(){
return jTablePetugas;
}
public DefaultTableModel getMode() {
return tabmode;
}
i. Ketikkan method tampil(); di bawah source program simpan, ganti, dan hapus.
j. Kembali ke design frmPetugas untuk mengaktifkan mouse clicked pada tabel.
Kemudian klik kanan pada tabel, pilih Event, pilih Mouse, pilih MouseClicked.
Setelah itu, ketikkan source program berikut :
int i=jTablePetugas.getSelectedRow();
if (i>-1){
TxtNip.setText(tabmode.getValueAt(i, 0). toString());
jTextNama.setText(tabmode.getValueAt(i, 1). toString());
jComboJk.setSelectedItem(tabmode.getValueAt(i, 2). toString());
jTextTmpLhr.setText(tabmode.getValueAt(i, 3). toString());
jTextTglLhr.setText(tabmode.getValueAt(i, 4). toString());

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 119
Windiarto Nugroho, Dewi Ekawati
jTextAlm.setText(tabmode.getValueAt(i, 5). toString());
jTextPass.setText(tabmode.getValueAt(i, 6). toString());
}
k. Kembali ke design frmPetugas untuk mengaktifkan tombol keyword. Kemudian
klik kanan pada tombol , pilih Event, pilih Action, pilih ActionPerformed lalu
ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select * from
petugas where nip like '%"+
jTextKeyword.getText()+"%' or nama like '%"+
jTextKeyword.getText()+"%' or jk like '%"+
jTextKeyword.getText()+"%' or tmp_lahir like '%"+
jTextKeyword.getText()+"%' or tgl_lahir like '%"+
jTextKeyword.getText()+"%' or alamat like '%"+
jTextKeyword.getText()+"%' or password like '%"+
jTextKeyword.getText()+"%'");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmObat.class.getName()).log(Level.SEVERE, null,
ex);
}
l. Kembali ke design frmPetugas untuk mengaktifkan tombol keyword. Kemudian
klik kanan pada tombol , pilih Event, pilih Action, pilih ActionPerformed lalu
ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 120
Windiarto Nugroho, Dewi Ekawati
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select * from
petugas");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmObat.class.getName()).log(Level.SEVERE, null,
ex);
}
m. Panggil frmPetugas pada frmUtama dengan klik kanan pada tombol Data Petugas,
pilih Event, pilih Action, pilih Action Performed lalu ketikkan source program
berikut :
frmPetugas petugas=new frmPetugas(this,false);
petugas.setLocationRelativeTo(null);
petugas.setVisible(true);
n. Coba jalankan programnya dengan menekan tombol F6. Sehingga hasil
programnya sebagai berikut :

Gambar 3.12. Tampilan hasil program frmPetugas

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 121
Windiarto Nugroho, Dewi Ekawati
Keterangan :
- Setiap mengetikkan tiap kata source program gunakan Ctrl-Space supaya
tidak terjadi kesalahan dalam penulisan.
- Sesuaikan nama variable textfield masing-masing.
- Sesuaikan SQL dengan databasenya.
- Sesuaikan judul field tabel masing-masing.
- Jika pengkodingannya menggunakan copy-paste gunakan Ctrl-Space untuk
mengatasi error yang terjadi di setiap kata yang mengalami error.

7. Form TarifTindakan (coding tombol Simpan, Ganti, Hapus, Baru, Keluar, Keyword,
View Tabel beserta Mouse Clicked dan pemanggilan dari form utama)
a. Buka frmTarifTindakan, kemudian klik kanan pada tombol Simpan, pilih Event,
pilih Action, pilih Action Performed. Ketikkan source program berikut :
koneksiDB.insertData("tarif_tindakan","'"+jTextKodeTindakan.getText()+
"','"+
jTextNamaTindakan.getText()+"','"+
jTextTarifTindakan.getText()+"'");
b. Klik kanan pada tombol Ganti, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.editData("tarif_tindakan"," set
nm_tindakan='"+jTextNamaTindakan.getText()+"' ,tarif='"+
jTextTarifTindakan.getText()+"' where kd_tindakan='"+
jTextKodeTindakan.getText()+"'");
c. Klik kanan pada tombol Hapus, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.hapusData("tarif_tindakan"," where
kd_tindakan='"+jTextKodeTindakan.getText()+"'");
d. Klik kanan pada tombol Baru, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
jTextKodeTindakan.setText("");
jTextNamaTindakan.setText("");
jTextTarifTindakan.setText("");
e. Klik kanan pada tombol Keluar, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
dispose();
f. Untuk view tabel kembali ke source frmTarifTindakan bagian atas, ketikkan
source program DefaultTableModel tabmode; di bawah source program public
class frmTarifTindakan extends javax.swing.JDialog { .

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 122
Windiarto Nugroho, Dewi Ekawati
Kemudian di bawah source program public frmTarifTindakan(java.awt.Frame
parent, boolean modal) {
super(parent, modal);
ketikkan source program berikut :
String[] judul={"Kd Tindakan","Nama Tindakan","Tarif Tindakan"};
tabmode=new DefaultTableModel(judul,0);
jTableTarifTindakan.setModel(tabmode);
tampil();
g. Di samping source tampil(); pasti ada icon error, icon error berwarna kuning dan
merah, kita klik kemudian pilih Create Method Tampil() in
javasip.frmTarifTndakan. Sehingga tampilan seperti berikut :

Gambar 3.13. Tampilan buat method tampil

h. Mulai membuat method tampil dengan mengetikkan source program berikut di


bawah source private void tampil() { :
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
try {
ResultSet rs=koneksiDB.condb().createStatement().executeQuery(
"select * from tarif_tindakan");
while(rs.next()){
String[] data={rs.getString(1),rs.getString(2),rs.getString(3)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(JavaSIP.class.getName()).log(Level.SEVERE, null,
ex);
}
}
public JTable getdata(){
return jTableTarifTindakan;
}
public DefaultTableModel getMode() {
return tabmode;

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 123
Windiarto Nugroho, Dewi Ekawati
}
i. Ketikkan method tampil(); di bawah source program simpan, ganti, dan hapus.
j. Kembali ke design frmTarifTindakan untuk mengaktifkan mouse clicked pada
tabel. Kemudian klik kanan pada tabel, pilih Event, pilih Mouse, pilih
MouseClicked. Setelah itu, ketikkan source program berikut :
int i=jTableTarifTindakan.getSelectedRow();
if (i>-1){
jTextKodeTindakan.setText(tabmode.getValueAt(i, 0). toString());
jTextNamaTindakan.setText(tabmode.getValueAt(i, 1). toString());
jTextTarifTindakan.setText(tabmode.getValueAt(i, 2). toString());
}
k. Kembali ke design frmTarifTindakan untuk mengaktifkan tombol keyword.
Kemudian klik kanan pada tombol , pilih Event, pilih Action, pilih
ActionPerformed lalu ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select * from
tarif_tindakan where kd_tindakan like '%"+
jTextKeyword.getText()+"%' or nm_tindakan like '%"+
jTextKeyword.getText()+"%' or tarif like '%"+
jTextKeyword.getText()+"%'");
while(rs.next()){
String[] data={rs.getString(1),rs.getString(2),rs.getString(3)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmObat.class.getName()).log(Level.SEVERE, null,
ex);
}
l. Kembali ke design frmTarifTindakan untuk mengaktifkan tombol keyword.
Kemudian klik kanan pada tombol , pilih Event, pilih Action, pilih
ActionPerformed lalu ketikkan source program berikut :
try {
int row=tabmode.getRowCount();

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 124
Windiarto Nugroho, Dewi Ekawati
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select * from
tarif_tindakan");
while(rs.next()){
String[] data={rs.getString(1),rs.getString(2),rs.getString(3)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
Logger.getLogger(frmObat.class.getName()).log(Level.SEVERE, null,
ex);
}
m. Panggil frmTarifTindakan pada frmUtama dengan klik kanan pada tombol Data
Obat, pilih Event, pilih Action, pilih Action Performed lalu ketikkan source
program berikut :
frmTarifTindakan tindakan=new frmTarifTindakan(this,false);
tindakan.setLocationRelativeTo(null);
tindakan.setVisible(true);
n. Coba jalankan programnya dengan menekan tombol F6. Sehingga hasil
programnya sebagai berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 125
Windiarto Nugroho, Dewi Ekawati
Gambar 3.14. Tampilan hasil program frmTarifTindakan

Keterangan :
- Setiap mengetikkan tiap kata source program gunakan Ctrl-Space supaya
tidak terjadi kesalahan dalam penulisan.
- Sesuaikan nama variable textfield masing-masing.
- Sesuaikan SQL dengan databasenya.
- Sesuaikan judul field tabel masing-masing.
- Jika pengkodingannya menggunakan copy-paste gunakan Ctrl-Space untuk
mengatasi error yang terjadi di setiap kata yang mengalami error.

8. Form Registrasi (coding tombol Simpan, Ganti, Hapus, Baru, Keluar, Keyword, Cari,
View Tabel beserta Mouse Clicked dan pemanggilan dari form utama)
a. Buka frmRegPeriksa, kemudian klik kanan pada tombol Simpan, pilih Event,
pilih Action, pilih Action Performed. Ketikkan source program berikut :
koneksiDB.insertData("reg_periksa","'"+TxtNoRawat.getText()+"','"+
jTextTglReg.getText()+"','"+
jTextJamReg.getText()+"','"+
jTextKdDokter.getText()+"','"+
jTextNoRkmMedis.getText()+"','"+
jTextNIP.getText()+"','"+

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 126
Windiarto Nugroho, Dewi Ekawati
jTextBiayaReg.getText()+"'");
b. Klik kanan pada tombol Ganti, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.editData("reg_periksa"," set
tgl_registrasi='"+jTextTglReg.getText()+"' ,jam_reg='"+
jTextJamReg.getText()+"' ,kd_dokter='"+
jTextKdDokter.getText()+"' ,no_rkm_medis='"+
jTextNoRkmMedis.getText()+"' ,nip='"+
jTextNIP.getText()+"' ,biaya_reg='"+
jTextBiayaReg.getText()+"' where no_rawat='"+
TxtNoRawat.getText()+"'");
c. Klik kanan pada tombol Hapus, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.hapusData("reg_periksa"," where
no_rawat='"+TxtNoRawat.getText()+"'");
tampil();
d. Klik kanan pada tombol Baru, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
TxtNip.setText("");
jTextNama.setText("");
jTextTmpLhr.setText("");
jTextTglLhr.setText("");
jTextAlm.setText("");
jTextPass.setText("");

e. Klik kanan pada tombol Keluar, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
dispose();
f. Untuk view tabel kembali ke source frmRegPeriksa bagian atas, ketikkan source
program DefaultTableModel tabmode;
private frmDokter dokter=new frmDokter(null, false);
private frmPasien pasien=new frmPasien(null, false);
private frmPetugas petugas=new frmPetugas(null, false);
di bawah source program public class frmRegPeriksa extends
javax.swing.JDialog { .
Kemudian di bawah source program public frmRegPeriksa(java.awt.Frame
parent, boolean modal) {
super(parent, modal);
ketikkan source program dan buat seperti pada source program berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 127
Windiarto Nugroho, Dewi Ekawati
String[] judul={"No.Rawat","Tgl Registrasi","Jam Reg.","Dokter
dituju","Nama Pasien","Petugas","Biaya Reg."};
tabmode=new DefaultTableModel(judul,0);
jTableRegPeriksa.setModel(tabmode);
tampil();
dokter.getdata().addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (dokter.getdata().getRowCount()!=-1){
jTextKdDokter.setText(dokter.getMode().getValueAt(
dokter.getdata().getSelectedRow(),0).toString());
jTextCariKdDokter2.setText(dokter.getMode().getValueAt(
dokter.getdata().getSelectedRow(),1).toString());
}
}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
});
pasien.getdata().addMouseListener(new MouseInputListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (dokter.getdata().getRowCount()!=-1){
jTextNoRkmMedis.setText(pasien.getMode().getValueAt(
pasien.getdata().getSelectedRow(),0).toString());
jTextCariNRM.setText(pasien.getMode().getValueAt(
pasien.getdata().getSelectedRow(),1).toString());
}
}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseReleased(MouseEvent e) {}
@Override

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 128
Windiarto Nugroho, Dewi Ekawati
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
@Override
public void mouseDragged(MouseEvent e) {}
@Override
public void mouseMoved(MouseEvent e) {}
});
petugas.getdata().addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (petugas.getdata().getRowCount()!=-1){
jTextNIP.setText(petugas.getMode().getValueAt(
petugas.getdata().getSelectedRow(),0).toString());
jTextCariNip.setText(petugas.getMode().getValueAt(
petugas.getdata().getSelectedRow(),1).toString());
}
}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
});
g. Di samping source tampil(); pasti ada icon error, icon error berwarna kuning dan
merah, kita klik kemudian pilih Create Method Tampil() in
javasip.frmRegPeriksa. Sehingga tampilan seperti berikut :

Gambar 3.15. Tampilan buat method tampil

h. Mulai membuat method tampil dengan mengetikkan source program berikut di


bawah source private void tampil() { : (di tabel ini terdapat relasi perhatikan
perintah SQL nya, karena akan berpengaruh pada saat view tabel)
int row=tabmode.getRowCount();

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 129
Windiarto Nugroho, Dewi Ekawati
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
try {
ResultSet rs=koneksiDB.condb().createStatement().executeQuery(
"select reg_periksa.no_rawat, reg_periksa.tgl_registrasi,
reg_periksa.jam_reg, dokter.nm_dokter, pasien.nm_pasien, petugas.nama,
reg_periksa.biaya_reg "+
"from reg_periksa inner join dokter on
reg_periksa.kd_dokter = dokter.kd_dokter inner join pasien on
reg_periksa.no_rkm_medis = pasien.no_rkm_medis inner join petugas on
reg_periksa.nip = petugas.nip");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
System.out.println(ex);
}
}
public JTable getdata(){
return jTableRegPeriksa;
}
public DefaultTableModel getMode() {
return tabmode;
}
i. Ketikkan method tampil(); di bawah source program simpan, ganti, dan hapus.
j. Kembali ke design frmRegPeriksa untuk mengaktifkan mouse clicked pada tabel.
Kemudian klik kanan pada tabel, pilih Event, pilih Mouse, pilih MouseClicked.
Setelah itu, ketikkan source program berikut :
int i=jTableRegPeriksa.getSelectedRow();
if (i>-1){
TxtNoRawat.setText(tabmode.getValueAt(i, 0). toString());
jTextTglReg.setText(tabmode.getValueAt(i, 1). toString());
jTextJamReg.setText(tabmode.getValueAt(i, 2). toString());
jTextCariKdDokter2.setText(tabmode.getValueAt(i, 3). toString());
jTextCariNRM.setText(tabmode.getValueAt(i, 4). toString());

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 130
Windiarto Nugroho, Dewi Ekawati
jTextCariNip.setText(tabmode.getValueAt(i, 5). toString());
jTextBiayaReg.setText(tabmode.getValueAt(i, 6). toString());
}
k. Kembali ke design frmRegPeriksa untuk mengaktifkan tombol keyword.
Kemudian klik kanan pada tombol , pilih Event, pilih Action, pilih
ActionPerformed lalu ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select
reg_periksa.no_rawat, reg_periksa.tgl_registrasi, reg_periksa.jam_reg,
dokter.nm_dokter, pasien.nm_pasien, petugas.nama, reg_periksa.biaya_reg
from reg_periksa inner join dokter on reg_periksa.kd_dokter =
dokter.kd_dokter inner join pasien on reg_periksa.no_rkm_medis =
pasien.no_rkm_medis inner join petugas on reg_periksa.nip = petugas.nip
where no_rawat like '%"+
jTextKeyword.getText()+"%' or reg_periksa.tgl_registrasi like
'%"+
jTextKeyword.getText()+"%' or reg_periksa.jam_reg like '%"+
jTextKeyword.getText()+"%' or dokter.nm_dokter like '%"+
jTextKeyword.getText()+"%' or pasien.nm_pasien like '%"+
jTextKeyword.getText()+"%' or petugas.nama like '%"+
jTextKeyword.getText()+"%' or biaya_reg like '%"+
jTextKeyword.getText()+"%'");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7)};
tabmode.addRow(data);
}
} catch (SQLException ex) {

Logger.getLogger(frmRegPeriksa.class.getName()).log(Level.SEVERE, null,
ex);
}

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 131
Windiarto Nugroho, Dewi Ekawati
l. Kembali ke design frmRegPeriksa untuk mengaktifkan tombol keyword.
Kemudian klik kanan pada tombol , pilih Event, pilih Action, pilih
ActionPerformed lalu ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select
reg_periksa.no_rawat, reg_periksa.tgl_registrasi, reg_periksa.jam_reg,
dokter.nm_dokter, pasien.nm_pasien, petugas.nama, reg_periksa.biaya_reg
"+
"from reg_periksa inner join dokter on
reg_periksa.kd_dokter = dokter.kd_dokter inner join pasien on
reg_periksa.no_rkm_medis = pasien.no_rkm_medis inner join petugas on
reg_periksa.nip = petugas.nip");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7)};
tabmode.addRow(data);
}
} catch (SQLException ex) {

Logger.getLogger(frmRegPeriksa.class.getName()).log(Level.SEVERE, null,
ex);
}
m. Membuat tombol cari pada relasi, yaitu berrelasi dengan tabel dokter, pasien dan
petugas.
- Klik kanan pada tombol di samping nama field dr Dituju, pilih Event,
pilih Action, pilih ActionPerformed lalu ketikkan source program berikut
untuk menampilkan form yang berelasi:
dokter.setLocationRelativeTo(null);
dokter.setVisible(true);
- Klik kanan pada tombol di samping nama field Pasien, pilih Event,
pilih Action, pilih ActionPerformed lalu ketikkan source program berikut
untuk menampilkan form yang berelasi:

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 132
Windiarto Nugroho, Dewi Ekawati
pasien.setLocationRelativeTo(null);
pasien.setVisible(true);
- Klik kanan pada tombol di samping nama field Petugas, pilih Event,
pilih Action, pilih ActionPerformed lalu ketikkan source program berikut
untuk menampilkan form yang berelasi:
petugas.setLocationRelativeTo(null);
petugas.setVisible(true);
n. Panggil frmRegPeriksa pada frmUtama dengan klik kanan pada tombol Data
Petugas, pilih Event, pilih Action, pilih Action Performed lalu ketikkan source
program berikut :
frmRegPeriksa periksa=new frmRegPeriksa(this,false);
periksa.setLocationRelativeTo(null);
periksa.setVisible(true);
o. Coba jalankan programnya dengan menekan tombol F6. Sehingga hasil
programnya sebagai berikut :

Gambar 3.16. Tampilan hasil program frmRegPeriksa

Keterangan :
- Setiap mengetikkan tiap kata source program gunakan Ctrl-Space supaya
tidak terjadi kesalahan dalam penulisan.
- Sesuaikan nama variable textfield masing-masing.
- Sesuaikan SQL dengan databasenya.
- Sesuaikan judul field tabel masing-masing.
- Jika pengkodingannya menggunakan copy-paste gunakan Ctrl-Space untuk
mengatasi error yang terjadi di setiap kata yang mengalami error.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 133
Windiarto Nugroho, Dewi Ekawati
9. Form Rawat Jalan (coding tombol Simpan, Ganti, Hapus, Baru, Keluar, Keyword,
Cari, View Tabel beserta Mouse Clicked dan pemanggilan dari form utama)
a. Buka frmTarifTimdakan, kemudian klik kanan pada tombol Simpan, pilih Event,
pilih Action, pilih Action Performed. Ketikkan source program berikut :
koneksiDB.insertData("rawat_jalan","'"+jTextNoRawat.getText()+"','"+
jTextDiagnosa.getText()+"','"+
jTextKdTindakan.getText()+"','"+
jTextKdDokter.getText()+"','"+
jTextSuhuTubuh.getText()+"','"+
jTextTensi.getText()+"','"+
jTextKeterangan.getText()+"','"+
jTextBiayaRawat.getText()+"'");
b. Klik kanan pada tombol Ganti, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.editData("rawat_jalan"," set
diagnosa='"+jTextDiagnosa.getText()+"' ,kd_tindakan='"+
jTextKdTindakan.getText()+"' ,kd_dokter='"+
jTextKdDokter.getText()+"' ,suhu_tubuh='"+
jTextSuhuTubuh.getText()+"' ,tensi='"+
jTextTensi.getText()+"' ,keterangan='"+
jTextKeterangan.getText()+"' ,biaya_rawat='"+
jTextBiayaRawat.getText()+"' where no_rawat='"+
jTextNoRawat.getText()+"'");
c. Klik kanan pada tombol Hapus, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.hapusData("rawat_jalan"," where
no_rawat='"+jTextNoRawat.getText()+"'");
d. Klik kanan pada tombol Baru, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
jTextNoRawat.setText("");
jTextCariRawat1.setText("");
jTextCariRawat2.setText("");
jTextDiagnosa.setText("");
jTextKdTindakan.setText("");
jTextTindakan.setText("");
jTextKdDokter.setText("");
jTextCariDokter.setText("");
jTextSuhuTubuh.setText("");
jTextTensi.setText("");

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 134
Windiarto Nugroho, Dewi Ekawati
jTextKeterangan.setText("");
jTextBiayaRawat.setText("");
e. Klik kanan pada tombol Keluar, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
dispose();
f. Untuk view tabel kembali ke source frmRawatJalan bagian atas, ketikkan source
program DefaultTableModel tabmode;
private frmRegPeriksa regperiksa=new frmRegPeriksa(null, false);
private frmTarifTindakan tindakan=new frmTarifTindakan(null, false);
private frmDokter dokter=new frmDokter(null, false);
di bawah source program public class frmRawatJalan extends
javax.swing.JDialog { .
Kemudian di bawah source program public frmRawatJalan(java.awt.Frame
parent, boolean modal) {
super(parent, modal);
ketikkan source program dan buat seperti pada source program berikut :
regperiksa.getdata().addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (regperiksa.getdata().getRowCount()!=-1){
jTextNoRawat.setText(regperiksa.getMode().getValueAt(
regperiksa.getdata().getSelectedRow(),0).toString());
jTextCariRawat1.setText(regperiksa.getMode().getValueAt(
regperiksa.getdata().getSelectedRow(),1).toString());
jTextCariRawat2.setText(regperiksa.getMode().getValueAt(
regperiksa.getdata().getSelectedRow(),5).toString());
}
}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
});
tindakan.getdata().addMouseListener(new MouseListener() {
@Override

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 135
Windiarto Nugroho, Dewi Ekawati
public void mouseClicked(MouseEvent e) {
if (tindakan.getdata().getRowCount()!=-1){
jTextKdTindakan.setText(tindakan.getMode().getValueAt(
tindakan.getdata().getSelectedRow(),0).toString());
jTextTindakan.setText(tindakan.getMode().getValueAt(
tindakan.getdata().getSelectedRow(),1).toString());
}
}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
});
dokter.getdata().addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (dokter.getdata().getRowCount()!=-1){
jTextKdDokter.setText(dokter.getMode().getValueAt(
dokter.getdata().getSelectedRow(),0).toString());
jTextCariDokter .setText(dokter.getMode().getValueAt(
dokter.getdata().getSelectedRow(),1).toString());
}
}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
});
g. Di samping source tampil(); pasti ada icon error, icon error berwarna kuning dan
merah, kita klik kemudian pilih Create Method Tampil() in
javasip.frmRawatJalan. Sehingga tampilan seperti berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 136
Windiarto Nugroho, Dewi Ekawati
Gambar 3.17. Tampilan buat method tampil

h. Mulai membuat method tampil dengan mengetikkan source program berikut di


bawah source private void tampil() { : (di tabel ini terdapat relasi perhatikan
perintah SQL nya, karena akan berpengaruh pada saat view tabel)
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
try {
ResultSet rs=koneksiDB.condb().createStatement().executeQuery(
"select reg_periksa.no_rawat, reg_periksa.tgl_registrasi,
pasien.nm_pasien, rawat_jalan.diagnosa, tarif_tindakan.kd_tindakan,
tarif_tindakan.nm_tindakan, dokter.kd_dokter, dokter.nm_dokter,
rawat_jalan.suhu_tubuh, rawat_jalan.tensi, rawat_jalan.keterangan,
rawat_jalan.biaya_rawat "+
"from rawat_jalan inner join reg_periksa on
reg_periksa.no_rawat = rawat_jalan.no_rawat inner join tarif_tindakan on
tarif_tindakan.kd_tindakan = rawat_jalan.kd_tindakan inner join dokter on
dokter.kd_dokter = rawat_jalan.kd_dokter inner join pasien on
pasien.no_rkm_medis = reg_periksa.no_rkm_medis");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getStrin
g(10),rs.getString(11),rs.getString(12)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
System.out.println(ex);
}
}
public JTable getdata(){
return jTableRawatJalan;
}
public DefaultTableModel getMode() {

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 137
Windiarto Nugroho, Dewi Ekawati
return tabmode;
}
i. Ketikkan method tampil(); di bawah source program simpan, ganti, dan hapus.
j. Kembali ke design frmRawatJalan untuk mengaktifkan mouse clicked pada tabel.
Kemudian klik kanan pada tabel, pilih Event, pilih Mouse, pilih MouseClicked.
Setelah itu, ketikkan source program berikut :
int i=jTableRawatJalan.getSelectedRow();
if (i>-1){
jTextNoRawat.setText(tabmode.getValueAt(i, 0). toString());
jTextCariRawat1.setText(tabmode.getValueAt(i, 1). toString());
jTextCariRawat2.setText(tabmode.getValueAt(i, 2). toString());
jTextDiagnosa.setText(tabmode.getValueAt(i, 3). toString());
jTextKdTindakan.setText(tabmode.getValueAt(i, 4). toString());
jTextTindakan.setText(tabmode.getValueAt(i, 5). toString());
jTextKdDokter.setText(tabmode.getValueAt(i, 6). toString());
jTextCariDokter.setText(tabmode.getValueAt(i, 7). toString());
jTextSuhuTubuh.setText(tabmode.getValueAt(i, 8). toString());
jTextTensi.setText(tabmode.getValueAt(i, 9). toString());
jTextKeterangan.setText(tabmode.getValueAt(i, 10). toString());
jTextBiayaRawat.setText(tabmode.getValueAt(i, 11). toString());
}
k. Kembali ke design frmRawatJalan untuk mengaktifkan tombol keyword.
Kemudian klik kanan pada tombol , pilih Event, pilih Action, pilih
ActionPerformed lalu ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select
reg_periksa.no_rawat, reg_periksa.tgl_registrasi, pasien.nm_pasien,
rawat_jalan.diagnosa, tarif_tindakan.kd_tindakan,
tarif_tindakan.nm_tindakan, dokter.kd_dokter, dokter.nm_dokter,
rawat_jalan.suhu_tubuh, rawat_jalan.tensi, rawat_jalan.keterangan,
rawat_jalan.biaya_rawat from rawat_jalan inner join reg_periksa on
reg_periksa.no_rawat = rawat_jalan.no_rawat inner join tarif_tindakan on
tarif_tindakan.kd_tindakan = rawat_jalan.kd_tindakan inner join dokter on
dokter.kd_dokter = rawat_jalan.kd_dokter inner join pasien on
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 138
Windiarto Nugroho, Dewi Ekawati
pasien.no_rkm_medis = reg_periksa.no_rkm_medis where
reg_periksa.no_rawat like '%"+
jTextKeyword.getText()+"%' or reg_periksa.tgl_registrasi like
'%"+
jTextKeyword.getText()+"%' or pasien.nm_pasien like '%"+
jTextKeyword.getText()+"%' or rawat_jalan.diagnosa like '%"+
jTextKeyword.getText()+"%' or tarif_tindakan.kd_tindakan like
'%"+
jTextKeyword.getText()+"%' or tarif_tindakan.nm_tindakan
like '%"+
jTextKeyword.getText()+"%' or dokter.kd_dokter like '%"+
jTextKeyword.getText()+"%' or dokter.nm_dokter like '%"+
jTextKeyword.getText()+"%' or rawat_jalan.suhu_tubuh like
'%"+
jTextKeyword.getText()+"%' or rawat_jalan.tensi like '%"+
jTextKeyword.getText()+"%' or rawat_jalan.keterangan like
'%"+
jTextKeyword.getText()+"%' or rawat_jalan.biaya_rawat like
'%"+
jTextKeyword.getText()+"%'");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getStrin
g(10),rs.getString(11),rs.getString(12)};
tabmode.addRow(data);
}
} catch (SQLException ex) {

Logger.getLogger(frmPemberianObat.class.getName()).log(Level.SEVERE,
null, ex);
}
l. Kembali ke design frmRawatJalan untuk mengaktifkan tombol keyword.
Kemudian klik kanan pada tombol , pilih Event, pilih Action, pilih
ActionPerformed lalu ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 139
Windiarto Nugroho, Dewi Ekawati
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select
reg_periksa.no_rawat, reg_periksa.tgl_registrasi, pasien.nm_pasien,
rawat_jalan.diagnosa, tarif_tindakan.kd_tindakan,
tarif_tindakan.nm_tindakan, dokter.kd_dokter, dokter.nm_dokter,
rawat_jalan.suhu_tubuh, rawat_jalan.tensi, rawat_jalan.keterangan,
rawat_jalan.biaya_rawat "+
"from rawat_jalan inner join reg_periksa on
reg_periksa.no_rawat = rawat_jalan.no_rawat inner join tarif_tindakan on
tarif_tindakan.kd_tindakan = rawat_jalan.kd_tindakan inner join dokter on
dokter.kd_dokter = rawat_jalan.kd_dokter inner join pasien on
pasien.no_rkm_medis = reg_periksa.no_rkm_medis");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getStrin
g(10),rs.getString(11),rs.getString(12)};
tabmode.addRow(data);
}
} catch (SQLException ex) {

Logger.getLogger(frmPemberianObat.class.getName()).log(Level.SEVERE,
null, ex);
}
m. Membuat tombol cari pada relasi, yaitu berrelasi dengan tabel registrasi periksa,
dokter, dan tindakan.
- Klik kanan pada tombol di samping nama field No Rawat, pilih Event,
pilih Action, pilih ActionPerformed lalu ketikkan source program berikut
untuk menampilkan form yang berelasi:
regperiksa.setLocationRelativeTo(null);
regperiksa.setVisible(true);
- Klik kanan pada tombol di samping nama field Dokter, pilih Event,
pilih Action, pilih ActionPerformed lalu ketikkan source program berikut
untuk menampilkan form yang berelasi:
dokter.setLocationRelativeTo(null);
dokter.setVisible(true);

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 140
Windiarto Nugroho, Dewi Ekawati
- Klik kanan pada tombol di samping nama field Tindakan Dokter, pilih
Event, pilih Action, pilih ActionPerformed lalu ketikkan source program
berikut untuk menampilkan form yang berelasi:
tindakan.setLocationRelativeTo(null);
tindakan.setVisible(true);
n. Panggil frmRawatJalan pada frmUtama dengan klik kanan pada tombol Data
Petugas, pilih Event, pilih Action, pilih Action Performed lalu ketikkan source
program berikut :
frmRawatJalan rawat=new frmRawatJalan(this,false);
rawat.setLocationRelativeTo(null);
rawat.setVisible(true);
o. Coba jalankan programnya dengan menekan tombol F6. Sehingga hasil
programnya sebagai berikut :
ogram

Gambar 3.18. Tampilan hasil program frmRawatJalan

Keterangan :
- Setiap mengetikkan tiap kata source program gunakan Ctrl-Space supaya
tidak terjadi kesalahan dalam penulisan.
- Sesuaikan nama variable textfield masing-masing.
- Sesuaikan SQL dengan databasenya.
- Sesuaikan judul field tabel masing-masing.
- Jika pengkodingannya menggunakan copy-paste gunakan Ctrl-Space untuk
mengatasi error yang terjadi di setiap kata yang mengalami error.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 141
Windiarto Nugroho, Dewi Ekawati
10. Form Pemberian Obat (coding tombol Simpan, Ganti, Hapus, Baru, Keluar, Keyword,
Cari, View Tabel beserta Mouse Clicked dan pemanggilan dari form utama)
a. Buka frmPemberianObat, kemudian klik kanan pada tombol Simpan, pilih Event,
pilih Action, pilih Action Performed. Ketikkan source program berikut :
koneksiDB.insertData("pemberian_obat","'"+jTextNoRawat.getText()+"','"
+
jTextDiagnosa.getText()+"','"+
jTextKdObat.getText()+"','"+
jTextBiayaObat.getText()+"','"+
jTextJumlah.getText()+"','"+
jTextTambahan.getText()+"','"+
jTextTotal.getText()+"'");
b. Klik kanan pada tombol Ganti, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.editData("pemberian_obat"," set
kode_obat='"+jTextKdObat.getText()+"' ,diagnosa='"+
jTextDiagnosa.getText()+"' ,biaya_obat='"+
jTextBiayaObat.getText()+"' ,jml='"+
jTextJumlah.getText()+"' ,tambahan='"+
jTextTambahan.getText()+"' ,total='"+
jTextTotal.getText()+"' where no_rawat='"+
jTextNoRawat.getText()+"'");
c. Klik kanan pada tombol Hapus, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.hapusData("pemberian_obat"," where
pemberian_obat.no_rawat='"+jTextNoRawat+"' and
pemberian_obat.kode_obat='"+jTextKdObat+"'");
d. Klik kanan pada tombol Baru, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
jTextNoRawat.setText("");
jTextCariRawat1.setText("");
jTextCariRawat2.setText("");
jTextDiagnosa.setText("");
jTextKdObat.setText("");
jTextCariObat.setText("");
jTextBiayaObat.setText("");
jTextJumlah.setText("");
jTextTambahan.setText("");
jTextTotal.setText("");

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 142
Windiarto Nugroho, Dewi Ekawati
e. Klik kanan pada tombol Keluar, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
dispose();
f. Untuk view tabel kembali ke source frmPemberianObat bagian atas, ketikkan
source program DefaultTableModel tabmode;
private frmRegPeriksa regperiksa=new frmRegPeriksa(null, false);
private frmObat obat=new frmObat(null, false);
di bawah source program public class frmPemberianObat extends
javax.swing.JDialog { .
Kemudian di bawah source program public
frmPemberianObat(java.awt.Frame parent, boolean modal) {
super(parent, modal);
ketikkan source program dan buat seperti pada source program berikut :
regperiksa.getdata().addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (regperiksa.getdata().getRowCount()!=-1){
jTextNoRawat.setText(regperiksa.getMode().getValueAt(
regperiksa.getdata().getSelectedRow(),0).toString());
jTextCariRawat1.setText(regperiksa.getMode().getValueAt(
regperiksa.getdata().getSelectedRow(),1).toString());
jTextCariRawat2.setText(regperiksa.getMode().getValueAt(
regperiksa.getdata().getSelectedRow(),5).toString());
}
}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
});
obat.getdata().addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (obat.getdata().getRowCount()!=-1){
jTextKdObat.setText(obat.getMode().getValueAt(

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 143
Windiarto Nugroho, Dewi Ekawati
obat.getdata().getSelectedRow(),0).toString());
jTextCariObat.setText(obat.getMode().getValueAt(
obat.getdata().getSelectedRow(),1).toString());
jTextBiayaObat.setText(obat.getMode().getValueAt(
obat.getdata().getSelectedRow(),2).toString());
}
}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
});
g. Di samping source tampil(); pasti ada icon error, icon error berwarna kuning dan
merah, kita klik kemudian pilih Create Method Tampil() in
javasip.frmPemberianObat. Sehingga tampilan seperti berikut :

Gambar 3.19. Tampilan buat method tampil

h. Mulai membuat method tampil dengan mengetikkan source program berikut di


bawah source private void tampil() { : (di tabel ini terdapat relasi perhatikan
perintah SQL nya, karena akan berpengaruh pada saat view tabel)
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
try {
ResultSet rs=koneksiDB.condb().createStatement().executeQuery(
"select reg_periksa.tgl_registrasi, pemberian_obat.no_rawat,
pasien.nm_pasien, pemberian_obat.diagnosa, pemberian_obat.kode_obat,
obat.nama_obat, pemberian_obat.biaya_obat, pemberian_obat.jml,
pemberian_obat.tambahan, pemberian_obat.total "+
"from pemberian_obat inner join reg_periksa on
reg_periksa.no_rawat = pemberian_obat.no_rawat inner join obat on

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 144
Windiarto Nugroho, Dewi Ekawati
obat.kode_obat = pemberian_obat.kode_obat inner join pasien on
pasien.no_rkm_medis = reg_periksa.no_rkm_medis");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getStrin
g(10)};
tabmode.addRow(data);
}
} catch (SQLException ex) {
System.out.println(ex);
}
}
public JTable getdata(){
return jTableBeriObat;
}
public DefaultTableModel getMode() {
return tabmode;
}
i. Ketikkan method tampil(); di bawah source program simpan, ganti, dan hapus.
j. Kembali ke design frmPemberianObat untuk mengaktifkan mouse clicked pada
tabel. Kemudian klik kanan pada tabel, pilih Event, pilih Mouse, pilih
MouseClicked. Setelah itu, ketikkan source program berikut :
int i=jTableBeriObat.getSelectedRow();
if (i>-1){
jTextCariRawat1.setText(tabmode.getValueAt(i, 0). toString());
jTextNoRawat.setText(tabmode.getValueAt(i, 1). toString());
jTextCariRawat2.setText(tabmode.getValueAt(i, 2). toString());
jTextDiagnosa.setText(tabmode.getValueAt(i, 3). toString());
jTextKdObat.setText(tabmode.getValueAt(i, 4). toString());
jTextCariObat.setText(tabmode.getValueAt(i, 5). toString());
jTextBiayaObat.setText(tabmode.getValueAt(i, 6). toString());
jTextJumlah.setText(tabmode.getValueAt(i, 7). toString());
jTextTambahan.setText(tabmode.getValueAt(i, 8). toString());
jTextTotal.setText(tabmode.getValueAt(i, 9). toString());
}
k. Kembali ke design frmPemberianObat untuk mengaktifkan tombol keyword.
Kemudian klik kanan pada tombol , pilih Event, pilih Action, pilih
ActionPerformed lalu ketikkan source program berikut :
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 145
Windiarto Nugroho, Dewi Ekawati
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select
reg_periksa.tgl_registrasi, pemberian_obat.no_rawat, pasien.nm_pasien,
pemberian_obat.diagnosa, pemberian_obat.kode_obat, obat.nama_obat,
pemberian_obat.biaya_obat, pemberian_obat.jml,
pemberian_obat.tambahan, pemberian_obat.total from pemberian_obat
inner join reg_periksa on reg_periksa.no_rawat = pemberian_obat.no_rawat
inner join obat on obat.kode_obat = pemberian_obat.kode_obat inner join
pasien on pasien.no_rkm_medis = reg_periksa.no_rkm_medis where
reg_periksa.tgl_registrasi like '%"+
jTextKeyword.getText()+"%' or pemberian_obat.no_rawat like
'%"+
jTextKeyword.getText()+"%' or pasien.nm_pasien like '%"+
jTextKeyword.getText()+"%' or pemberian_obat.diagnosa like
'%"+
jTextKeyword.getText()+"%' or obat.nama_obat like '%"+
jTextKeyword.getText()+"%' or pemberian_obat.biaya_obat like
'%"+
jTextKeyword.getText()+"%' or pemberian_obat.jml like '%"+
jTextKeyword.getText()+"%' or pemberian_obat.tambahan like
'%"+
jTextKeyword.getText()+"%' or pemberian_obat.total like '%"+
jTextKeyword.getText()+"%'");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getStrin
g(10)};
tabmode.addRow(data);
}
} catch (SQLException ex) {

Logger.getLogger(frmPemberianObat.class.getName()).log(Level.SEVERE,
null, ex);

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 146
Windiarto Nugroho, Dewi Ekawati
}
l. Kembali ke design frmPemberianObat untuk mengaktifkan tombol keyword.
Kemudian klik kanan pada tombol , pilih Event, pilih Action, pilih
ActionPerformed lalu ketikkan source program berikut :
try {
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
ResultSet
rs=koneksiDB.condb().createStatement().executeQuery("select
reg_periksa.tgl_registrasi, pemberian_obat.no_rawat, pasien.nm_pasien,
pemberian_obat.diagnosa, pemberian_obat.kode_obat, obat.nama_obat,
pemberian_obat.biaya_obat, pemberian_obat.jml,
pemberian_obat.tambahan, pemberian_obat.total "+
"from pemberian_obat inner join reg_periksa on
reg_periksa.no_rawat = pemberian_obat.no_rawat inner join obat on
obat.kode_obat = pemberian_obat.kode_obat inner join pasien on
pasien.no_rkm_medis = reg_periksa.no_rkm_medis");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getStrin
g(10)};
tabmode.addRow(data);
}
} catch (SQLException ex) {

Logger.getLogger(frmPemberianObat.class.getName()).log(Level.SEVERE,
null, ex);
}
m. Membuat tombol cari pada relasi, yaitu berrelasi dengan tabel registrasi periksa
dan Obat.
- Klik kanan pada tombol di samping nama field No Rawat, pilih Event,
pilih Action, pilih ActionPerformed lalu ketikkan source program berikut
untuk menampilkan form yang berelasi:
regperiksa.setLocationRelativeTo(null);
regperiksa.setVisible(true);

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 147
Windiarto Nugroho, Dewi Ekawati
- Klik kanan pada tombol di samping nama field Obat, pilih Event, pilih
Action, pilih ActionPerformed lalu ketikkan source program berikut untuk
menampilkan form yang berelasi:
obat.setLocationRelativeTo(null);
obat.setVisible(true);
n. Panggil frmPemberianObat pada frmUtama dengan klik kanan pada tombol Data
Petugas, pilih Event, pilih Action, pilih Action Performed lalu ketikkan source
program berikut :
frmPemberianObat rawat=new frmPemberianObat(this,false);
rawat.setLocationRelativeTo(null);
rawat.setVisible(true);
o. Coba jalankan programnya dengan menekan tombol F6. Sehingga hasil
programnya sebagai berikut :

Gambar 3.20. Tampilan hasil program frmPemberianObat

Keterangan :
- Setiap mengetikkan tiap kata source program gunakan Ctrl-Space supaya
tidak terjadi kesalahan dalam penulisan.
- Sesuaikan nama variable textfield masing-masing.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 148
Windiarto Nugroho, Dewi Ekawati
- Sesuaikan SQL dengan databasenya.
- Sesuaikan judul field tabel masing-masing.
- Jika pengkodingannya menggunakan copy-paste gunakan Ctrl-Space untuk
mengatasi error yang terjadi di setiap kata yang mengalami error.

11. Form Pembayaran (coding tombol Simpan, Ganti, Hapus, Baru, Keluar, Keyword,
Cari, View Tabel beserta Mouse Clicked dan pemanggilan dari form utama)
a. Buka frmPembayaran, kemudian klik kanan pada tombol Simpan, pilih Event,
pilih Action, pilih Action Performed. Ketikkan source program berikut :
koneksiDB.insertData("pembayaran","'"+jTextNoIndex.getText()+"','"+
jTextNoRawat.getText()+"','"+
jTextTglBayar.getText()+"','"+
jTextNomor.getText()+"','"+
jTextNamaBayar.getText()+"','"+
jTextPemisah.getText()+"','"+
jTextBiaya.getText()+"','"+
jTextJml.getText()+"','"+
jTextTambahan.getText()+"','"+
jTextTotalBiaya.getText()+"','"+
jComboStatus.getSelectedItem()+"'");
b. Klik kanan pada tombol Ganti, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.editData("pembayaran"," set
no_rawat='"+jTextNoRawat.getText()+"' ,tgl_bayar='"+
jTextTglBayar.getText()+"' ,no='"+
jTextNomor.getText()+"' ,nm_bayar='"+
jTextNamaBayar.getText()+"' ,pemisah='"+
jTextPemisah.getText()+"' ,biaya='"+
jTextBiaya.getText()+"' ,jumlah='"+
jTextJml.getText()+"' ,tambahan='"+
jTextTambahan.getText()+"' ,totalbiaya='"+
jTextTotalBiaya.getText()+"' ,status='"+
jComboStatus.getSelectedItem()+"' where no_index='"+
jTextNoIndex.getText()+"'");
c. Klik kanan pada tombol Hapus, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
koneksiDB.hapusData("pembayaran"," where
no_index='"+jTextNoIndex.getText()+"'");

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 149
Windiarto Nugroho, Dewi Ekawati
d. Klik kanan pada tombol Baru, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
jTextNoIndex.setText("");
jTextNoRawat.setText("");
jTextCariRawat1.setText("");
jTextCariRawat2.setText("");
jTextTglBayar.setText("");
jTextNomor.setText("");
jTextNamaBayar.setText("");
jTextPemisah.setText("");
jTextBiaya.setText("");
jTextJml.setText("");
jTextTambahan.setText("");
jTextTotalBiaya.setText("");
e. Klik kanan pada tombol Keluar, pilih Event, pilih Action, pilih Action Performed.
Ketikkan source program berikut :
dispose();
f. Untuk view tabel kembali ke source frmPembayaran bagian atas, ketikkan source
program DefaultTableModel tabmode;
private frmRegPeriksa regperiksa=new frmRegPeriksa(null, false);di bawah
source program public class frmPembayaran extends javax.swing.JDialog { .
Kemudian di bawah source program public frmPembayaran(java.awt.Frame
parent, boolean modal) {
super(parent, modal);
ketikkan source program dan buat seperti pada source program berikut :
regperiksa.getdata().addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (regperiksa.getdata().getRowCount()!=-1){
jTextNoRawat.setText(regperiksa.getMode().getValueAt(
regperiksa.getdata().getSelectedRow(),0).toString());
jTextCariRawat1.setText(regperiksa.getMode().getValueAt(
regperiksa.getdata().getSelectedRow(),1).toString());
jTextCariRawat2.setText(regperiksa.getMode().getValueAt(
regperiksa.getdata().getSelectedRow(),5).toString());
}
}
@Override
public void mousePressed(MouseEvent e) {}

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 150
Windiarto Nugroho, Dewi Ekawati
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
});
g. Di samping source tampil(); pasti ada icon error, icon error berwarna kuning dan
merah, kita klik kemudian pilih Create Method Tampil() in
javasip.frmPembayaran. Sehingga tampilan seperti berikut :

Gambar 3.21. Tampilan buat method tampil

h. Mulai membuat method tampil dengan mengetikkan source program berikut di


bawah source private void tampil() { : (di tabel ini terdapat relasi perhatikan
perintah SQL nya, karena akan berpengaruh pada saat view tabel)
int row=tabmode.getRowCount();
for (int i=0;i<row;i++){
tabmode.removeRow(0);
}
try {
ResultSet rs=koneksiDB.condb().createStatement().executeQuery(
"select pembayaran.no_index, reg_periksa.no_rawat,
reg_periksa.tgl_registrasi, pasien.nm_pasien, pembayaran.tgl_bayar,
pembayaran.no, pembayaran.nm_bayar, pembayaran.pemisah,
pembayaran.biaya, pembayaran.jumlah, pembayaran.tambahan,
pembayaran.totalbiaya, pembayaran.status "+
"from pembayaran inner join reg_periksa on
reg_periksa.no_rawat = pembayaran.no_rawat inner join pasien on
pasien.no_rkm_medis = reg_periksa.no_rkm_medis");
while(rs.next()){
String[]
data={rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getStri
ng(5),rs.getString(6),rs.getString(7),rs.getString(8),rs.getString(9),rs.getStrin
g(10),rs.getString(11),rs.getString(12),rs.getString(13)};
tabmode.addRow(data);
}

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 151
Windiarto Nugroho, Dewi Ekawati
} catch (SQLException ex) {
System.out.println(ex);
}
}
public JTable getdata(){
return jTableBayar;
}
public DefaultTableModel getMode() {
return tabmode;
}
i. Ketikkan method tampil(); di bawah source program simpan, ganti, dan hapus.
j. Kembali ke design frmPembayaran untuk mengaktifkan mouse clicked pada tabel.
Kemudian klik kanan pada tabel, pilih Event, pilih Mouse, pilih MouseClicked.
Setelah itu, ketikkan source program berikut :
int i=jTableBayar.getSelectedRow();
if (i>-1){
jTextNoIndex.setText(tabmode.getValueAt(i, 0). toString());
jTextNoRawat.setText(tabmode.getValueAt(i, 1). toString());
jTextCariRawat1.setText(tabmode.getValueAt(i, 2). toString());
jTextCariRawat2.setText(tabmode.getValueAt(i, 3). toString());
jTextTglBayar.setText(tabmode.getValueAt(i, 4). toString());
jTextNomor.setText(tabmode.getValueAt(i, 5). toString());
jTextNamaBayar.setText(tabmode.getValueAt(i, 6). toString());
jTextPemisah.setText(tabmode.getValueAt(i, 7). toString());
jTextBiaya.setText(tabmode.getValueAt(i, 8). toString());
jTextJml.setText(tabmode.getValueAt(i, 9). toString());
jTextTambahan.setText(tabmode.getValueAt(i, 10). toString());
jTextTotalBiaya.setText(tabmode.getValueAt(i, 11). toString());
jComboStatus.setSelectedItem(tabmode.getValueAt(i, 12). toString());
}
k. Membuat tombol cari pada relasi, yaitu berrelasi dengan tabel registrasi periksa.
- Klik kanan pada tombol di samping nama field No Rawat, pilih Event,
pilih Action, pilih ActionPerformed lalu ketikkan source program berikut
untuk menampilkan form yang berelasi:
regperiksa.setLocationRelativeTo(null);
regperiksa.setVisible(true);
l. Panggil frmPembayaran pada frmUtama dengan klik kanan pada tombol Data
Petugas, pilih Event, pilih Action, pilih Action Performed lalu ketikkan source
program berikut :
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 152
Windiarto Nugroho, Dewi Ekawati
frmPembayaran rawat=new frmPembayaran(this,false);
rawat.setLocationRelativeTo(null);
rawat.setVisible(true);
m. Coba jalankan programnya dengan menekan tombol F6. Sehingga hasil
programnya sebagai berikut :

Gambar 3.22. Tampilan hasil Program frmPembayaran

Keterangan :
- Setiap mengetikkan tiap kata source program gunakan Ctrl-Space supaya
tidak terjadi kesalahan dalam penulisan.
- Sesuaikan nama variable textfield masing-masing.
- Sesuaikan SQL dengan databasenya.
- Sesuaikan judul field tabel masing-masing.
- Jika pengkodingannya menggunakan copy-paste gunakan Ctrl-Space untuk
mengatasi error yang terjadi di setiap kata yang mengalami error.

B. Instal dan membuat form laporan menggunakan iReport di tombol cetak.


Sebelum kita membuat Form nya, tentunya kita menginstal iReport nya dahulu di netbeans
yang kita gunakan. Cara membuatnya :
1. Tentunya kita buka dahulu netbeans kita. Kemudian kita install dahulu iReport klik menu
Tools – pilih Plugins.

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 153
Windiarto Nugroho, Dewi Ekawati
Gambar 4.1

Sehingga akan muncul tampilan seperti berikut :

Gambar 4.2
Kemudian kita pilih Download – klik Add Plugins, ambil atau download software
iReport nya,

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 154
Windiarto Nugroho, Dewi Ekawati
Gambar 4.3
Klik install dan ikuti proses instalnya dengan klik Next sampai Finish. Sebelum
melanjutkan membuat form Laporannya baiknyakita restart dahulu.
1. Untuk memulai membuat Laporannya, kita buka salah satu form dahulu. Misalnya di sini
kita akan membuat laporan pada from Dokter.
- Klik File – klik kanan Report - pilih New – pilih Other sehingga muncul tampilan
sebagai berikut :

Gambar 4.5

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 155
Windiarto Nugroho, Dewi Ekawati
Gambar 4.6
Klik Next

Gambar 4.7
Klik Next

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 156
Windiarto Nugroho, Dewi Ekawati
Gambar 4.8
Klik New

Gambar 4.9
Pilih Database JDBC connection – klik Next – isi field Name, Server Address,
Database dan Username nya seperti tampilan di bawah.
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 157
Windiarto Nugroho, Dewi Ekawati
Gambar 4.10
Klik Wizard – klik Test – klik Ok – klik Ok - klik Save, pada kolom Query (SQL)
ketikkan select * from doter.

Gambar 4.11

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 158
Windiarto Nugroho, Dewi Ekawati
Klik Next – klik Back – klik Next – Klik Ok – klik Next sehingga muncul tampilan
berikut :

Gambar 4.12
Klik icon >> - klik Next

Gambar 4.13
Klik Next – Pilih Button ke-2

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 159
Windiarto Nugroho, Dewi Ekawati
Gambar 4.14
Klik Finish, sehingga akan muncul tampilan berikut :

Gambar 4.15
Klik Preview untuk melihat hasil laporannya, sehingga akanmuncul tampilan :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 160
Windiarto Nugroho, Dewi Ekawati
Gambar 4.16

2. Buka form Dokter atau form yang akan kita aktifkan tombol cetaknya. Kemudian
klik kanan – pilih Events – pilih actionPerformed. Ketikkan :
try {
Connection
koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/medica
","root","");
JasperReport
Jrpt=JasperCompileManager.compileReport("./report/ReportDokter.jrxml")
;
JasperPrint jsp=JasperFillManager.fillReport(Jrpt, new
HashMap<Object, Object>(),koneksi);
JasperViewer view=new JasperViewer(jsp,false);
view.setFitPageZoomRatio();
view.setVisible(true);
} catch (JRException ex) {
Logger.getLogger(frmDokter.class.getName()).log(Level.SEVERE,
null, ex);
} catch (SQLException ex) {
Logger.getLogger(frmDokter.class.getName()).log(Level.SEVERE,
null, ex);
}
Sehingga tampilan sorce program seperti berikut :

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 161
Windiarto Nugroho, Dewi Ekawati
Gambar 4.17

Lakukan dengan cara yang sama untuk membuat semua laporan yang akan dibuat dan
coba jalankan dengan menekan tombol F9.

PENUTUP

Demikian yang dapat kami berikan mengenai pembuatan Modul Pembuatan Aplikasi
Rekam Medis Dengan Bahasa Pemrograman Java ini, tentunya masih banyak kekurangan dan
kelemahannya, kerena terbatasnya pengetahuan dan kurangnya rujukan atau referensi yang ada.
Kami banyak berharap para pembaca yang budiman sudi memberikan kritik dan saran
yang membangun kepada kami demi sempurnanya Modul Ini sehingga bisa digunakan sebagai
landasan/panduan bagi teman-teman di jurusan Rekam Medis atau Sistem Informasi Kesehatan.
Karena kami melihat begitu minimnya modul/buku yang kami jumpai dikarenakan jurusan ini
masih tergolong baru di perguruan-perguruan tinggi

Yogyakarta, February 2014

Penyusun

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 162
Windiarto Nugroho, Dewi Ekawati
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Irnawati, 163
Windiarto Nugroho, Dewi Ekawati
DAFTAR PUSTAKA
Hartono, Jogiyanto, MBA, Ph.D. Analisa Dan Desain Sistem Informasi: Pendekatan Terstruktur
Praktek Aplikasi Bisnis. Yogyakarta: Andi Offset, 1990.
Ir. Fathansyah, Basis Data. Bandung : Informatiika Bandung : 2004.

Kristanto, Andri. Perancangan Sistem Informasi dan Aplikasinya. Yogyakarta: Gava Media,
2003.
Nugroho, Bunafit. Databases Relasional dengan MySQL, Yogyakarta : Andi Offset : 2005.

Sanjaya, Ridwan, SE.,S.Kom. Pengolahan Database MySQL 5 dengan Java 2. Yogyakarta : Andi
Offset : 2005.

http://septilia.wordpress.com/2009/03/12/pengantar-sistem-informasi/

Rustiyanto, Ery. Sistem Informasi Manajemen Rumah Sakit yang Terintegrasi, Yogyakarta :
Gosyen Publising : 2010.

Direktorat Jenderal Bina Pelayanan Medik. Pedoman Penyelenggaraan dan Pengelolaan Rekam
Medis Rumah sakit Revisi II. Departemen Kesehatan RI : 2006.

http://www.master.web.id/mwmag/issue/04/content/tutorial-java-1/tutorial-java-1.html

http://dedenwahyudin.files.wordpress.com/2012/07/laporantugas2java.pdf

http://dev.mysql.com/doc/refman/5.0/en
https://netbeans.org/

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Fita PS, 134
Irnawati, Rini H
Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan | Oleh : Fita PS, 134
Irnawati, Rini H
LAMPIRAN
Profil Pembuat Buku Ini
Dewi Ekawati, S.Km

Lulusan STIKES Suraya Global Yogyakarta jurusan


Sistem Informasi Kesehatan. Saat ini bekerja sebagai
konsultan rekam medis dalam pengembangan SIM RS
di Software House Khanza.Soft Media pada software
Khanza Hospital Management System yang saat ini
dikembangkan di beberapa rumah sakit di anataranya di
RS Amal Sehat Wonogiri, RSKIA Sadewa Babarsari,
RS Pelita Insani Martapura, dll. Selain itu juga
pengembang Software Ekasoft Klinik yaitu software
rekam medis untuk klinik rawat jalan yang
dikembangkan dengan bahasa pemrograman java dan
database MySQL, dan juga sebagai freelance dalam
pengembangan aplikasi sistem informasi kesehatan

Windiarto Nugroho, S.Kom/ Mas Khanza/Abizia Ul


Haq

Lulusan STMIK El Rahma Yogyakarta, Saat ini


mengajar di SMK Kesehatan Sadewa Babarsari, Selain
itu juga sebagai staff pengajar di STMIK EL Rahma
yogyakarta, pernah juga sebagai pengajar di
laboratorium komputer STIKES Surya Globa
Yogyakarta, Senior Pengembang Software di
Khanza.Soft Media, Mengembangkan Software Di
beberapa rumah sakit di antaranya di RSKIA Sadewa
Babarsari Yogyakarta, RS Amal Sehat Wonogiri, RS
Pelita Insani Martapura, dll, Pengembang Software
Khanza Sirdapa yang digunakan di berbagai panti
asuhan di indonesia, Mengembangkan berbagai aplikasi
untuk perguruan tinggi, instansi pemerintah dan swasta.
Beberapa karyanya bisa nada nikmati atau anda lihat di
http://elkhanza.wordpress.con, http://khanzamedia.com
Irnawati
Seorang Mahasiswi semester 6 jurusan Sistem
Informasi di perguruan tinggi swasta STMIK El Rahma
Yogyakarta, Bekerja sebagai freelance programer

Untuk Informatika Medis, Rekam Medis & Sistem Informasi Kesehatan |Oleh : Fita PS, 167
Irnawati dan Rini H.

Anda mungkin juga menyukai