BAB IV
RANCANGAN SISITEM DAN PROGRAM USULAN 3.1. Analisis kebutuhan software
3.1.1. Tahapan Analisis Prosedur yang sedang Berjalan
Tahapan analisis prosedure yang diusulkan dapat terlihat jelas dalam perancangan terkait yakni Diagram Konteks, untuk mendapatkan gambaran awal yang lebih jelas mengenai perancangan sistem yang akan dibangun, maka terlebih dahulu penulis akan menjelaskan perancangan prosedur yang diusulkan, diantaranya adalah sebagai berikut:
1. Halaman pelayanan pendaftaran A.1 Pasien melakukan pendaftaran.
A.2 Pasien menyerahkan data pasien dengan cara di wawancara oleh bagian pendaftaran (petugas)
A.3 Bagian pendaftaran mencatat data pasien.
A.4 Bagian pendaftaran membuat kartu pasien dan kartu rekam medis yang nanti menghasilkan kartu rekam medis dan nomor antrian.
A.5 Kartu pasien diberikan kepada pasien yang akan berobat.
A.6 Kartu rekam medis disimpan di arsip bagian pendaftaran.
2. Halaman penjualan Obat (apotek)
B.1 Pasien yang sudah berobat meyerahkan resep ke bagian apotek.
B.2 Dari bagian apotek harus menegcek dulu ketersediaan obat dan biyaya pembelian obat, jika obat ada maka bagian apotek mencatat obat yang keluar, jika tidak ada apotek hanya mengeluarkan resep baru untuk membeli di apotek luar.
B.3 Dari proses di atas keluar struk pembayaran rangkap 2 yang satu untuk di arsipkan di bagian apotek dan yang satu diserahkan ke pasien.
3. Halakam Admin
C.1 Bagian admin dapat mengelola database.
C.2 Bagian admin merekap data tindakan, data petugas, data dokter, data obat, data pasien.
C.4 Bagian admin membuat laporan bulanan dari data keseluruhan untuk diserahkan kepada pimpinan Puskesmas.
3.1.2. Use Case Diagram
Diagram use case merupakan pemodalan untuk melakukan (behavior) sistem informasi yang akan dibuat dan mendeskripsikan sebuah interaksi Antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Dengan kata lain use case diagram digunakan untuk mengerahui fungsi apa saja yang ada didalam sistem informasi pendaftran pasein di Puskesmas FKTP Setukpa Kota Sukabumi.
1. Use Case Diagram Halaman Pendafatran
Gambar. 4.1 Halaman Pendaftran
Deskripi Use Case Diagram Halaman Pendafataran Table. 4.1
Deskripi Use Case Diagram Halaman Pendaftaran
Use Case Name Halaman Pendafataran
Requirements A1,A2,A3,A4.
goal Petugas pendaftaran hanya bias login sesuai dengan user dan passwordnya.
Pre-Condition Petugas pendaftran hanya melayani pasein yang akan daftar untuk pengobatan atau control kesehatan dan mendapatkan nomor antrian.
Post-Condition Dapat melihat informasi kesehatan dan serta meakukan registrasi.
Failed end Condition Hanya melihat informasi yang tersedia dan membatalkan untuk registrasi.
Primary Aktor Petugas Pendaftran.
Manin Flow / Basic Path 1. Mengakses website Puskesmas.
2. Melihat menu pendaftaran pasein.
3. Pasien bisa menginformasikan data diri kependaftaran yang tersedia dipuskesmas.
4. Petugas melakukan login sesuai levelnya.
Invariant -
2. Use Case Diagram Halaman Penjualan obat (apotek)
Gambar. 4.2
Use Case Diagram Halaman Penjualan obat (apotek) Deskripi Use Case Diagram Halaman Penjualan obat (apotek)
Table. 4.2
Deskripi Use Case Diagram Halaman Penjualan obat (apotek) Use Case Name Halaman Penjuan Obat
Requirements B1,B2,B3.
goal Petugas Apotek hanya bias login sesuai dengan user dan passwordnya.
Pre-Condition Petugas Apotek hanya melayani pasein yang membawa resep dari dokter sehabis melakuan control atau resep dari luar.
Post-Condition Dapat melihat informasi setok obat yang ada dan jumlah pengeluaran oabat.
Failed end Condition Hanya dapat melihat stok obat yang tersedia dan dapat membatalna transaksi penjualan.
Primary Aktor Apotek
Manin Flow / Basic Path 1. Mengakses website Puskesmas.
2. Melihat stok obat yang tersedia.
3. Petusgas dapat menginfornasikan keterbatasan obat kepada pasien dan petugas melakukan transaksi.
4. Petugas melakukan login sesuai levelnya.
Invariant -
3. Use Case Diagram Halaman admin
Gambar. 4.3
Use Case Diagram Halaman Admin
Deskripi Use Case Diagram Halaman admin
Table. 4.3
Deskripi Use Case Diagram Halaman admin Use Case Name Halaman Admin
Requirements C1,C2,C3,C4.
goal Admin hanya biasa login sesuai dengan user dan passwordnya.
Pre-Condition Admin hanya bisa mengatur database dan hanya bertugas melakukan laporan-laporan yang di perlukan untuk pimpinan Puskesmas.
Post-Condition Dapat mengatur database Puskesmas.
Failed end Condition Hanya Dapat mengatur database Puskesmas.
Primary Aktor Admin Manin Flow / Basic
Path
1. Mengakses website Puskesmas.
2. Menanbahkan data tindakan, data petugas, data dokter, data obat dan laporan yang di butuhkan oleh pimpinan Puskesmas.
3. Petugas admin melakukan login sesuai levelnya.
Invariant -
3.2.Desain
Pada tahap ini peneliti akan dijelaskan tentang desain database, desain software arsitektur, dan desain interface.
3.2.1. Basis Data
1. ERD (Entity Relation Diagram)
Gambar. 4.4
Entity Relation Diagram Sistem Pendaftaran Puskesmas FKTP Setukpa
2. LRS (Logical Recort Stucture)
Gambar. 4.5
Logical Recort Stucture Sistem Pendaftaran Puskesmas FKTP Setukpa
3. Spesifikasi File Sistem Usulan a. File Data Petugas
Table. 4.4 Data Petugas
Nama Tipe data keterangan
kd_petugas Char (4) Primary
b. File Data Obat
Table. 4.5 Data Obat
Nama Tipe data Keterangan
kd_obat Char (5) primary
nm_obat Vharchar (100)
harga_modal Int (10)
harja_jual Int (10)
Stok Int (10)
Keterangan Vharchar (100)
nm_petugas Vharchar (100)
no_telepon Vharchar (20)
User nama Char (20)
Passward Vharchar (200)
Level Vharchar (20
c. File Data Tindakan
Table. 4.6 Data Tindakan
Nama Tipe data Keterangan
no_daftar Char (7) Primary
no_rm Char (6)
tgl_daftra Date
Jam Time
kd_tindakan Char (4)
no_antri Int (4)
kd_petugas Char (4)
d. Spesifikasi File Data Pasein
Table. 4.7 Data Pasien
Nama Tipe data keterangan
nomor_rm Char (6) Primary
nm_pasein Vharchar (100)
no_indentitas Varchar (40)
jns_kelamin Enum „laki-laki‟,‟perempuan‟
gol_darah Enum „A‟,B‟,AB‟,O‟
Agama Vharchar (40)
tempat_lahir Varchar (100)
tanggal_lahir Date
Alamat Varchar (200)
stts_nikah Enum „menikah‟,belum menikah‟
Pekerjaan Varchar (100)
keluarga_status Enum „ayah‟,ibu‟,suami‟,istri‟,soudara‟
keluarga_nama Varchar (100) keluarga_telepon Varchar (20)
tgl_rekam Date
kd_petugas Char (6)
e. Spesifikasi File Data Transaksi
3.2.2. Arsitektur Perangkat Lunak a. Squence Diagram Pendaftran
b. Squence Diagram Apotek
Nama Tipe data Keterangan
Kd_suplayer Char (5) primary
nm_tindakan Vharcahr (100)
Harga Int (10)
c. Squence Diagram Login
d. Squence Diagram logout
e. Deployment Digram
Gambar. 4.6
Deployment Digram Puskesmas FKTP Setukpa
3.2.3. Antar Muka Pengguna a. Halaman Home
Gambar. 4.7 Tampilan Halaman Home
b. Halaman Login
Gambar. 4.8 Tampilan Halaman Login
c. Halaman Pendaftan
Gambar. 4.9
Tampilan Halaman Pendaftran
d. Halaman Apotek
Gambar. 4.10 Tampila Halaman Apotek
e. Halaman Tampilan Nota Penjualan Apotek
Gambar. 4.11
Tampilan Nota Transaksi Apotek
f. Halaman Admin
Gambar. 4.12 Tampilan Halaman Admin
3.3.Code Generatation
Dalam pembuatan website ini peneliti menggunakan bahasa pemograman tersetuktur, pada tahap code generation peneliti menampilkan listing code yang berkaitan dengan proses bisnis utama sistem pendaftran pasien.
a. Form Login
Table. 4.9 Form Login
<?php
if(isset($_POST['btnLogin'])){
$pesanError = array();
if ( trim($_POST['txtUser'])=="") {
$pesanError[] = "Data <b> Username </b> tidak boleh
kosong !";
}
if (trim($_POST['txtPassword'])=="") {
$pesanError[] = "Data <b> Password </b> tidak boleh kosong !";
}
if (trim($_POST['cmbLevel'])=="KOSONG") {
$pesanError[] = "Data <b>Level</b> belum dipilih !";
}
# Baca variabel form
$txtUser = $_POST['txtUser'];
$txtUser = str_replace("'","´",$txtUser);
$txtPassword=$_POST['txtPassword'];
$txtPassword= str_replace("'","´",$txtPassword);
$cmbLevel =$_POST['cmbLevel'];
# JIKA ADA PESAN ERROR DARI VALIDASI if (count($pesanError)>=1 ){
echo "<div class='mssgBox'>";
echo "<img src='images/attention.png'> <br><hr>";
$noPesan=0;
foreach ($pesanError as
$indeks=>$pesan_tampil) {
$noPesan++;
echo " $noPesan.
$pesan_tampil<br>";
}
echo "</div> <br>";
// Tampilkan lagi form login include "login.php";
} else {
# LOGIN CEK KE TABEL USER LOGIN
$mySql = "SELECT * FROM petugas WHERE username='".$txtUser."' AND password='".md5($txtPassword)."' AND level='$cmbLevel'";
$myQry = mysql_query($mySql, $koneksidb) or die ("Query Salah : ".mysql_error());
$myData= mysql_fetch_array($myQry);
# JIKA LOGIN SUKSES
if(mysql_num_rows($myQry) >=1) {
$_SESSION['SES_LOGIN'] =
$myData['kd_petugas'];
$_SESSION['SES_USER'] =
$myData['username'];
// Jika yang login Administrator if($cmbLevel=="Admin") {
$_SESSION['SES_ADMIN'] = "Admin";
}
// Jika yang login Klinik if($cmbLevel=="Klinik") {
$_SESSION['SES_KLINIK'] = "Klinik";
}
// Jika yang login Apotek if($cmbLevel=="Apotek") {
$_SESSION['SES_APOTEK'] =
"Apotek";
}
// Refresh
echo "<meta http-equiv='refresh' content='0;
url=?page=Halaman-Utama'>";
} else {
echo "Login Anda bukan Level
".$_POST['cmbLevel'];
} }
} // End POST
?>
b. Form Pendaftran
Table. 4.10 Form Pedaftran
<?php
include_once "../library/inc.seslogin.php";
// Membaca variabel form
$KeyWord = isset($_GET['KeyWord']) ? $_GET['KeyWord'] : '';
$dataCari = isset($_POST['txtCari']) ? $_POST['txtCari'] : $KeyWord;
// Jika tombol Cari diklik if(isset($_POST['btnCari'])){
if($_POST) {
$filterSql = "WHERE nm_pasien LIKE '%$dataCari%'";
} }
else {
if($KeyWord){
$filterSql = "WHERE nm_pasien LIKE '%$dataCari%'";
} else {
$filterSql = "";
} }
# UNTUK PAGING (PEMBAGIAN HALAMAN)
$row = 50;
$hal = isset($_GET['hal']) ? $_GET['hal'] : 0;
$pageSql = "SELECT * FROM pasien $filterSql";
$pageQry = mysql_query($pageSql, $koneksidb) or die ("error paging:
".mysql_error());
$jml = mysql_num_rows($pageQry);
$max = ceil($jml/$row);
?>
<h2>Cari Pasien</h2>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" name="form1"
target="_self" id="form1">
<b>Cari Nama Pasien :
<input name="txtCari" type="text" value="<?php echo $dataCari; ?>" size="40"
maxlength="100" />
<input name="btnCari" type="submit" value="Cari" />
</b>
</form>
<table class="table-list" width="700" border="0" cellspacing="1" cellpadding="2">
<tr>
<th width="20">No</th>
<th width="82"><strong>Nomor RM </strong></th>
<th width="147"><strong>Nama Pasien </strong></th>
<th width="59"><strong>Kelamin</strong></th>
<th width="80"><strong>Gol. Darah </strong></th>
<th width="238"><strong>Alamat</strong></th>
<td align="center" bgcolor="#CCCCCC"><strong>Tools</strong></td>
</tr>
<?php
$mySql = "SELECT * FROM pasien $filterSql ORDER BY nomor_rm ASC LIMIT $hal, $row";
$myQry = mysql_query($mySql, $koneksidb) or die ("Query salah :
".mysql_error());
$nomor = 0;
while ($myData = mysql_fetch_array($myQry)) {
$nomor++;
?>
<tr>
<td><?php echo $nomor; ?></td>
<td><?php echo $myData['nomor_rm']; ?></td>
<td><?php echo $myData['nm_pasien']; ?></td>
<td><?php echo $myData['jns_kelamin']; ?></td>
<td><?php echo $myData['gol_darah']; ?></td>
<td><?php echo $myData['alamat']; ?></td>
<td width="38" align="center"><a href="?page=Pendaftaran- Baru&NomorRM=<?php echo $myData['nomor_rm']; ?>" target="_self"
alt="Daftar">Daftar</a></td>
</tr>
<?php } ?>
<tr>
<td colspan="3"><strong>Jumlah Data :</strong> <?php echo $jml; ?> </td>
<td colspan="4" align="right"><strong>Halaman ke :</strong>
<?php
for ($h = 1; $h <= $max; $h++) {
$list[$h] = $row * $h - $row;
echo " <a href='?page=Pencarian-
Pasien&hal=$list[$h]&KeyWord=$dataCari'>$h</a> ";
}
?></td>
</tr>
</table>
c. Form Apotek
Table. 4.11 Form Apotek
<?php
# KONTROL MENU PROGRAM if(isset($_GET['page'])) {
// Jika mendapatkan variabel URL ?page switch($_GET['page']){
case 'Penjualan-Baru' :
if(!file_exists ("penjualan_baru.php")) die ("Empty Main Page!");
include "penjualan_baru.php"; break;
case 'Pencarian-Obat' :
if(!file_exists ("pencarian_obat.php")) die
("Empty Main Page!");
include "pencarian_obat.php"; break;
case 'Penjualan-Tampil' :
if(!file_exists ("penjualan_tampil.php")) die ("Empty Main Page!");
include "penjualan_tampil.php"; break;
case 'Penjualan-Hapus' :
if(!file_exists ("penjualan_hapus.php")) die ("Empty Main Page!");
include "penjualan_hapus.php"; break;
} }
else {
include "penjualan_baru.php";
}
?>
</body>
</html>
3.4.Pengujian
Black Box Testing digunakan untuk menguji prangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode pemrograma, pengujian dimaksudkan untuk mengetahui apakah fungsi masukan dan keluaran dari perangkat lunak sesuai spesifikasi yang dibutuhkan. Rancang Sistem Informasi Pendaftran atau pelayanan kesehatan mengunakan data uji berupa sebuah data masukan dari Bag Admin.
A. Rancang Pengujian
Table.4.12 Rancang Pengujian
Kelas Uji Butir Uji Tingkat
Pengujian
Jenis Pengujian Login User Hak ases setiap user name,
password dan level
Sistem Black Box
Dibawah ini adalah beberapa pengujian yang telah dilakukan, yaitu :
1. Pengujian Login User
Table 4.13 Pengujian Login User
Kasus Dan Hasil Pengujian ( Data Normal)
Data Masukan Data Diharapkan Pengamatan Kesimpulan User : admin
Pasword : admin (Data Valid)
Mempunyai hak akses untuk mengelolas
seluruh sistem
Datap membuka seluruh menu sistem dalam aplikasi yang dibuat
[X]
Diterima [ ] Ditolak
User : Pasword :
(Data Valid)
Masuk Ke menu utama, dapat pengimputan data pendaftran
Dapat mengeloala data pendaftran
[X]
Diterima [ ] Ditolak
User : Masuk Ke menu Dapat mengelola data [X]
Data Obat Pengisian data pengelolaan obat Sistem Black Box Pendaftran Pengisian dan transaksi
pengelolaan pasien
Sistem Black Box
Transaksi obat Pengisian dan transaksi pengelolaan obat
Sistem Black Box
Laporan Pelaporan secara per periode Sistem Black Box
Pasword : (Data Valid)
utama, dapat pengimputan dan taransaksi obat
penjulan obat dan stok yang tersedia
Diterima [ ] Ditolak
Kasus Dan Hasil Pengujian ( Data Salah)
Data Masukan Data Diharapkan Pengamatan Kesimpulan User
:ADMIN
Pasword :12345 (Data Valid)
Tidak bias masuk dalam sistem aplikasi
Tidak bias masuk kedalam sisitem aplikasimuncul
peringatan “EROR”
[X]
Diterima [ ] Ditolak
2. Pengujian Data Obat
Table 4.14 Pengujian Data Obat
Kasus Dan Hasil Pengujian ( Data Normal)
Data Masukan Data Diharapkan Pengamatan Kesimpulan Input Kode Obat Input kode secara
otomatis
Kode obat saat pada di klik button akan muncul secara otomastis
[X]
Diterima [ ] Ditolak
Tombol Add Muncul Form
input data
Form input akan muncul jika di klik add
[X]
Diterima [ ] Ditolak Tombol Simpan Data dapat
disimpan pada
Data awal
tersimpan pada [X]
Diterima
table obat teble awal [ ] Ditolak Tombol Edit Data dapat diedit Data dapat diedit
sesuai data yang teredit
[X]
Diterima [ ] Ditolak Tombol Hapus Data yang terpilih
akan dihapus
Data telah terhapus sesui harapan
[X]
Diterima [ ] Ditolak Kasus Dan Hasil Pengujian ( Data Salah)
Data Masukan Data Diharapkan Pengamatan Kesimpulan Tidak mengisi
data secara lengkap
Data tidak diinput selmaa data masih kosong
Data yang diinput hanya dapat berhasil jika telah terisi semua
[X]
Diterima [ ] Ditolak
3. Pengujian Data Pendaftran
Table 4.15
Pengujian Data Pendaftran
Kasus Dan Hasil Pengujian ( Data Normal)
Data Masukan Data Diharapkan Pengamatan Kesimpulan Input kode
pasein
Inpu kode secara otomatis
Form pendaftran kosong siap untuk di isi
[X]
Diterima [ ] Ditolak Klik pendaftran Muncul form Data tersimpan di [X]
baru kosaong table pendaftran Diterima [ ] Ditolak Klik tempil
pendaftan lama
Muncul form yang sudah terisi
Data bias muncul jiga bagian pencariian terisi
[X]
Diterima [ ] Ditolak Klik tindakan
pasien
Muncul data tindakan
Data bias muncul jika di klik
[X]
Diterima [ ] Ditolak Klik tombol
simpan
Data dapat
tersimpan di form pendaftran
Data di simpan di table pendaftran
[X]
Diterima [ ] Ditolak Kasus Dan Hasil Pengujian ( Data Salah)
Data Masukan Data Diharapkan Pengamatan Kesimpulan Tidak mengisi
data secara lengkap
Data tidak bias diinput selama data masih ada yang kosong
Data dapat di input jika data tersisi semua
[X]
Diterima [ ] Ditolak
4. Pengujujian Transaksi Pengambilan Obat Table 4.16
Pengujujian Transaksi Pengambilan Obat
Kasus Dan Hasil Pengujian ( Data Normal)
Data Masukan Data Diharapkan Pengamatan Kesimpulan
Klik Tombol Penjualan
Muncul From penjulan
Muncul From penjulan kosong
[X]
Diterima [ ] Ditolak Klik Penjulan
Baru
From penjulan terbaru
Muncul From penjulan kosong siap untuk di isi
[X]
Diterima [ ] Ditolak Klik Tobol
Pecarian Obat
Data obat tersedia di table obat
Klik tombol pencarian akan di arahkan ke table obat
[X]
Diterima [ ] Ditolak
Klik Tombol Simpan
Data yang sudah terisi transaki di simpan pada table penjulan
Data yang sudah terisi transaki di simpan pada table penjulan
[X]
Diterima [ ] Ditolak
Klik Tombol Cetak Nota
Klik tombol cetak utuk mengatahi harga transakisi
Transaki yang sudah selesai akan masuk kedalam form nota
[X]
Diterima [ ] Ditolak
Kasus Dan Hasil Pengujian ( Data Salah)
Data Masukan Data Diharapkan Pengamatan Kesimpulan Tidak mengisi
data secara lengkap
Data tidak diinput selmaa data masih kosong
Data yang diinput hanya dapat berhasil jika telah terisi semua
[X]
Diterima [ ] Ditolak
5. Pengujian Laporan
Table 4.17 Pengujian Laporan
Kasus Dan Hasil Pengujian ( Data Normal)
Data Masukan Data Diharapkan Pengamatan Kesimpulan Pilih jenis
laporan dan pilih priode laporan
Menampilkan laporan sesuai yang di perlukan dan sesuai dengan tanggal yang dimasukan
Data berdasarkan yang di perlukan dan menampilkan laporan
berdasarkan
tanggal, bulan dan tahun yang sudah tersimpan
[X]
Diterima [ ] Ditolak
3.5.Pendukung 3.5.1. Publikasi Web
Program berbasis web ini hanya untuk pengguna dalam perusaan (Puskesmas FKTP Setukpa), tidak di publikasikan secara online atau publik hanya dilingkungan Puskesmas FKTP Setukpa Kota Sukabumi. Sehinga tidak ada proses penyewaan domain dan hosting secara online beserta rincian biaya yang harus dikeluarkan.
3.5.2. Spesifikasi Hadware Dan Software
Table 4.18
Spesifikasi Hadware dan Software
Kebutuhan Keterangan
Sisitem Oprasi Windows 7 dan seterusnya Prosesor Intel Core i5, 1.8Ghz
RAM 2 GB
Keyboard Keyboard QWERTY
Printer Printer Setandar
Mouse Mouse Setandar
Browser Google Chrome
Software Micromedia Dreamware 8, XAMPP 3.1.0
3.6.Spesifikasi Dokumen Sistem Usulan
Adapun spesifikasi dokumen sistem usulan dari website bisnis Puskesmas FKTP Setukpa sebagai berikut :
1. Nama dokumen : Formulir Pendaftaran / rekam medis Sumber : Bagian Pendaftaran
Rangkap : 1
Deskripsi : Formulir pendaftaran digunakan pasien untuk menuliskan data diri dalam proses pendaftaran.
Elemen Data : kode, no_rm, nama_pasien, tgl_daftrar, tgl_dafratar, keluhan_pasein, tindkan_pasien
2. Nama dokumen : transaksi
Sumber : Bagian Apotek
Rangkap : 2
Deskripsi : digunakan untuk menuliskan data pembelian obat dan biaya tindakan.
Elemen Data : no_transaki, tgl_transaksi, pelanggan, keterangan, kode_obat, jumlah