BAB III PEMBAHASAN - repository.bsi.ac.id filepelayanan tersebut juga didukung oleh Laboratorium...
Transcript of BAB III PEMBAHASAN - repository.bsi.ac.id filepelayanan tersebut juga didukung oleh Laboratorium...
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