bab iii pembahasan - repository.bsi.ac.id filepelayanan tersebut juga didukung oleh laboratorium...

80
24 BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan Sub bab ini berisikan gambaran umum perusahaan meliputi sejarah, profil, lokasi, fasilitas, visi dan misi, struktur organisasi, uraian tugas dan tanggung jawab, serta proses bisnis dari perusahaan. Sub bab ini juga berisi analisis terhadap kondisi sistem informasi untuk mendukung bisnis yang berjalan. 3.1.1. Sejarah Perusahaan Seperti yang telah diketahui, Rumah Bersalin dan Balai Pengobatan Mulia merupakan suatu fasilitas yang menyediakan pelayanan kesehatan yang didirikan oleh perorangan dengan tujuan untuk memberikan perawatan kepada masyarakat luas. Rumah Bersalin Mulia didirikan pada tahun 1990 di Pontianak, Kalimantan Barat tepatnya dijalan Jalan Sungai Raya Dalam Ceria X. No.1. Seiring dengan perkembangannya, saat ini Rumah Bersalin Mulia yang memiliki pelayanan kesehatan lebih lengkap yaitu Unit Rawat Jalan dan Unit Rawat jalan. Unit pelayanan tersebut juga didukung oleh Laboratorium Klinis, Instalasi Farmasi, Ruang Bedah (OKA), Unit Gawat Darurat (UGD) dan sarana pendukung lainnya. Tenaga Ahli yang bekerja di Rumah Bersalin Mulia terdiri dari berbagai dokter, perawat dan bidan yang telah memiliki izin praktek.

Upload: others

Post on 11-Oct-2019

10 views

Category:

Documents


0 download

TRANSCRIPT

24

BAB III

PEMBAHASAN

3.1. Tinjauan Perusahaan

Sub bab ini berisikan gambaran umum perusahaan meliputi sejarah, profil,

lokasi, fasilitas, visi dan misi, struktur organisasi, uraian tugas dan tanggung jawab,

serta proses bisnis dari perusahaan. Sub bab ini juga berisi analisis terhadap kondisi

sistem informasi untuk mendukung bisnis yang berjalan.

3.1.1. Sejarah Perusahaan

Seperti yang telah diketahui, Rumah Bersalin dan Balai Pengobatan Mulia

merupakan suatu fasilitas yang menyediakan pelayanan kesehatan yang didirikan

oleh perorangan dengan tujuan untuk memberikan perawatan kepada masyarakat

luas.

Rumah Bersalin Mulia didirikan pada tahun 1990 di Pontianak, Kalimantan

Barat tepatnya dijalan Jalan Sungai Raya Dalam Ceria X. No.1. Seiring dengan

perkembangannya, saat ini Rumah Bersalin Mulia yang memiliki pelayanan

kesehatan lebih lengkap yaitu Unit Rawat Jalan dan Unit Rawat jalan. Unit

pelayanan tersebut juga didukung oleh Laboratorium Klinis, Instalasi Farmasi,

Ruang Bedah (OKA), Unit Gawat Darurat (UGD) dan sarana pendukung lainnya.

Tenaga Ahli yang bekerja di Rumah Bersalin Mulia terdiri dari berbagai dokter,

perawat dan bidan yang telah memiliki izin praktek.

25

Visi Rumah Bersalin dan Balai Pengobatan Mulia yaitu menjadi penydia layanan

kesehatan termuka di pontianak dan sekitarnya. Sedangkan misi Rumah Bersalin dan

Balai Pengobatan Mulia adalah sebagai berikut:

1. Mengembangkan segala potensi tenaga kerja secara menyeluruh demi

tercapainya pelayanan kesehatan terbaik dengan menyediakan dan

mengembangkan secara terus-menerus seluruh sarana dan prasarana penunjang

pelayanan kesehatan dan bekerjasama dengan berbagai pihak agar dapat

meluaskan jaringan pelayanan kesehatan sehingga manfaatnya dapat dirasakan

oleh berbagai lapisan masyarakat.

2. Sesuai dengan visi dan misi Rumah Bersalin dan Balai Pengobatan Mulia

untuk menyediakan layanan kesehatan yang baik khususnya dari aspek kualitas

dan dapat menjangkau lebih banyak pasien yang membutuhkan, maka pada

tahun 2012 Rumah Bersalin Mulia telah menyediakan layanan kesehatan di

tempat atau Onsite Medical Services. Layanan ini bertujuan untuk memberikan

pelayanan kesehatan bagi perusahaan atau instansi yang tidak memiliki klinik

secara mandiri. Melalui layanan ini kami berharap dapat membantu perusahaan

atau instansi terkait dalam penyediaan layanan kesehatan berkualitas secara

terpadu di wilayah kerjanya masing-masing.

3. Rumah Bersalin Mulia memiliki Badan Hukum berupa Yayasan dengan nama

Yayasan Mulia Sentra Medika. Tujuan pembentukan yayasan ini adalah agar

setiap unit atau kegiatan usaha kesehatan yang dijalankan dapat dipertanggung

jawabkan secara hukum.

26

3.1.2. Struktur Organisasi dan Fungsi

Pada umumnya setiap perusahan atau pun lembaga mempunyai suatu tujuan

yaitu terjalinnya kerjasama yang baik diantara anggota dilingkungan kerja. Oleh

karena itu diperlukannya suatu koordinasi yang baik dalam melakukan tugas dan

fungsi dari masing-masing individu maupun kelompok dalam lembaga tersebut.

Dengan adanya pembuatan struktur organisasi didalam suatu lembaga, maka

diharapkan pekerjaan dapat dilakukan sesuai dengan tanggung jawab yang telah

diberikan.

Rumah Bersalin Mulia memiliki struktur organisasi yang besar dan komplek.

Karena memiliki karyawan dalam jumlah yang banyak serta adanya pembagian tugas

yang jelas. Berikut adalah ruang lingkup peranan dan tugas serta tanggung jawab

dari masing-masing karyawan.

Sumber : Rumah Bersalin dan Balai Pengobatan Mulia(2018)

Gambar III.1.Struktur Organisasi Rumah Bersalin dan Balai Pengobatan Mulia

27

Tugas pokok dari masing-masing bagian adalah:

1. Direktur

Wewenang dan tanggung jawabnya adalah menjalankan, mengurus dan

memimpin Rumah Bersalin dan Balai Pengobatan Mulia dalam menetapkan dan

menertibkan kebijakan-kebijakan yang ada. Adapun tugas-tugasnya adalah:

a. Mengambil keputusan.

b. Membina hubungan baik dengan pegawai dan para pasien.

c. Mempertanggung jawabkan segala aktifitas yang berjalan di Rumah Bersalin

dan Balai Pengobatan Mulia serta mengontrol hasil kegiatan yang berjalan

secara menyeluruh.

2. Sekretaris dan Hrd

a. Sekretaris berperan penting dalam membantu pembuatan agenda kegiatan

perusahaan.

b. Melakukan pembuatan laporan serta berperan penting dalam menyimpan

data-data dalam perusahaan.

c. Sedangkan Human Resource Development atau yang lebih dikenal sebagai

Hrd merupakan bagian personalia yang tugasnya menyaring dan

menempatkan sumber daya manusia dalam sebuah perusahaan.

d. Serta melakukan pengelolaan dan pengembangan sumber daya manusia.

3. Pimpinan Klinik

a. Melaksanakan dan menyusun fungsi manajemen secara baik.

b. Membina bawahan agar dapat bekerja secara efektif dan efisien.

28

c. Membina hubungan yang baik dengan bawahan.

4. Manager Umum

a. Memimpin, mengatur, mengendalikan dan mengembangkan organisasi.

b. Mengevaluasi kegiatan-kegiatan organisasi.

c. Menggali dan mengembangkan sumber daya yang dimiliki organisasi dalam

sebuah perusahaan.

5. Kasir dan Keuangan

a. Melayani pasien dalam melakukan pembayaran.

b. Melakukan pembayaran obat-obat pesanan instalasi farmasi dalam memenuhi

kebutuhan pasien.

c. Penyelenggaraan penyusunan anggaran pengeluaran

6. Admin dan Rekam Medik

a. Menyusun perencanaan kegiatan, sistem dan prosedur, pengkoordinasian,

pelaksanaan, pengawasan, dan evaluasi rekam medis dan sistem informasi

manajemen klinik.

b. Melakukan pencatatan identitas pasien sebagai informasi kesehatan pasien.

c. Melaksanakan kegiatan pelayanan pasien dalam menajemen dasar rekam

medis dan informasi kesehatan.

7. Pelayanan

Merencanakan operasional, memberi tugas, memberi petunjuk, mengatur dan

mengevaluasi penyelenggaraan tugas bidang pelayanan.

a. Bagian Rawat Jalan

1) Menyusun rencana dan program kerja intsalasi rawat jalan.

29

2) Mengawasi dan memantau seluruh kegiatan pelayanan kesehatan diintsalasi

rawat jalan dalam rangka meningkatkan pemulihan kesehatan pasien.

b. Bagian Rawat jalan

1) Melayani dan memberi bantuan kepada pasien yang membutuhkan

pelayanan kesehatan.

2) Memberikan rehabilitasi medik, keperluan observasi dan diagnosa pasien.

3) Membantu pasien dalam masa penyembuhan.

c. Bagian Kebidanan

1) Menyiapkan fasilitas dan lingkungan untuk kelancaran pelayanan dan

memudahkan pasien dalam menerima pelayanan.

2) Memberikan bimbingan persalinan sesuai dengan kondisi dan kebutuhan

pasien.

d. Bagian Anak

1) Memberikan pelayanan dan perawatan komprehensif sesuai kebutuhan

tumbuh kembang anak.

2) Mengatur, memantau dan mengawasi pelaksanaan pelayanan keperawatan

anak.

e. Bagian Umum

1) Melakukan penyusunan, penerapan dan pengawasan terhadap pelaksanaan

standar pelayanan medis.

2) Menyusun perencanaan dalam rangka peningkatan kualitas pelayanan

umum.

30

f. Bagian UGD

1) Melaksanakan fungsi perencanaan, merencanakan pengembangan pelayanan

sesuai kebutuhan (pengadaan, penggantian sarana/prasana medis).

2) Mengolah dan menganalisa jumlah kasus/pola penyakit dari data kunjungan

di Unit Gawat Darurat (UGD).

g. Bagian Farmasi

1) Mengatur tambahan obat masuk dan merasionalkan penggunaan obat

terhadap pasien.

2) Menyediakan informasi terhadap pemakaian obat kepada pasien.

3) Melakukan pemantauan pemakaian obat.

h. Laboratorium

Adapun tugas dan fungsi dari petugas laboratorium adalah sebagai berikut :

1) Melaksanakan pelayanan laboratorium sesuai indikasi dokter.

2) Melaksanakan pemeriksaan laboratorium diluar gedung bila diperlukan.

3) Bertanggung jawab atas pemeliharaan alat medis dan non medis di ruang

laboratorium.

i. Gedung dan Fasilitas

1) Pengembangan strategi pengolahan gedung dan fasilitas perusahaan serta

pemeliharaannya dan jasa.

2) Pengolahan stok dan distribusi pelaratan atau perlengkapan perusahaan.

j. Business Development

1) Melihat dan menganalisa potensi pemasaraan dan profit atau tidaknya

proyek yang telah ada. Mengobservasi kinerja proyek yang telah ada.

31

2) Melihat peluang pengembangan bisnis yang memungkinkan dengan

mengacu pada proyek bisnis yang telah ada.

Sub bab ini berisi proses bisnis system berrjalan, activity diagram, dokumen

masukan, dokumen keluaran, permasalahan pokok, dan pemecahan masalah.

3.2.1. Proses Bisnis Sistem Berjalan

1. Proses registrasi pasien

Proses diawali dengan pasien datang untuk melakukan pendaftaran, apabila

pasien baru maka admin memberikan formulir pendaftaran kepada pasien dan

apabila pasien lama hanya memberikan kartu berobat.

2. Proses pemeriksaan data pasien

Data pasien yang sudah diterima oleh bagian admin selanjutnya akan di cek

kembali data tersebut apakah sudah lengkap ataupun belum dan admin

menanyakan keluhan yang dihadapi pasien.

3. Pemeriksaan pasien

Bagian admin mengarahkan pasien ke ruangan dokter untuk melakukan

konsultasi dengan dokter. Setelah konsultasi maka dokter memberikan resep

obat kepada pasien.

4. Pembayaran rawat jalan

Bagian administrasi akan membuat laporan hasil pemeriksaan serta

menghitung biaya, dan memberikan rincian biaya (kwitansi) yang harus

dibayar. Setelah itu bagian admin menyerahkan laporan pembayaran kepada

direktur.

32

3.2.2. Activity Diagram

Activity diagram adalah diagram yang menggambarkan aliran kerja atau

aktivitas dari sebuah sistem atau proses bisnis.

Sumber : Rumah Bersalin dan Balai Pengobatan Mulia(2018)

Gambar III.2. Activity Diagram Sistem Berjalan Rumah Bersalin dan Balai

Pengobatan Mulia

3.2.3. Dokumen Masukan

Bentuk dokumen masukan adalah bentuk dari dokumen-dokumen yang masuk

atau diterima untuk proses. Dibawah ini adalah uraian bentuk dokumen masukan

yang ada dalam Pembayaran Rawat jalan pada Rumah Bersalin dan Balai Pengobatan

Mulia.

1. Nama dokumen : Formulir Pendaftaran

Fungsi : Untuk mengetahui identitas

Sumber : Ktp

Tujuan : Untuk data rumah bersalin

33

Media : Kertas

Jumlah : 1 lembar

Frekuensi :Setiap rawat jalan

Bentuk :Lampiran A.1

3.2.4. Dokumen Keluaran

Bentuk dokumen keluaran adalah bentuk dari dokumen-dokumen yang keluar

atau dibuat untuk melakukan proses. Dibawah ini adalah uraian bentuk dokumen

keluaran yang ada dalam Pembayaran Rawat jalan pada Rumah Bersalin dan Balai

Pengobatan Mulia.

1. Nama dokumen : Kwitansi Pembayaran

Fungsi : Memberikan rincian biaya

Sumber : Administrasi

Tujuan : Pasien

Media : Kertas

Jumlah : 1 lembar

Frekuensi : Setelah proses rawat jalan

Bentuk : Lampiran B.1

2. Nama dokumen : Resep Obat

Fungsi : Untuk pengambilan obat

Sumber : Dokter

Tujuan : Pasien

Media : Kertas

Jumlah : 1 lembar

34

Frekuensi : Setiap kali datang berobat

Bentuk : Lampiran B.2

3. Nama dokumen : Kartu Berobat

Fungsi : mempermudah pencarian data pasien

Sumber : Admin

Tujuan : Pasien

Media : Kartu

Jumlah : 1 lembar

Frekuensi : Setiap berobat

Bentuk : Lampiran B.3

3.2.5. Permasalahan Pokok

Berdasarkan hasil riset pada Rumah Bersalin dan Balai Pengobatan Mulia

adanya beberapa ditemukan masalah yaitu Rumah Bersalin dan Balai Pengobatan

Mulia yang terletak di Sungai Raya Dalam Pontianak diantarnya:

1. Registrasi pendaftaran pasien masih menggunakan sistem yang sederhana

dimana menggunakan tulis tangan sehingga memperlambat kinerja.

2. Masih menggunakan sistem pembukuan dalam bentuk arsip dokumen pada

sistem pembayaran seperti pencatatan data pasien maupun proses pengarsipan

data untuk dijadikan laporan pendapatan. Hal ini dapat memperlambat proses

pekerjaan dalam pengumpulan data serta penyimpanan arsip menggunakan

banyak tempat.

3. Begitu juga pada bagian obat pegawai harus mencatat resep obat ke dalam

buku besar yang merupakan pengolahan dari resep dokter yang diberikan

35

kepada pasien, sedangkan bagian pemeriksaan dokter harus mencatat data

penyakit pasien pada kartu rekam medis.

3.2.6.Pemecahan Masalah

Setelah menguraikan permasalahan-permasalahan yang terjadi pada Rumah

Bersalin dan Balai Pengobatan Mulia dalam penelitian ini memberikan alternatif dan

solusi untuk memecahkan permasalahan tersebut.

1. Menggunakan sistem yang sudah terkomputerisasi sehingga keamanan data

dapat terjamin karena sudah tersimpan.

2. Dengan mengusulkan Rancang Bangun Sistem Informasi Akuntansi

Pembayaran pasien rawat jalan berbasis desktop.

3. Sebagai data dapat diolah semaksimal mungkin hingga mempermudah dalam

pembuatan laporan data pasien maupun pencarian dokumen pasien serta

penyimpanan data arsip tidak menggunakan banyak tempat dan menghemat

waktu dalam pencarian data pasien.

3.3. Analisis Kebutuhan Software

Dalam sebuah website tentu terdapat kebutuhan non fungsional atau

kebutuhan untuk pengembangan hardware dan software di waktu yang akan datang,

Pada kebutuhan nonfungsional dibagi menjadi tiga pengembangan dimana dapat

mendukung kelancaran sistem untuk kedepan untuk dikembangkan dan

didefinisikan sebagai berikut:

36

1. Perangkat Lunak (software)

Perangkat lunak merupakan program yang ditulis untuk merancang dan

membuat pengembangan pembuatan sistem pembayaran rawat jalan berbasis

Desktop. Agar program ini berjalan dengan lancar sistem harus didukung dengan:

A. Sistem Operasi : Windows 7 Ultimate 32 bit

B. Webserver : XAMPP Server version 3.2.2

1. Apache : Apache 2.2.21

2. MySQL : MySQL Ver. 5.5.20

3. PHP : PHP Ver. 5.3.10

2. Perangkat Keras (Hardware)

Perangkat keras salah satu alat yang dibutuhkan untuk mengelolah data

pembuatan sistem pembayaran rawat jalan berbasis web pada Rumah Bersalin dan

Balai Pengobatan Mulia, perangkat keras berupa:

A. CPU (Central Processing Unit)

1. Processor :Celeron 1.40 Ghz

2. Memory : 2 GB

3. Harddisk : 500GB

B. Monitor : Resolution 1024x768 Pixel LCD

C. Keyboard : 86 Keys

D. Mouse : Optical

E. Printer : Inkjet Printer

37

3.3.1. Analisis Kebutuhan

1. Kebutuhan Pengguna

Dalam rancangan pengolahan pembayaran pasien rawat jalan terdapat tiga

pengguna yang saling berinteraksi dalam lingkungan sistem yaitu: admin, dokter dan

direktur. ketiga pengguna tersebut memiliki karakteristik interaksi dengan sistem

yang berbeda-beda dan memiliki kebutuhan informasi yang berbeda-beda, seperti

berikut:

A. Skenario kebutuhan bagian admin

1. Admin dapat mencari data dokter

2. Admin dapat mencari data pasien

3. Admin dapat melihat data user

4. Admin dapat mengelola data akun

5. Admin dapat mengelola rekam medis

6. Admindapat mengelola data transaksi

7. Admin dapat mengelola data biaya

8. Admin dapat mengelola jurnal

9. Admin dapat mengelola registrasi pasien

10. Admin dapat mencetak kartu berobat

11. Admin dapat mencetak kwitansi

B. Skenario kebutuhan dokter

1.Dokter dapat mengelola rekam medis

2. Dokter dapat melihat laporan rekam medis

38

C. Skenario kebutuhan direktur

1. Direktur melihat laporan kartu berobat

2. Direktur dapat melihat laporan jurnal

3. Direktur dapat melihat laporan registrasi

4. Direktur dapat melihat laporan rekammedis

5. Direktur dapat melihat cetakan Kwitansi

6. Direktur dapat melihat laporan transaksi

2. Kebutuhan sistem

A. Pengguna harus melakukan login terlebih dahulu untuk dapat mengakses sistem

ini dengan memasukkan username dan password agar privasi masing-masing

pengguna tetap terjaga keamanannya.

B . Pengguna harus melakukan logout setelah selesai menggunakan sistem.

39

3.3.2. Use Case Diagram

1. Use case Diagram Halaman admin

Menjelaskan mengenai aktor-aktor yang terlihat dengan perangkat lunak yang

dibangun beserta proses-proses yang ada didalamnya.

Sumber : Hasil penelitian (2018)

Gambar III.3.Rancangan Use case DiagramAdmin

40

2. Use case Dokter

Menjelaskan mengenai aktor-aktor yang terlihat dengan perangkat lunak yang

dibangun beserta proses-proses yang ada didalamnya.

Sumber : Hasil penelitian (2018)

Gambar III.4.Rancangan Use case Diagram Dokter

3. Use case Direktur

Menjelaskan mengenai aktor-aktor yang terlihat dengan perangkat lunak yang

dibangun beserta proses-proses yang ada didalamnya.

Sumber : Hasil penelitian (2018)

Gambar III.5.Rancangan Use case Diagram Dokter

41

Tabel III.1.

Deskripsi Use Case Halaman Login Admin

Use Case Narative Halaman Admin

Tujuan

Admin dapat melihat data yang ada di

dalam sistem halaman admin

Diskripsi

Sistem ini menggunakan aktor untuk

masuk ke halaman admin yang di

dalamnya ada registrasi, transaksi, data

pasien dan input jurnal.

Skenario Utama

Aktor

Admin

Kondisi awal

Aktor akan membuka aplikasi halaman admin

1. Aktor akan

memilih

Registrasi

2. Aktor akan

memilih

transaksi

3. Aktor akan

memilih data

pasien

4. Aktor memilih

jurnal

1. Sistem akan menampilkan form pendaftaran

pasien

2. Sistem akan menampilkan form pembayaran

3. Sistem akan menampilkan data pasien

4. Sistem akan menampilkan jurnal

Kondisi akhir

Jika perintah sesuai maka sistem akan menampilkan apa

yang diinginkan

Sumber:Hasil Penelitian(2018)

42

Tabel III.2.

Deskripsi Use Case Halaman Login dokter

Use Case Narative Halaman Dokter

Tujuan

dokter dapat melihat data yang ada di

dalam sistem halaman dokter

Diskripsi

Sistem ini menggunakan aktor untuk

masuk ke halaman dokter yang di

dalamnya ada rekam medis.

Skenario Utama

Aktor

Dokter

Kondisi awal

Dokter akan membuka aplikasi halaman dokter

1. Aktor akan

memilih

Rekam medis

1. Sistem akan menampilkan form rekam medis

Kondisi akhir

Jika perintah sesuai maka sistem akan menampilkan apa

yang diinginkan

Sumber:Hasil Penelitian(2018)

43

Tabel III.3.

Deskripsi Use Case Halaman Login Direktur

Use Case Narative Halaman Direktur

Tujuan

direktur dapat melihat data yang ada di

dalam sistem halaman direktur

Diskripsi

Sistem ini menggunakan aktor untuk masuk

ke halaman direktur yang di dalamnya ada

laporan registrasi, laporan

transaksi,laporan rekam medis laporan

jurnal

Skenario Utama

Aktor

Direktur

Kondisi awal

Direktur akan membuka aplikasi halaman direktur

1. Aktor akan

memilih

Laporan pendaftaran

2. Aktor akan

memilih laporan

transaksi

3. Aktor akan

memilih laporan

jurnal

1. Sistem akan menampilkan data laporan

pendaftaran

2. Sistem akan menampilkan data laporan

transaksi

3. Sistem akan menampilkan data laporan jurnal

Kondisi akhir

Jika perintah sesuai maka sistem akan menampilkan apa

yang diinginkan

Sumber:Hasil Penelitian(2018)

44

3.3.3. Activity Diagram

1. Activity Diagram Admin

Sumber : Hasil penelitian (2018)

Gambar III.6. Rancangan Activity Diagram Rumah Bersalin dan Balai

Pengobatan Mulia

45

2..Activity diagram dokter

Sumber : Hasi penelitian (2018)

Gambar III.7. Rancangan Activity Diagram Rumah Bersalin dan Balai

Pengobatan Mulia

3..Activity diagram direktur

Sumber : Hasil penelitian (2018)

Gambar III.8. Rancangan Activity Diagram Rumah Bersalin dan Balai

Pengobatan Mulia

46

3.4. Desain

Berisikan gambaran tentang analisa kebutuhan, Entity Relationship Diagram,

Logical Relational Structure, spesifikasi file, user interface dan spesifikasi hardware

software yang di rancang dalam penelitian ini.

3.4.1. Entity Relationship Diagram (ERD)

Adapun Entity Relationship Diagram (ERD) yang terdapat pada website yang

dibuat penulis sebagai berikut:

Sumber:Hasil Penelitian (2018)

Gambar III.9.Rancangan ERD Rumah Bersalin dan Balai Pengobatan mulia

47

3.4.2. Logical Record Structure (LRS)

Rancangan Logical RelationalStructure (LRS) untuk memudahkan admin

dalam melihat relasi antar tabel satu dengan tabel yang lainnya, Adapun Logical

Relational Structure (LRS) yang terdapat pada Rancangan pembayaran rawat jalan

yang penulis rancang adalah:

Sumber:Hasil Penelitian (2018)

Gambar III.10.Rancangan LRS Rumah Bersalin dan Balai Pengobatan Mulia

48

3.4.3. Spesifikasi file

1. Spesifikasi User

Nama File : File User

Akronim : Administrasi

Fungsi : Untuk masuk ke login

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Hard disk

Panjang Record : 80

Kunci Field : id_user

Software : MySQL

Tabel III.4.

Spesifikasi File User

No Elemen Data Akronim Tipe Panjang Keterangan

1. Id-user Id_user Varchar 15 Primary Key

2. Username Nama Varchar 30 -

3. Password Pass Varchar 20 -

4. Jabatan Jabatan Varchar 15 -

Sumber:Hasil Penelitian (2018)

2. Spesifikasi Registrasi

Nama File : File Registrasi

Akronim : Administrasi

Fungsi : Untuk melakukan pendaftaran

Tipe File : File Master

49

Organisasi File : Indexed Sequential

Akses File : Random

Media : Hard disk

Panjang Record : 31

Kunci Field : no_registrasi

Software : MySQL

Tabel III.5.

Spesifikasi File Registrasi

N

o

Elemen Data Akronim Tipe Panja

ng

Keteranga

n

1

.

no_registrasi no_registrasi Varchar 15 Primary

Key

2

.

no_ktp no_ktp Varchar 10 Foreing

key

3

.

Tanggal Tanggal Date

4

.

Keluhan Keluhan Text -

5

.

Terapi Terapi Text -

umber:Hasil Penelitian (2018)

3. Spesifikasi Rekam medis

Nama File : File rekammedis

Akronim : Rekam medis

Fungsi : Untuk menyimpan rekam medis

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Hard disk

50

Panjang Record : 43

Kunci Field : id_rekam medis

Software : MySQL

Tabel III.6.

Spesifikasi File Rekam Medis

No Elemen Data Akronim Tipe Panjang Keterangan

1. Id-rekammedis Id_rekammedis Varchar 15 Primary Key

2. kode-dokter kode_dokter Varchar 15 Foreing key

3. No_telp no_telp Varchar 13 -

4. Diagnosa Diagnosa Varchar -

5 Hasil diagnosa Hasil_diagnosa Varchar -

Sumber:Hasil Penelitian (2018)

4. Spesifikasi Transaksi

Nama File : File Transaksi

Akronim : Transaksi

Fungsi : Untuk menyimpan data dan pembayaran

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Hard disk

Panjang Record : 60

Kunci Field : id_user

Software : MySQL

Tabel III.7.

Spesifikasi File Transaksi

N

o

Elemen Data Akronim Tipe Panjang Keterangan

1. No_transaksi No_transaksi Varchar 15 Primary Key

2. Tgl_transaksi tgl_transaksi date -

51

3. No_registrasi No_registrasi Varchar 15 -

4. Id_biaya Id_biaya Varchar 15 -

5. Total Total Double -

6 Kode_dokter Kode_dokter Varchar 15 Foreing key

Sumber:Hasil Penelitian (2018)

5. Spesifikasi Pasien

Nama File : no_ktp

Akronim : Pasien

Fungsi : Untuk menyimpan data pasien

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Hard disk

Panjang Record : 122

Kunci Field : no_ktp

Software : MySQL

Tabel III.8.

Spesifikasi File Pasien

No Elemen Data Akronim Tipe Panjang Keterangan

1. No_ktp No_ktp Varchar 16 Primary Key

2. Nama Nama Varchar 30 -

3. Umur Umur Varchar 3 -

4. Tgl_lahir Tgl_lahir date -

5. Alamat Alamat Text -

6 Pekerjaan Pekerjaan Varchar 30 -

7 Nama_wali Nama_wali Varchar 30 -

8 No_telp No_hp Varchar 13 -

Sumber:Hasil Penelitian (2018)

52

6. Spesifikasi dokter

Nama File : kode_dokter

Akronim :dokter

Fungsi : Untuk menyimpan data dokter

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Hard disk

Panjang Record :

Kunci Field : kode_dokter

Software : MySQL

Tabel III.9.

Spesifikasi File Dokter

No Elemen Data Akronim Tipe Panjang Keterangan

1. Kode_dokter Id_dokter Varchar 15 Primary Key

2. Nama_dokter Nama_dokter Varchar 30 -

3. Spesialis Spesialis Varchar 30 -

4. Alamat Alamat Text -

5 E-mail E-mail Varchar 13 -

6 No_telp No_hanphone Varchar 35 -

Sumber:Hasil Penelitian (2018)

7. Spesifikasi Detail_jurnal

Nama File : File Detail_jurnal

Akronim : Detail_jurnal

Fungsi : Untuk menyimpan data Detail_jurnal

53

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Hard disk

Panjang Record : 45

Kunci Field : id_detail_jurnal

Software : MySQL

Tabel III.10.

Spesifikasi File Detail jurnal

No Elemen Data Akronim Tipe Panjang Keterangan

1. No_jurnal No-Jurnal Varchar 15 Primary Key

2. Kode_akun Kode_akun Varchar 15 Foreing key

4 Debet Debit Double -

5 Kredit Kredit Double -

6 Id_user Id_user Varchar 15 -

Sumber:Hasil Penelitian (2018)

8. Spesifikasi jurnal

Nama File : File jurnal

Akronim : jurnal

Fungsi : Untuk menyimpan data Detail_jurnal

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Hard disk

Panjang Record : 45

54

Kunci Field : No_jurnal

Software : MySQL

Tabel III.11.

Spesifikasi File jurnal

No Elemen Data Akronim Tipe Panjang Keterangan

1. No_jurnal No-Jurnal Varchar 15 Primary Key

2. No_transaksi No_transaksi Varchar 15 Foreing key

4 Tanggal Tanggal Date -

5 No_buktiu No_bukti Varchar 15 -

6 Debet Debet Double -

7 Kredit Debet Double -

Sumber:Hasil Penelitian (2018)

9. Spesifikasi Akun

Nama File : File Akun

Akronim : akun

Fungsi : Untuk menyimpan data Akun

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Hard disk

Panjang Record : 75

Kunci Field :kode_akun

Software : MySQL

Tabel III.12.

Spesifikasi File Akun

No Elemen Data Akronim Tipe Panjang Keterangan

1. Kode-akun Kode_akun Varchar 15 Primary Key

2. Nama_akun Nama_akun Varchar 30 -

55

3 Tipe_akun Tipe_akun Varchar 30 -

Sumber:Hasil Penelitian (2018)

10. Spesifikasi Biaya

Nama File : File biaya

Akronim : Biaya

Fungsi : Untuk kwitansi pasien

Tipe File : File Master

Organisasi File : Indexed Sequential

Akses File : Random

Media : Hard disk

Panjang Record :15

Kunci Field :id_biaya

Software : MySQL

Tabel III.13.

Spesifikasi File Biaya

N

o

Elemen Data Akronim Tipe Panjang Keterangan

1. Id_biaya Id_biaya Varchar 15 Primary Key

2. Biaya_admin Biaya_admin Double -

3 Biaya_buku Biaya_buku Double -

4 Kartu Kartu Double -

5 Konsultasi_dokter Konsultasi_dokter Double -

6 Jasa_dokter Jasa_dokter Double -

7 Jasa_rs Jasa_rs Double -

8 Bhp Bhp Double -

9 Kode_dokter Kode-dokter Double Foreing key

Sumber:Hasil Penelitian (2018)

56

3.4.4. Sequence Diagram

Sequence diagram berikut iniadalah hasil perancangan sistem informasi

pembayaran pasien rawat jalan pada Rumah Bersalin dan Balai Pengobatan Mulia.

Sumber : Hasil penelitian(2018)

Gambar III.11. Rancangan Sequence Diagram Rumah Bersalin dan Balai

Pengobatan Mulia

3.4.5. Deployment Diagram

Sumber : Hasil penelitian (2018)

Gambar III.12.Rancangan Deployment Diagram Rumah Bersalin dan Balai

Pengobatan Mulia

57

3.4.6. User Interface

1.Tampilan login

Sumber : Hasil penelitian(2018)

2. Tampilan Menu Registrasi

Sumber : Hasil penelitian(2018)

58

3.Tampilan menu Transaksi

Sumber : Hasil penelitian (2018)

4.Tampilan Rekam medis

Sumber : Hasil penelitian(2018)

59

3.5. Implementasi

3.5.1. Code Generation

Code Generation registrasi:

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import kelas.DBConnection;

/**

*

* @author ACER

*/

public class registrasi extends javax.swing.JFrame {

private DefaultTableModel DftTabMode1;

/**

* Creates new form registrasi

*/

public registrasi() {

initComponents();

this.setLocationRelativeTo(null);

Tampilkan();

id_auto();

tampil_auto();

off();

}

private void Tabel(javax.swing.JTable tb, int lebar[] ) {

tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

int kolom=tb.getColumnCount();

for(int i=0;i < kolom;i++) {

javax.swing.table.TableColumn

tbc=tb.getColumnModel().getColumn(i);

tbc.setPreferredWidth(lebar[i]);

tb.setRowHeight(17);

}

60

}

public void Tampilkan(){

Object[] Baris={"No Registrasi","No KTP","Tanggal","Keluhan","Terapi"};

DftTabMode1 = new DefaultTableModel(null, Baris);

table.setModel(DftTabMode1);

Tabel(table, new int[]{150,150,100,100,150});

for (int i = 0; i < table.getColumnCount(); i++) {

table.getColumnModel().getColumn(i);

}

//panggil method koneksi

java.sql.Connection conn = new DBConnection().connect();

//untuk menampilkan di table

try{

String sql="Select * from registrasi order by no_registrasi desc";

java.sql.Statement stmt=conn.createStatement();

java.sql.ResultSet rslt=stmt.executeQuery(sql);

while(rslt.next()){

String id=rslt.getString("no_registrasi");

String kd=rslt.getString("no_ktp");

String t=rslt.getString("tanggal");

String diag=rslt.getString("keluhan");

String hasil=rslt.getString("terapi");

String[] dataField={id,kd,t,diag,hasil};

DftTabMode1.addRow(dataField);

}

}catch(Exception ex){}

}

public void id_auto(){

try{

java.sql.Connection conn = new DBConnection().connect();

Statement stmt = conn.createStatement();

String Sql = "Select max(right(no_registrasi,10)) as no from registrasi";

ResultSet rs = stmt.executeQuery(Sql);

while (rs.next()){

if(rs.first()== false){

nor.setText("RG0000000001");

}else{

rs.last();

int set_id = rs.getInt(1)+1;

String no = String.valueOf(set_id);

61

int id_next = no.length();

for (int a = 0; a <10 - id_next; a++){

no = "0" + no;

}

nor.setText("RG" + no);

}

}

}catch(SQLException ex){

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

}

}

public void tampil_auto(){

java.sql.Connection conn = new DBConnection().connect();

try {

String sql="select * from pasien order by no_ktp desc ";

java.sql.Statement stmt=conn.createStatement();

java.sql.ResultSet rslt=stmt.executeQuery(sql);

while(rslt.next()){

ktp.addItem(rslt.getString("no_ktp"));

}

rslt.close();

}

catch (SQLException ex) {

}

}

public void baru(){

ktp.setSelectedItem("");

hasil.setText("");

terapi.setText("");

}

public void on(){

nor.setEnabled(true);

ktp.setEnabled(true);

jDateChooser1.setEnabled(true);

hasil.setEnabled(true);

terapi.setEnabled(true);

isicari.setEnabled(true);

simpan.setEnabled(true);

62

hapus.setEnabled(true);

edit.setEnabled(true);

bersih.setEnabled(true);

cari.setEnabled(true);

}

public void off(){

nor.setEnabled(false);

ktp.setEnabled(false);

jDateChooser1.setEnabled(false);

hasil.setEnabled(false);

terapi.setEnabled(false);

isicari.setEnabled(false);

simpan.setEnabled(false);

hapus.setEnabled(false);

edit.setEnabled(false);

bersih.setEnabled(false);

cari.setEnabled(false);

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

panelWarnaTransparan1 = new kelas.PanelWarnaTransparan();

jLabel9 = new javax.swing.JLabel();

panelWarnaTransparan2 = new kelas.PanelWarnaTransparan();

jLabel7 = new javax.swing.JLabel();

keluar = new kelas.ButtonImageGlassMerah();

panelAlpha1 = new kelas.PanelAlpha();

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

panelWarnaTransparan3 = new kelas.PanelWarnaTransparan();

jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

simpan = new javax.swing.JButton();

63

hapus = new javax.swing.JButton();

edit = new javax.swing.JButton();

nor = new javax.swing.JTextField();

jLabel8 = new javax.swing.JLabel();

jLabel10 = new javax.swing.JLabel();

ktp = new javax.swing.JComboBox<>();

jScrollPane2 = new javax.swing.JScrollPane();

hasil = new javax.swing.JTextArea();

jDateChooser1 = new com.toedter.calendar.JDateChooser();

terapi = new javax.swing.JTextField();

jScrollPane1 = new javax.swing.JScrollPane();

table = new javax.swing.JTable();

tambah = new javax.swing.JButton();

batal = new javax.swing.JButton();

bersih = new javax.swing.JButton();

isicari = new javax.swing.JTextField();

cari = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jPanel1.setBackground(new java.awt.Color(0, 153, 255));

jLabel9.setFont(new java.awt.Font("Times New Roman", 1, 18)); // NOI18N

jLabel9.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/Generate-tables32.png")));

// NOI18N

jLabel9.setText("From Registrasi");

javax.swing.GroupLayout panelWarnaTransparan1Layout = new

javax.swing.GroupLayout(panelWarnaTransparan1);

panelWarnaTransparan1.setLayout(panelWarnaTransparan1Layout);

panelWarnaTransparan1Layout.setHorizontalGroup(

panelWarnaTransparan1Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

panelWarnaTransparan1Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(jLabel9)

.addGap(350, 350, 350))

);

panelWarnaTransparan1Layout.setVerticalGroup(

64

panelWarnaTransparan1Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(panelWarnaTransparan1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jLabel9)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE))

);

jLabel7.setText("Copyright 2018");

keluar.setText("Keluar");

keluar.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

keluarActionPerformed(evt);

}

});

javax.swing.GroupLayout panelWarnaTransparan2Layout = new

javax.swing.GroupLayout(panelWarnaTransparan2);

panelWarnaTransparan2.setLayout(panelWarnaTransparan2Layout);

panelWarnaTransparan2Layout.setHorizontalGroup(

panelWarnaTransparan2Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

panelWarnaTransparan2Layout.createSequentialGroup()

.addGap(18, 18, 18)

.addComponent(jLabel7)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(keluar, javax.swing.GroupLayout.PREFERRED_SIZE, 69,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap())

);

panelWarnaTransparan2Layout.setVerticalGroup(

panelWarnaTransparan2Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(panelWarnaTransparan2Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

65

.addGroup(panelWarnaTransparan2Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.BASELINE)

.addComponent(jLabel7)

.addComponent(keluar, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap())

);

jLabel1.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/ibu.png"))); // NOI18N

jLabel2.setFont(new java.awt.Font("Tw Cen MT Condensed Extra Bold", 2,

18)); // NOI18N

jLabel2.setText("Aplikasi Pembayaran Rawat Jalan");

jLabel3.setFont(new java.awt.Font("Times New Roman", 1, 36)); // NOI18N

jLabel3.setForeground(new java.awt.Color(255, 51, 51));

jLabel3.setText("Rumah Bersalin dan Pengobatan Mulia");

javax.swing.GroupLayout panelAlpha1Layout = new

javax.swing.GroupLayout(panelAlpha1);

panelAlpha1.setLayout(panelAlpha1Layout);

panelAlpha1Layout.setHorizontalGroup(

panelAlpha1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD

ING)

.addGroup(panelAlpha1Layout.createSequentialGroup()

.addGap(22, 22, 22)

.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE,

227, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(panelAlpha1Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addComponent(jLabel2)

.addComponent(jLabel3))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE))

);

panelAlpha1Layout.setVerticalGroup(

66

panelAlpha1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD

ING)

.addGroup(panelAlpha1Layout.createSequentialGroup()

.addGroup(panelAlpha1Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(panelAlpha1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jLabel1,

javax.swing.GroupLayout.PREFERRED_SIZE, 167,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(panelAlpha1Layout.createSequentialGroup()

.addGap(34, 34, 34)

.addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jLabel3)))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE))

);

jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel4.setText("No. Registrasi");

jLabel5.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel5.setText("No KTP");

jLabel6.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel6.setText("Tanggal");

simpan.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

simpan.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/Open-Folder-

Accept32.png"))); // NOI18N

simpan.setText("Simpan");

simpan.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

simpanActionPerformed(evt);

}

});

hapus.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

67

hapus.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/Open-Folder-

Delete32.png"))); // NOI18N

hapus.setText("Hapus");

hapus.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

hapusActionPerformed(evt);

}

});

edit.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

edit.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/addressbook-

edit32_1.png"))); // NOI18N

edit.setText("Edit");

edit.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

editActionPerformed(evt);

}

});

nor.setEditable(false);

jLabel8.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel8.setText("Keluhan");

jLabel10.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel10.setText("Terapi");

hasil.setColumns(20);

hasil.setRows(5);

jScrollPane2.setViewportView(hasil);

javax.swing.GroupLayout panelWarnaTransparan3Layout = new

javax.swing.GroupLayout(panelWarnaTransparan3);

panelWarnaTransparan3.setLayout(panelWarnaTransparan3Layout);

panelWarnaTransparan3Layout.setHorizontalGroup(

panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(panelWarnaTransparan3Layout.createSequentialGroup()

.addGap(28, 28, 28)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.TRAILING)

68

.addGroup(panelWarnaTransparan3Layout.createSequentialGroup()

.addGap(21, 21, 21)

.addComponent(simpan)

.addGap(18, 18, 18)

.addComponent(hapus)

.addGap(18, 18, 18)

.addComponent(edit)

.addGap(0, 11, Short.MAX_VALUE))

.addGroup(javax.swing.GroupLayout.Alignment.LEADING,

panelWarnaTransparan3Layout.createSequentialGroup()

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.LEADING)

.addComponent(jLabel5)

.addComponent(jLabel6)

.addComponent(jLabel4)

.addComponent(jLabel10)

.addComponent(jLabel8))

.addGap(51, 51, 51)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.LEADING)

.addComponent(nor)

.addComponent(ktp, 0,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jScrollPane2)

.addComponent(jDateChooser1,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(terapi))))

.addGap(19, 19, 19))

);

panelWarnaTransparan3Layout.setVerticalGroup(

panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(panelWarnaTransparan3Layout.createSequentialGroup()

.addContainerGap()

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.BASELINE)

.addComponent(jLabel4)

.addComponent(nor, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

69

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.BASELINE)

.addComponent(jLabel5)

.addComponent(ktp, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.TRAILING)

.addComponent(jLabel6)

.addComponent(jDateChooser1,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(11, 11, 11)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.LEADING)

.addComponent(jLabel8)

.addComponent(jScrollPane2,

javax.swing.GroupLayout.PREFERRED_SIZE, 79,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(11, 11, 11)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.LEADING)

.addComponent(jLabel10)

.addComponent(terapi, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(30, 30, 30)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.BASELINE)

.addComponent(hapus)

.addComponent(simpan)

.addComponent(edit))

.addGap(26, 26, 26))

);

70

table.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

{null, null, null},

{null, null, null},

{null, null, null},

{null, null, null}

},

new String [] {

"Title 1", "Title 2", "Title 3"

}

));

table.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

tableMouseClicked(evt);

}

});

jScrollPane1.setViewportView(table);

tambah.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

tambah.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/redo.png"))); // NOI18N

tambah.setText("Tambah");

tambah.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

tambahActionPerformed(evt);

}

});

batal.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

batal.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/undo.png"))); // NOI18N

batal.setText("Batal");

batal.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

batalActionPerformed(evt);

}

});

bersih.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

bersih.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/recycled.png"))); //

NOI18N

bersih.setText("Bersih");

bersih.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

71

bersihActionPerformed(evt);

}

});

cari.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

cari.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/xmag.png"))); // NOI18N

cari.setText("Cari");

cari.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

cariActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel1Layout = new

javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

TRAILING, false)

.addComponent(panelAlpha1,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(panelWarnaTransparan1,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(panelWarnaTransparan2,

javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING,

jPanel1Layout.createSequentialGroup()

.addComponent(panelWarnaTransparan3,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

TRAILING)

.addGroup(jPanel1Layout.createSequentialGroup()

72

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

LEADING)

.addComponent(jScrollPane1,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(isicari,

javax.swing.GroupLayout.PREFERRED_SIZE, 351,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(cari)))

.addGap(6, 6, 6))

.addGroup(javax.swing.GroupLayout.Alignment.LEADING,

jPanel1Layout.createSequentialGroup()

.addGap(80, 80, 80)

.addComponent(tambah)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(bersih)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(batal)))))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE))

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(panelAlpha1,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(panelWarnaTransparan1,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

73

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(jScrollPane1,

javax.swing.GroupLayout.PREFERRED_SIZE, 98,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

BASELINE)

.addComponent(isicari,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(cari))

.addGap(18, 18, 18)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

BASELINE)

.addComponent(tambah)

.addComponent(bersih)

.addComponent(batal)))

.addComponent(panelWarnaTransparan3,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 32,

Short.MAX_VALUE)

.addComponent(panelWarnaTransparan2,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

);

javax.swing.GroupLayout layout = new

javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

74

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

);

pack();

}// </editor-fold>

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

// TODO add your handling code here:

new menuadmin().setVisible(true);

this.dispose();

this.setVisible(false);

}

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

// TODO add your handling code here:

java.sql.Connection conn = new DBConnection().connect();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String calender = sdf.format(jDateChooser1.getDate());

try{

String sql="insert into registrasi (no_registrasi,no_ktp,tanggal,keluhan,terapi)"

+ "values(?,?,?,?,?)";

java.sql.PreparedStatement stmt=conn.prepareStatement(sql);

try{

stmt.setString(1,nor.getText());

stmt.setString(2,ktp.getSelectedItem().toString());

stmt.setString(3,calender);

stmt.setString(4,hasil.getText());

stmt.setString(5,terapi.getText());

stmt.executeUpdate();

stmt.isClosed();

stmt.close();

JOptionPane.showMessageDialog(null,"Data berhasil di simpan");

Tampilkan();

baru();

id_auto();

75

}catch(SQLException se){

JOptionPane.showMessageDialog(null, "ERROR" + se.getMessage());

}

stmt.close();

}catch(Exception e){}

}

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

// TODO add your handling code here:

java.sql.Connection conn = new DBConnection().connect();

int ok=JOptionPane.showConfirmDialog(null,"Apakah Anda

yakin?","Konfirmasi",JOptionPane.YES_NO_OPTION);

if(ok==0){

try{

String sql="delete from registrasi where no_registrasi

='"+nor.getText()+"'";

java.sql.PreparedStatement stmt=conn.prepareStatement(sql);

stmt.executeUpdate();

Tampilkan();

id_auto();

JOptionPane.showMessageDialog(null,"Data Berhasil di hapus");

}catch(Exception e){

JOptionPane.showMessageDialog(null,"Data Gagal di hapus");

}

}

}

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

// TODO add your handling code here:

java.sql.Connection conn = new DBConnection().connect();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String calender = sdf.format(jDateChooser1.getDate());

String sql="update registrasi set no_registrasi=?,no_ktp=?,tanggal=?,

keluhan=?,terapi=? where no_registrasi='"+nor.getText()+"'";

java.sql.PreparedStatement stmt = null;

try {

stmt = conn.prepareStatement(sql);

} catch (SQLException ex) {

}

try{

stmt.setString(1,nor.getText());

stmt.setString(2,ktp.getSelectedItem().toString());

76

stmt.setString(3,calender);

stmt.setString(4,hasil.getText());

stmt.setString(5,terapi.getText());

stmt.executeUpdate();

Tampilkan();

JOptionPane.showMessageDialog(null,"Data Berhasil di Ubah");

}catch(SQLException se){

}

}

private void tableMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

Mouse();

}

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

// TODO add your handling code here:

on();

}

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

// TODO add your handling code here:

off();

}

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

// TODO add your handling code here:

baru();

}

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

// TODO add your handling code here:

cari();

}

public void Mouse(){

int baris = table.getSelectedRow();

String id = DftTabMode1.getValueAt(baris, 0).toString();

String kdr = DftTabMode1.getValueAt(baris, 1).toString();

java.util.Date datel = null;

try{

datel = new SimpleDateFormat("yyyy-MM-

dd").parse(DftTabMode1.getValueAt(baris,2).toString());

77

}catch (ParseException ex){

}

String diag = DftTabMode1.getValueAt(baris, 3).toString();

String h = DftTabMode1.getValueAt(baris, 4).toString();

nor.setText(id);

ktp.setSelectedItem(kdr);

jDateChooser1.setDate(datel);

hasil.setText(diag);

terapi.setText(h);

}

public void cari(){

DefaultTableModel tabel = new DefaultTableModel();

tabel.addColumn("No Registrasi");

tabel.addColumn("No KTP");

tabel.addColumn("Tanggal");

tabel.addColumn("Keluhan");

tabel.addColumn("Terapi");

try{

java.sql.Connection conn = new DBConnection().connect();

java.sql.Statement stmt = conn.createStatement();

String SQL = "Select * From registrasi WHERE no_registrasi like '%" +

isicari.getText() + "%'" + " or no_ktp like '%" + isicari.getText() + "%'"

+ " or tanggal like '%" + isicari.getText() + "%'" + " or keluhan like '%"

+ isicari.getText() + "%'" + " or terapi like '%" + isicari.getText() + "%'";

java.sql.ResultSet rslt = stmt.executeQuery(SQL);

while (rslt.next()){

tabel.addRow(new Object[]{

rslt.getString(1),

rslt.getString(2),

rslt.getString(3),

rslt.getString(4),

rslt.getString(5)

});

}

table.setModel(tabel);

}catch (Exception e){

78

}

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code

(optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default

look and feel.

* For details see

http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :

javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(registrasi.class.getName()).log(java.util.logging.L

evel.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(registrasi.class.getName()).log(java.util.logging.L

evel.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(registrasi.class.getName()).log(java.util.logging.L

evel.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(registrasi.class.getName()).log(java.util.logging.L

evel.SEVERE, null, ex);

}

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

79

new registrasi().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JButton batal;

private javax.swing.JButton bersih;

private javax.swing.JButton cari;

private javax.swing.JButton edit;

private javax.swing.JButton hapus;

private javax.swing.JTextArea hasil;

private javax.swing.JTextField isicari;

private com.toedter.calendar.JDateChooser jDateChooser1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JPanel jPanel1;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JScrollPane jScrollPane2;

private kelas.ButtonImageGlassMerah keluar;

private javax.swing.JComboBox<String> ktp;

private javax.swing.JTextField nor;

private kelas.PanelAlpha panelAlpha1;

private kelas.PanelWarnaTransparan panelWarnaTransparan1;

private kelas.PanelWarnaTransparan panelWarnaTransparan2;

private kelas.PanelWarnaTransparan panelWarnaTransparan3;

private javax.swing.JButton simpan;

private javax.swing.JTable table;

private javax.swing.JButton tambah;

private javax.swing.JTextField terapi;

// End of variables declaration

}

Code generation Transaksi

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

80

*/

package rawatjalan;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import kelas.DBConnection;

/**

*

* @author ACER

*/

public class transaksi extends javax.swing.JFrame {

private DefaultTableModel DftTabMode1;

/**

* Creates new form transaksi

*/

public transaksi() {

initComponents();

this.setLocationRelativeTo(null);

Tampilkan();

id_auto();

tampil_autores();

tampil_autobiaya();

tampil_autodokter();

off();

}

private void Tabel(javax.swing.JTable tb, int lebar[] ) {

tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

int kolom=tb.getColumnCount();

for(int i=0;i < kolom;i++) {

javax.swing.table.TableColumn

tbc=tb.getColumnModel().getColumn(i);

tbc.setPreferredWidth(lebar[i]);

tb.setRowHeight(17);

}

81

}

public void Tampilkan(){

Object[] Baris={"No Transaksi","No Registrasi","Tanggal","ID Biaya","Kode

Dokter","Total"};

DftTabMode1 = new DefaultTableModel(null, Baris);

table.setModel(DftTabMode1);

Tabel(table, new int[]{150,150,100,100,150,100});

for (int i = 0; i < table.getColumnCount(); i++) {

table.getColumnModel().getColumn(i);

}

//panggil method koneksi

java.sql.Connection conn = new DBConnection().connect();

//untuk menampilkan di table

try{

String sql="Select * from transaksi order by no_transaksi desc";

java.sql.Statement stmt=conn.createStatement();

java.sql.ResultSet rslt=stmt.executeQuery(sql);

while(rslt.next()){

String no=rslt.getString("no_transaksi");

String nor=rslt.getString("no_registrasi");

String t=rslt.getString("tgl_transaksi");

String idb=rslt.getString("id_biaya");

String kod=rslt.getString("kode_dokter");

String tot=rslt.getString("total");

String[] dataField={no,nor,t,idb,kod,tot};

DftTabMode1.addRow(dataField);

}

}catch(Exception ex){}

}

public void id_auto(){

try{

java.sql.Connection conn = new DBConnection().connect();

Statement stmt = conn.createStatement();

String Sql = "Select max(right(no_transaksi,10)) as no from transaksi";

ResultSet rs = stmt.executeQuery(Sql);

while (rs.next()){

if(rs.first()== false){

not.setText("TR0000000001");

}else{

rs.last();

82

int set_id = rs.getInt(1)+1;

String no = String.valueOf(set_id);

int id_next = no.length();

for (int a = 0; a <10 - id_next; a++){

no = "0" + no;

}

not.setText("TR" + no);

}

}

}catch(SQLException ex){

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

}

}

public void tampil_autores(){

java.sql.Connection conn = new DBConnection().connect();

try {

String sql="select * from registrasi order by no_registrasi desc ";

java.sql.Statement stmt=conn.createStatement();

java.sql.ResultSet rslt=stmt.executeQuery(sql);

while(rslt.next()){

nores.addItem(rslt.getString("no_registrasi"));

}

rslt.close();

}

catch (SQLException ex) {

}

}

public void tampil_autobiaya(){

java.sql.Connection conn = new DBConnection().connect();

try {

String sql="select * from biaya order by id_biaya desc ";

java.sql.Statement stmt=conn.createStatement();

java.sql.ResultSet rslt=stmt.executeQuery(sql);

while(rslt.next()){

idbiaya.addItem(rslt.getString("id_biaya"));

}

rslt.close();

}

catch (SQLException ex) {

83

}

}

public void tampil_autodokter(){

java.sql.Connection conn = new DBConnection().connect();

try {

String sql="select * from dokter order by kode_dokter desc ";

java.sql.Statement stmt=conn.createStatement();

java.sql.ResultSet rslt=stmt.executeQuery(sql);

while(rslt.next()){

kodedokter.addItem(rslt.getString("kode_dokter"));

}

rslt.close();

}

catch (SQLException ex) {

}

}

public void baru(){

total.setText("");

}

public void on(){

not.setEnabled(true);

nores.setEnabled(true);

tgl.setEnabled(true);

idbiaya.setEnabled(true);

kodedokter.setEnabled(true);

total.setEnabled(true);

isicari.setEnabled(true);

simpan.setEnabled(true);

hapus.setEnabled(true);

edit.setEnabled(true);

bersih.setEnabled(true);

cari.setEnabled(true);

}

public void off(){

not.setEnabled(false);

nores.setEnabled(false);

84

tgl.setEnabled(false);

idbiaya.setEnabled(false);

kodedokter.setEnabled(false);

total.setEnabled(false);

isicari.setEnabled(false);

simpan.setEnabled(false);

hapus.setEnabled(false);

edit.setEnabled(false);

bersih.setEnabled(false);

cari.setEnabled(false);

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

panelWarnaTransparan1 = new kelas.PanelWarnaTransparan();

jLabel9 = new javax.swing.JLabel();

panelWarnaTransparan2 = new kelas.PanelWarnaTransparan();

jLabel7 = new javax.swing.JLabel();

keluar = new kelas.ButtonImageGlassMerah();

panelAlpha1 = new kelas.PanelAlpha();

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

panelWarnaTransparan3 = new kelas.PanelWarnaTransparan();

jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

simpan = new javax.swing.JButton();

hapus = new javax.swing.JButton();

edit = new javax.swing.JButton();

not = new javax.swing.JTextField();

jLabel8 = new javax.swing.JLabel();

jLabel10 = new javax.swing.JLabel();

nores = new javax.swing.JComboBox<>();

85

tgl = new com.toedter.calendar.JDateChooser();

jLabel11 = new javax.swing.JLabel();

total = new javax.swing.JTextField();

kodedokter = new javax.swing.JComboBox<>();

idbiaya = new javax.swing.JComboBox<>();

jScrollPane1 = new javax.swing.JScrollPane();

table = new javax.swing.JTable();

tambah = new javax.swing.JButton();

batal = new javax.swing.JButton();

bersih = new javax.swing.JButton();

isicari = new javax.swing.JTextField();

cari = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jPanel1.setBackground(new java.awt.Color(0, 153, 255));

jLabel9.setFont(new java.awt.Font("Times New Roman", 1, 18)); // NOI18N

jLabel9.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/money-icon (2).png"))); //

NOI18N

jLabel9.setText("From Transaksi");

javax.swing.GroupLayout panelWarnaTransparan1Layout = new

javax.swing.GroupLayout(panelWarnaTransparan1);

panelWarnaTransparan1.setLayout(panelWarnaTransparan1Layout);

panelWarnaTransparan1Layout.setHorizontalGroup(

panelWarnaTransparan1Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

panelWarnaTransparan1Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addComponent(jLabel9)

.addGap(357, 357, 357))

);

panelWarnaTransparan1Layout.setVerticalGroup(

panelWarnaTransparan1Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

panelWarnaTransparan1Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

86

.addComponent(jLabel9)

.addContainerGap())

);

jLabel7.setText("Copyright 2018");

keluar.setText("Keluar");

keluar.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

keluarActionPerformed(evt);

}

});

javax.swing.GroupLayout panelWarnaTransparan2Layout = new

javax.swing.GroupLayout(panelWarnaTransparan2);

panelWarnaTransparan2.setLayout(panelWarnaTransparan2Layout);

panelWarnaTransparan2Layout.setHorizontalGroup(

panelWarnaTransparan2Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

panelWarnaTransparan2Layout.createSequentialGroup()

.addGap(18, 18, 18)

.addComponent(jLabel7)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(keluar, javax.swing.GroupLayout.PREFERRED_SIZE, 69,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap())

);

panelWarnaTransparan2Layout.setVerticalGroup(

panelWarnaTransparan2Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(panelWarnaTransparan2Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)

.addGroup(panelWarnaTransparan2Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.BASELINE)

.addComponent(jLabel7)

.addComponent(keluar, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

87

.addContainerGap())

);

jLabel1.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/ibu.png"))); // NOI18N

jLabel2.setFont(new java.awt.Font("Tw Cen MT Condensed Extra Bold", 2,

18)); // NOI18N

jLabel2.setText("Aplikasi Pembayaran Rawat Jalan");

jLabel3.setFont(new java.awt.Font("Times New Roman", 1, 36)); // NOI18N

jLabel3.setForeground(new java.awt.Color(255, 51, 51));

jLabel3.setText("Rumah Bersalin dan Pengobatan Mulia");

javax.swing.GroupLayout panelAlpha1Layout = new

javax.swing.GroupLayout(panelAlpha1);

panelAlpha1.setLayout(panelAlpha1Layout);

panelAlpha1Layout.setHorizontalGroup(

panelAlpha1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD

ING)

.addGroup(panelAlpha1Layout.createSequentialGroup()

.addGap(22, 22, 22)

.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE,

227, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(panelAlpha1Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addComponent(jLabel2)

.addComponent(jLabel3))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE))

);

panelAlpha1Layout.setVerticalGroup(

panelAlpha1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD

ING)

.addGroup(panelAlpha1Layout.createSequentialGroup()

.addGroup(panelAlpha1Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(panelAlpha1Layout.createSequentialGroup()

.addContainerGap()

88

.addComponent(jLabel1,

javax.swing.GroupLayout.PREFERRED_SIZE, 167,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(panelAlpha1Layout.createSequentialGroup()

.addGap(34, 34, 34)

.addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jLabel3)))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE))

);

jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel4.setText("No. Transaksi");

jLabel5.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel5.setText("No. Registrasi");

jLabel6.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel6.setText("Tanggal");

simpan.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

simpan.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/Open-Folder-

Accept32.png"))); // NOI18N

simpan.setText("Simpan");

simpan.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

simpanActionPerformed(evt);

}

});

hapus.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

hapus.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/Open-Folder-

Delete32.png"))); // NOI18N

hapus.setText("Hapus");

hapus.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

hapusActionPerformed(evt);

}

});

edit.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

89

edit.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/addressbook-

edit32_1.png"))); // NOI18N

edit.setText("Edit");

edit.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

editActionPerformed(evt);

}

});

jLabel8.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel8.setText("ID. Biaya");

jLabel10.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel10.setText("Kode Dokter");

jLabel11.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

jLabel11.setText("Total");

javax.swing.GroupLayout panelWarnaTransparan3Layout = new

javax.swing.GroupLayout(panelWarnaTransparan3);

panelWarnaTransparan3.setLayout(panelWarnaTransparan3Layout);

panelWarnaTransparan3Layout.setHorizontalGroup(

panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(panelWarnaTransparan3Layout.createSequentialGroup()

.addGap(28, 28, 28)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.LEADING)

.addGroup(panelWarnaTransparan3Layout.createSequentialGroup()

.addComponent(jLabel11)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE))

.addGroup(panelWarnaTransparan3Layout.createSequentialGroup()

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.TRAILING)

.addGroup(panelWarnaTransparan3Layout.createSequentialGroup()

.addGap(21, 21, 21)

.addComponent(simpan)

.addGap(18, 18, 18)

.addComponent(hapus)

90

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(edit)

.addGap(0, 19, Short.MAX_VALUE))

.addGroup(javax.swing.GroupLayout.Alignment.LEADING,

panelWarnaTransparan3Layout.createSequentialGroup()

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.LEADING)

.addComponent(jLabel5)

.addComponent(jLabel6)

.addComponent(jLabel4)

.addComponent(jLabel10)

.addComponent(jLabel8))

.addGap(51, 51, 51)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.LEADING)

.addComponent(not)

.addComponent(nores, 0,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(tgl,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(total)

.addComponent(kodedokter, 0,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(idbiaya, 0,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))

.addGap(19, 19, 19))))

);

panelWarnaTransparan3Layout.setVerticalGroup(

panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupLayout.Align

ment.LEADING)

.addGroup(panelWarnaTransparan3Layout.createSequentialGroup()

.addContainerGap()

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.BASELINE)

.addComponent(jLabel4)

.addComponent(not, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

91

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.BASELINE)

.addComponent(jLabel5)

.addComponent(nores, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.TRAILING)

.addComponent(jLabel6)

.addComponent(tgl, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(10, 10, 10)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.BASELINE)

.addComponent(jLabel8)

.addComponent(idbiaya, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.BASELINE)

.addComponent(jLabel10)

.addComponent(kodedokter,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.LEADING)

.addComponent(jLabel11)

.addComponent(total, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

92

.addGap(34, 34, 34)

.addGroup(panelWarnaTransparan3Layout.createParallelGroup(javax.swing.GroupL

ayout.Alignment.BASELINE)

.addComponent(simpan)

.addComponent(hapus)

.addComponent(edit))

.addContainerGap())

);

table.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

{null, null, null},

{null, null, null},

{null, null, null},

{null, null, null}

},

new String [] {

"Title 1", "Title 2", "Title 3"

}

));

table.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

tableMouseClicked(evt);

}

});

jScrollPane1.setViewportView(table);

tambah.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

tambah.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/redo.png"))); // NOI18N

tambah.setText("Tambah");

tambah.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

tambahActionPerformed(evt);

}

});

batal.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

batal.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/undo.png"))); // NOI18N

batal.setText("Batal");

batal.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

batalActionPerformed(evt);

93

}

});

bersih.setFont(new java.awt.Font("Times New Roman", 1, 12)); // NOI18N

bersih.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/recycled.png"))); //

NOI18N

bersih.setText("Bersih");

bersih.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

bersihActionPerformed(evt);

}

});

cari.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N

cari.setIcon(new

javax.swing.ImageIcon(getClass().getResource("/gambar/xmag.png"))); // NOI18N

cari.setText("Cari");

cari.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

cariActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel1Layout = new

javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

TRAILING, false)

.addComponent(panelAlpha1,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(panelWarnaTransparan1,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(panelWarnaTransparan2,

javax.swing.GroupLayout.Alignment.LEADING,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

94

.addGroup(javax.swing.GroupLayout.Alignment.LEADING,

jPanel1Layout.createSequentialGroup()

.addComponent(panelWarnaTransparan3,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

TRAILING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

LEADING)

.addComponent(jScrollPane1,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(isicari,

javax.swing.GroupLayout.PREFERRED_SIZE, 351,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(cari)))

.addGap(6, 6, 6))

.addGroup(javax.swing.GroupLayout.Alignment.LEADING,

jPanel1Layout.createSequentialGroup()

.addGap(80, 80, 80)

.addComponent(tambah)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(bersih)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(batal)))))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE))

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

95

.addComponent(panelAlpha1,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(panelWarnaTransparan1,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(jScrollPane1,

javax.swing.GroupLayout.PREFERRED_SIZE, 98,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

BASELINE)

.addComponent(isicari,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(cari))

.addGap(18, 18, 18)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.

BASELINE)

.addComponent(tambah)

.addComponent(bersih)

.addComponent(batal)))

.addComponent(panelWarnaTransparan3,

javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 32,

Short.MAX_VALUE)

.addComponent(panelWarnaTransparan2,

javax.swing.GroupLayout.PREFERRED_SIZE,

96

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE))

);

javax.swing.GroupLayout layout = new

javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.PREFERRED_SIZE)

);

pack();

}// </editor-fold>

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

// TODO add your handling code here:

new menuadmin().setVisible(true);

this.dispose();

this.setVisible(false);

}

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

// TODO add your handling code here:

java.sql.Connection conn = new DBConnection().connect();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String calender = sdf.format(tgl.getDate());

try{

String sql="insert into transaksi

(no_transaksi,tgl_transaksi,no_registrasi,id_biaya,total,kode_dokter)"

+ "values(?,?,?,?,?,?)";

java.sql.PreparedStatement stmt=conn.prepareStatement(sql);

try{

stmt.setString(1,not.getText());

stmt.setString(2,calender);

stmt.setString(3,nores.getSelectedItem().toString());

97

stmt.setString(4,idbiaya.getSelectedItem().toString());

stmt.setString(5,total.getText());

stmt.setString(6,kodedokter.getSelectedItem().toString());

stmt.executeUpdate();

stmt.isClosed();

stmt.close();

JOptionPane.showMessageDialog(null,"Data berhasil di simpan");

Tampilkan();

baru();

id_auto();

}catch(SQLException se){

JOptionPane.showMessageDialog(null, "ERROR" + se.getMessage());

}

stmt.close();

}catch(Exception e){}

}

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

// TODO add your handling code here:

java.sql.Connection conn = new DBConnection().connect();

int ok=JOptionPane.showConfirmDialog(null,"Apakah Anda

yakin?","Konfirmasi",JOptionPane.YES_NO_OPTION);

if(ok==0){

try{

String sql="delete from transaksi where no_transaksi ='"+not.getText()+"'";

java.sql.PreparedStatement stmt=conn.prepareStatement(sql);

stmt.executeUpdate();

Tampilkan();

id_auto();

JOptionPane.showMessageDialog(null,"Data Berhasil di hapus");

}catch(Exception e){

JOptionPane.showMessageDialog(null,"Data Gagal di hapus");

}

}

}

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

// TODO add your handling code here:

java.sql.Connection conn = new DBConnection().connect();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String calender = sdf.format(tgl.getDate());

98

String sql="update transaksi set no_transaksi=?,tgl_transaksi=?,no_registrasi=?,

id_biaya=?,total=?,kode_dokter=? where no_transaksi='"+not.getText()+"'";

java.sql.PreparedStatement stmt = null;

try {

stmt = conn.prepareStatement(sql);

} catch (SQLException ex) {

}

try{

stmt.setString(1,not.getText());

stmt.setString(2,calender);

stmt.setString(3,nores.getSelectedItem().toString());

stmt.setString(4,idbiaya.getSelectedItem().toString());

stmt.setString(5,total.getText());

stmt.setString(6,kodedokter.getSelectedItem().toString());

stmt.executeUpdate();

Tampilkan();

JOptionPane.showMessageDialog(null,"Data Berhasil di Ubah");

}catch(SQLException se){

}

}

private void tableMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

Mouse();

}

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

// TODO add your handling code here:

on();

}

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

// TODO add your handling code here:

off();

}

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

// TODO add your handling code here:

baru();

}

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

99

// TODO add your handling code here:

cari();

}

public void Mouse(){

int baris = table.getSelectedRow();

String id = DftTabMode1.getValueAt(baris, 0).toString();

String nore = DftTabMode1.getValueAt(baris, 1).toString();

java.util.Date datel = null;

try{

datel = new SimpleDateFormat("yyyy-MM-

dd").parse(DftTabMode1.getValueAt(baris,2).toString());

}catch (ParseException ex){

}

String biaya = DftTabMode1.getValueAt(baris, 3).toString();

String kod = DftTabMode1.getValueAt(baris, 4).toString();

String tot = DftTabMode1.getValueAt(baris, 5).toString();

not.setText(id);

nores.setSelectedItem(nore);

tgl.setDate(datel);

idbiaya.setSelectedItem(biaya);

kodedokter.setSelectedItem(kod);

total.setText(tot);

}

public void cari(){

DefaultTableModel tabel = new DefaultTableModel();

tabel.addColumn("No Transaksi");

tabel.addColumn("No Registrasi");

tabel.addColumn("Tanggal");

tabel.addColumn("ID Biaya");

tabel.addColumn("Kode Dokter");

tabel.addColumn("Total");

try{

java.sql.Connection conn = new DBConnection().connect();

java.sql.Statement stmt = conn.createStatement();

String SQL = "Select * From transaksi WHERE no_transaksi like '%" +

isicari.getText() + "%'" + " or no_registrasi like '%" + isicari.getText() + "%'"

100

+ " or tgl_transaksi like '%" + isicari.getText() + "%'" + " or id_biaya

like '%" + isicari.getText() + "%'" + " or kode_dokter like '%" + isicari.getText() +

"%'"

+ " or total like '%" + isicari.getText() + "%'";

java.sql.ResultSet rslt = stmt.executeQuery(SQL);

while (rslt.next()){

tabel.addRow(new Object[]{

rslt.getString(1),

rslt.getString(2),

rslt.getString(3),

rslt.getString(4),

rslt.getString(5),

rslt.getString(6)

});

}

table.setModel(tabel);

}catch (Exception e){

}

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code

(optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default

look and feel.

* For details see

http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :

javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

101

java.util.logging.Logger.getLogger(transaksi.class.getName()).log(java.util.logging.L

evel.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(transaksi.class.getName()).log(java.util.logging.L

evel.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(transaksi.class.getName()).log(java.util.logging.L

evel.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(transaksi.class.getName()).log(java.util.logging.L

evel.SEVERE, null, ex);

}

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new transaksi().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JButton batal;

private javax.swing.JButton bersih;

private javax.swing.JButton cari;

private javax.swing.JButton edit;

private javax.swing.JButton hapus;

private javax.swing.JComboBox<String> idbiaya;

private javax.swing.JTextField isicari;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel11;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

102

private javax.swing.JPanel jPanel1;

private javax.swing.JScrollPane jScrollPane1;

private kelas.ButtonImageGlassMerah keluar;

private javax.swing.JComboBox<String> kodedokter;

private javax.swing.JComboBox<String> nores;

private javax.swing.JTextField not;

private kelas.PanelAlpha panelAlpha1;

private kelas.PanelWarnaTransparan panelWarnaTransparan1;

private kelas.PanelWarnaTransparan panelWarnaTransparan2;

private kelas.PanelWarnaTransparan panelWarnaTransparan3;

private javax.swing.JButton simpan;

private javax.swing.JTable table;

private javax.swing.JButton tambah;

private com.toedter.calendar.JDateChooser tgl;

private javax.swing.JTextField total;

// End of variables declaration

}

3.5.2. Blac box Testing

Tabel III.11.

Hasil Pengujian Black Box Testing User Login No Skenario Pengujian Test case Hasil yang

diharapkan

Hasil

pengujian

Kesimpulan

1. Username dan password

tidak diisi kemudian klik

tombol login

Username: (kosong)

password:(kosong)

Sistem akan

menolak akses

user “Anda gagal

login”

Sesuai

harapan

Valid

2. Input username diisi dan

password tidak diisi atau

kosong kemudian klik

tombol login

Username : Admin

Password:(

kosong)

Sistem akan

menolak akses

user “Anda gagal

login”

Sesuai

harapan

Valid

3. Input username tidak

diisi (kosong) dan

password diisi kemudian

klik tombol login

Username: (kosong)

password : admin

Sistem akan

menolak akses

user “Anda gagal

login”

Sesuai

harapan

Valid

4. Mengetikkan salah satu

input dengan data yang

sama dengan huruf

kapital pada username

atau password kemudian

klik tombol login

Username : Admin

(benar) Password :

Admin (benar)

Sistem akan

menolak akses

user “Anda gagal

login”

Sesuai

harapan

Valid

5. Mengetikkan user name

dan password dengan

data yang benar

kemudian klik tombol

login

Username: admin

(benar) Password :

admin (benar)

Sistem menerima

akses login dan

menampilkan

“selamat datang”

kemudian masuk

pada halaman

administrator

Sesuai

harapan

Valid

103

Sumber : Hasil Penelitian (2018)

3.5.3. Spesifikasi Hardware dan Software

Hardware dan Software merupakan suatu alat yang diperluan untuk

menjalankan aplikasi yang akan digunakan. Hardware dan software yang digunakan

yang digunakan adalah:

1.Spesifikasi Hardware

Sistem :Windows 7 32-bit

Processor :Celeron @2,13 GHz

RAM :2 GB

Harddisk :500GB

Monior :14 LED

Keyboard :86 key

Printer :Dot Matrix

Mouse :Standart

2.Spesifikasi Software

Bahasa script programming :PHP

Web Server :Apache 3.2

DBSM :MySQL