1. Latar Belakang
Poliklinik adalah instansi kesehatan yang menyediakan layanan kesehatan untuk pasien
rawat jalan. Di poliklinik terdapat beberapa dokter baik dokter umum maupun dokter
spesialis. Saat ini pendataan pasien dengan alur seperti berikut
a. Pasien datang ke Poliklinik dan mengambil nomer antrian
b. Pukul 7.00 layanan pendaftaran dibuka, petugas akan memanggil pasien sesuai
nomer antrian dan mendata penyakit pasien serta menentukan dokter yang sesuai
c. Pasien membawa berkas dan mengantri didepan tempat praktek dokter yang
ditentukan.
d. Layanan pengobatan dibuka jam 8.00 sesuai urutan antri pasien
Dengan alur seperti diatas seringkali menyebabkan antrian panjang, terutama pada bagian
pendataan pasien oleh petugas pendaftaran. Saat layanan pendaftaran pukul 7.00 biasanya
sudah banyak pasien yang antri, lambatnya proses pendaftaran menyebabkan antrian
semakin banyak.
2. Usulan
Dalam solusi yang diusulkan, proses pendataan dimulai sejak pasien datang, sehingga tidak
menunggu layanan pendaftaran pasien dibuka. Pasien diharuskan melakukan scan pada
KTP nya. Program akan menganalisa gambar dan mengambil data nama, alamat, pekerjaan
dan tanggal lahir. ketika layanan pendaftaran dibuka jam 7.00 petugas tinggal memanggil
pasien sesuai nomer urut dan tinggal melengkapi data keluhan pasien dan menentukan
dokter yang tepat. Pasien yang datang ketika petugas melengkapi data pasien, dapat tetap
melakukan scan KTP nya dan akan diproses tanpa menunggu petugas selesai melayani
pasien.
Aplikasi akan menganalisa gambar KTP dan
mengambil identitas dari gambar tersebut
Pasien melakukan
scan/foto ktp
Pasien
Database
Petugas
pendaftaran
Tabel Spesialisasi
Tabel Pasien
Tabel Tabel Antrian
Tombol
Operasi
Table
Gambar KTP Jendela Aplikasi
Misal dalam contoh diatas , semua tabel yang memiliki foreign key ke table dokter,
maka yang ditampilkan adalah kolom nama.\
iii. Table
Kelas Table merupakan turunan kelas AbstractTableModel yaitu kelas yang dibuat
untuk mempermudah pengisian data pada JTable. Untuk itu kelas Table harus
menggoverride beberapa method yaitu :
getRowCount()
Untuk menghasilkan jumlah baris dalam table
getColumnCount()
Untuk menghasilkan jumlah baris dalam table
getValueAt(int rowIndex, int columnIndex)
Untuk mengambil data pada kolom dan baris tertentu
setValueAt(Object value, int rowIndex, int columnIndex)
Untuk mengisi data pada kolom dan baris tertentu
isCellEditable(int rowIndex, int columnIndex)
Untuk menentukan apakah sebuah kolom bisa diedit secara inline atau tidak
getColumnName(int columnIndex)
Untuk menghasilkan nama kolom dengan index tertentu.
Method ini adalah method konstruktor. Method ini memiliki parameter input
berupa setting yang kemudian dimasukkan ke atribut setting. Dalam method ini
dilakukan pemanggil method SetConnection yang berfungsi untuk membangun
koneksi antara program java dan database.
public void SetConnection()
e. Package Tampilan
i. Interface Form
Interface form memiliki beberapa method yang harus dioverride oleh kelas yang
mengimplement interface
BarisData getRecord()
Mengambil data dari tiap elemen penyusun form seperti text field, datepicker,
dan combo box dan mengembalikan nilai berupa BarisData
void setForm(BarisData record)
Mengisi nilai elemen sebuah form dengan nilai dari parameter input.
void clear()
Mengosongkan isi setiap elemen form
void setEnable(boolean status)
Mengatur status keaktifan form, jika status bernilai false maka semua elemen
form tidak akan bisa diubah atau diisi nilai baru
String getNamaTable()
Mengambil nama table yang direpresentasikan dalam sebuah form
Dimension getSize()
Mengambil ukuran form dalam bentuk Dimension. Tipe data Dimension
memiliki atribut width dan height.
ii. FormDokter
Berfungsi sebagai User Interface untuk memasukkan dan mengubah data Dokter.
Kelas ini mengimplement interface Form. Sehingga harus mengoverride method
method dari interface Form
v. FormPendaftaranPasien
Berfungsi sebagai user interfaces untuk memasukkan data antrian pasien. Kelas
FormPendaftaranPasien merupakan impementasi dari interface Form.
vi. FormKunjunganSelesai
Form ini adalah turunan dari kelas FormKunjunganPasien, form ini digunakan
untuk menampilkan daftar kunjungan pasien yang telah diproses, hanya saja
bedanya pada form ini, tombol upload, dan panggil dihilangkan.
vii. JendelaDataInduk
Jendela data induk adalah user interfaces untuk mengelola data di database.
Jendela data induk digunakan untuk insert, update, dan delete data. Jendela data
induk terdiri dari beberapa atribut yaitu
private Form panel1 Form untuk mengisi atau mengubah data
private Table tableData Berisi data dari tabel yang sedang dibuka
private String tabel, whereClause = "" berisi nama tabel dan where clause
yang mungkin ada
private String mode Mode operasi aplikasi ( admin, pasien atau dokter )
private MySqlConnector connector Untuk melakukan operasi ke database
Karena form adalah interface, maka jendela data induk dapat dipasangi form dari
kelas apapun, selama kelas tersebut mengimplementasi interface form
Method ini dipanggil ketika tombol batal ditekan, method ini akan memanggil
method defaultButton untuk mengatur status aktivasi tombol ke setelan
default, serta mengosongkan form