• Tidak ada hasil yang ditemukan

BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN. kebutuhan untuk merancang website sebagai berikut:

N/A
N/A
Protected

Academic year: 2022

Membagikan "BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN. kebutuhan untuk merancang website sebagai berikut:"

Copied!
48
0
0

Teks penuh

(1)

26

26 BAB IV

RANCANGAN SISTEM DAN PROGRAM USULAN 4.1 Analisis Kebutuhan Software

4.1.1. Tahap Analisis

Dari hasil analisis pada prosedur sistem berjalan, didapatkan spesifikasi kebutuhan untuk merancang website sebagai berikut:

Halaman Pasien :

A1. Pasien melakukan Login dengan memasukan Username dan Password A2. Pasien Konsultasi secara Online dengan dokter

A3. Pasien memilih menu pendaftaran A4. Pasien Input Data Pendaftaran A5. Pasien cetak pendaftaran Halaman Dokter:

B1. Dokter melakukan login dengan memasukan Username dan Password B2. Dokter pilih diagnosa pasien

B3. Dokter Input Diagnosa

B4. Dokter Melakukan Konsultasi Online dengan Pasien Halaman Admin:

C1. Admin melakukan login dengan memasukan Username dan Password C2. Admin menginput data administrasi (data poli,data user dan data pendaftaran

pasien.

C3. Admin membuat laporan diagnosa, data pasien.

(2)

4.1.2. Use Case Diagram

Penggambaran use case dari website sistem informasi pelayanan pasien yang akan dibangun sebagai berikut:

1. Use Case Diagram Halaman Pasien

Gambar IV.1. Use Case Diagram Halaman Pasien

Deskripsi Use Case Diagram Halaman Pasien Konsultasi Online:

Tabel IV.1. Deskripsi Use Case Diagram Halaman Pasien Konsultasi Online Use Case Name Halaman Pasien Konsultasi Online

Requirements A1-A2

Goal Pasien dapat melakukan konsultasi dengan dokter

uc Use Case Model

Halaman Pasien

Pasien

Pilih Pendaftaran Login

Masukan Username dan Passw ord

Input Data Pendaftaran

Cetak Kartu Pendaftaran Pilih Riw ayat Medis

Konsultasi Online

Dokter

«include»

«include»

«extend»

«include»

«extend»

(3)

Pre-condition Pasien login

Post-condition Data konsultasi tersimpan pada database Failed end condition URL tidak bisa diakses

Primary Actor Pasien

Main Flow/Basic Path 1.Pasien login dengan input username dan password

2.Pasien pilih menu konsultasi 3.Pasien konsultasi dengan dokter

Invariant -

Deskripsi Use Case Diagram Halaman Pasien Pendaftaran :

Tabel IV.2. Deskripsi Use Case Diagram Halaman Pasien Pendaftaran Use Case Name Halaman Pasien

Requirements A3-A5

Goal Pasien melakukan pendaftaran secara online Pre-condition Pasien memilih poli

Post-condition Data Pendaftaran Tersimpan pada database Failed end condition URL tidak bisa diakses

Primary Actor Pasien

Main Flow/Basic Path 1.Pasien melihat total pendaftaran 2.Pasien melakukan pendaftaran 3.Pasien cetak kartu pendaftaran

(4)

Invariant -

2. Use Case Diagram Halaman Dokter

Gambar IV.2. Use Case Diagram Halaman Dokter

Deskripsi Use Case Diagram Halaman Dokter :

Tabel IV.3. Deskripsi Use Case Diagram Halaman Dokter Use Case Name Halaman Dokter

Requirements B1-B4

Goal 1. Dokter input data diagnose pasien 2. Dokter Konsultasi Online dengan Pasien Pre-condition Dokter pilih menu diagnosa

Post-condition Data tersimpan kedalam database Failed end condition URL tidak bisa diakses

uc Use Case Model

Dokter

Login

Pilih Menu Diagnosa

Konsultasi Online

Input Data Diagnosa Username dan

passw ord

Pasien

«extend»

«include»

«include»

«include»

(5)

Primary Actor Dokter Main Flow/Basic Path -

Invariant -

3. Use Case Diagram Halaman Admin

Gambar IV.3. Use Case Diagram Halaman Admin

Tabel IV.4. Deskripsi Use Case Diagram Input Data Administrasi

Use Case Name Input data administrasi

Requirements C1,C2

Goal Data user, data poli, data pendaftaran tersimpan Pre-condition Admin melalukan login terlebih dahulu

uc Use Case Model

Halaman Admin Kepala IT

Admin Kepala IT

Login

Data Administrasi

Data Laporan Username dan

Passw ord

«extend»

«include»

«extend»

(6)

Post-condition Data disimpan pada database

Failed end condition Data tidak tersimpan, admin tidak menginputkan data

Primary Actor Admin

Main Flow /Basic Path 1. Admin login

2. Admin mengisi form data user 3. Admin mengisi form data poli

4. Admin mengisi form data pendaftaran Alternate Flow/Invariant 1 -

Invariant2 -

Tabel IV.5. Deskripsi Use Case Membuat Laporan

Use Case Name Membuat laporan

Requirements D1, D3

Goal 1. Melihat laporan diagnosa

2. Melihat laporan pendaftaran pasien Pre-condition Admin melakukan login

Post-condition Menampilkan laporan

Failed end condition Admin tidak melakukan pelaporan

Primary Actor Admin

Main Flow/Basic Path Admin melihat laporan

Invariant -

(7)

5. Activity Diagram

1. Activity Diagram Halaman Pasien

Gambar IV.4. Activity Diagram Halaman Pasien

act Business Process Model

Halaman Pasien Pasien

start

Membuka halaman web

Memilih Menu Pendaftaran Pasien

Online

Pilih Menu Login

Input Pendaftaran Pasien Baru

Input Username dan Pasword

Riwayat Medis

Konsultasi Cetak Kartu Pendaftaran

End

Simpan Daftar dan dapat nomor

antrian

Kartu Pendaftaran

Daftar Ulang [Tidak Sesuai]

(8)

2. Activity Diagram Halaman Dokter

Gambar IV.5. Activity Diagram Halaman Dokter

3. Activity Diagram Data Administrasi Halaman Admin

Gambar IV.6. Activity Diagram Data Administrasi Halaman Admin

act Activ ity Unit Pemeriksa

Halaman Dokter Dokter

Start

Melalukan Login

Validasi Login

Menampilkan Halaman Dokter

Pilih Form Data Diagnosa

T ampil Form Data Diagnosa

Input Data Diagnosa

Pilih Form Data Konsultasi

Simpan Data

FInal

act Aktiv ity Admin

Halaman Admin Admin

Start

Melakukan Login

Validasi Login

Menampilkan Halaman Admin

Pilih Data Administrasi

Menampilkan Data User, Data Poliklinik dan data pendaftaran pasien

Final

(9)

4. Activity Diagram Menu Laporan

Gambar IV.7. Activity Diagram Menu Laporan

4.1.3. Analisis Algoritma AES (Advanced Encryption Standard) untuk keamanan data

A. Kerangka Kerja Penelitian

Kerangka kerja yang digunakan penulis dalam menyelesaikan permasalahan ini yaitu :

act Activ ity Cetak Laporan

Halaman Admin Admin

Start

Pilih Menu Laporan

Pilih Menu Laporan Data Rekam Medis

Pilih Menu Laporan Pendaftaran

Tampil Laporan Rekam Medis

Tampil Laporan Pendaftaran

Cetak Laporan Pendaftaran Final

(10)

Gambar IV.8. Kerangka Kerja Penelitian B. AES (Advanced Encryption Standard)

Menurut penelitian Tentang Perancangan Pengamanan Data Menggunakan Algoritma AES diperoleh pengertian AES merupakan algoritma cryptographic yang dapat digunakan untuk mengamankan data. Algoritma AES adalah blok chipertext simetrik yang dapat mengenkripsi dan dekripsi informasi. Enkripsi merubah data yang tidak dapat lagi dibaca disebut ciphertext, sebaliknya dekripsi adalah merubah ciphertext data menjadi bentuk semula yang dikenal sebagai plaintext [2][6] [7].

Proses yang dilakukan pada setiap rondenya identik sama (dari ronde ke-1 sampai dengan ronde ke Nr-1) kecuali untuk ronde Nr. Proses yang identik tersebut terdiri atas SubBytes, ShiftRows, MixColumns dan AddRoundKey. Sedangkan pada

(11)

ronde Nr, proses MixColumns tidak dilakukan. Tiap ronde memilki roundkey yang dihasilkan dari ekspansi dari kunci utama.

Proses enkripsi yang dilakukan menggunakan algoritma AES yaitu:

1. AddRoundKey

Proses ini dilakukan di awal ronde dengan melakukan operasi XOR tiap byte pada matriks state (plaintext) dengan tiap byte pada cipherkey, tahap ini disebut juga initial round.

2. SubBytes

SubBytes merupakan transformasi byte dimana setiap elemen pada state akan dipetakan dengan menggunakan sebuah tabel substitusi ( S-Box ). Untuk setiap byte pada state dinyatakan dengan S’[r, c]. S’[r, c] adalah elemen di dalam tabel subtitusi yang merupakan perpotongan baris (x)dengan kolom (y).

Shiftrows

Shiftrows pada dasarnya adalah proses pergeseran bit dimana bit paling kiri akan dipindahkan menjadi bit paling kanan (rotasi bit). Namun jumlah pergeseran yang dilakukan berbeda, tergantung untuk setiap barisnya. Baris pertama tidak terjadi pergeseran. Setiap byte dari baris kedua pada matriks state digeser satu byte ke kiri. Selanjutnya baris ketiga digeser ke kiri sebanyak dua byte dan pada baris keempat digeser ke kiri sebanyak tiga byte. Proses ini bertujuan untuk menghasilkan diffusion yakni dengan menyebarkan pengaruh transformasi nonlinear pada baris-baris matriks state untuk putaran selanjutnya.

(12)

3. MixColumns

Pada proses MixColumns, tiap kolom dari matriks state dilakukan operasi perkalian. Hal ini bertujuan untuk menyebarkan pengaruh setiap bit plaintext dan cipherkey terhadap ciphertext yang dihasilkan, pada arah kolom matriks state.

Setiap kolom matriks state diperlakukan sebagai polinomial empat suku dalam Galois field, kemudian dikalikan dengan modulo (……….Operasi MixColumns juga dapat dipandang sebagai perkalian matriks, dengan mengalikan empat bilangan di dalam Galois field

MixColumns juga disebut sebagai proses mengalikan setiap kolom dengan matriks berikut: [ ]

4. AddRoundKey

Dalam tahap AddRoundKey ini, cipherkey yang telah ada di ekspansikan terlebih dahulu maka akan di dapat roundkey yang akan digunakan untuk proses selanjutnya. Kemudian setiap byte dari matriks state keluaran proses MixColumns dilakukan operasi XOR dengan setiap byte dari roundkey.

Proses round atau proses SubBytes, ShiftRows, MixColumns, dan AddRoundKey dilakukan hingga putaran ke-n dengan cara yang sama. Sedangkan utuk putaran terakhir atau disebut juga final round proses SubBytes, ShiftRows, dan AddRoundKey tetap dilakukan tetapi proses MixColumns tidak dilakukan.

C. Simulasi Proses Perhitungan AES

PlainText: 32 43 f6 a8 | 88 5a 30 8d | 31 31 98 a2 | - - - -

(13)

Karena kurang dari 16 karakter maka ditambah dengan 04 04 04 04 sehingga menjadi

PlainText: 32 43 f6 a8 | 88 5a 30 8d | 31 31 98 a2 | 04 04 04 04

Chiper Key : 2b 7e 15 16 | 28 ae d2 a6 | |- - - -

Karena kurang dari 16 karakter maka ditambah dengan 08 08 08 08 | 08 08 08 08 sehingga menjadi

ChiperKey: 2b 7e 15 16 | 28 ae d2 a6 | 08 08 08 08 | 08 08 08 08

Masukkan Ke Kolom 4 X 4 Plainteks :

Chiperkey :

Konversikan Ke Biner Plainteks, Chiperkey.

Kita hitung dulu key schedule, hasil dari perhitungan akan digunakan pada proses selanjutnya untuk proses enkripsi. Langkah- langkah ekspansi kunci (key schedule) sebagai berikut:

(14)

1. Kolom cipherkey paling kanan dirotasi dan dikonversi menggunakan tabel S- Box.

2. Kemudian hasilnya akan di xor kan dengan kolom cipherkey paling kiri dan di xor kan lagi dengan table rcon pada kolom 1.

3. Lakukan proses ini sampai semua kolom dihitung, sehingga akan diperoleh roundkey ke-n.

Contoh:

Enkripsi

AddRoundKey atau juga bisa disebut sebagai initial round

Plainteks:

Chiperkey:

(15)

32 XOR 2b = 00110010 XOR 00101011 = 00011001

Lakukan dengan cara yang sama sampai semua terhitung, maka diperoleh:

Konversi Ke Hexadesimal menjadi 19 3d e3 be | a0 f4 e2 2b | 39 39 90 aa | 0c 0c 0c 0c

Round 1

State : 19 3d e3 be | a0 f4 e2 2b | 39 39 90 aa | 0c 0c 0c 0c

Tahap selanjutnya adalah SubBytesdiketahui byte pertama 19, y = 1 dan x = 9, Begitu seterusnya sampai matriks tersubtitusi

After SubBytes : d4 27 11 ae | e0 bf 98 f1 | 12 12 60 ac | fe fe fe fe

Tahap selanjutnya adalah ShiftRows

After ShiftRows : d4 bf 60 fe | e0 12 fe ae | 12 fe 11 f1 | fe 27 98 ac

Tahap selanjutnya adalah MixColumns

After MixColumns : f7 ef b2 5f | bd 73 fc 90 | dd 37 c6 20 | ba af 1d e5, Di xor kan denganRound Key : 1a 4e 25 26 | 32 e0 f7 80 | 3a e8 ff 88 | 32 e0 f7 80 Maka hasilnya adalah

After AddRoundKey : ed a1 97 79 | 8f 93 0b 10 | e7 df 39 a8 | 88 4f ea 65

Proses seperti pada round 1 dilakukan sampai round 9 dan pada final round proses MixColumns tidak dilakukan.

Round 9

(16)

After SubBytes : c6 86 ea 84 | a8 38 b9 5b | bb 8f f4 19 | 03 55 58 50

After ShiftRows : c6 38 f4 50 | a8 8f 58 84 | bb 55 ea 5b | 03 86 b9 19

After MixColumns : 7b e1 fd 3d | 1d c1 00 27 | 23 6f cc df | 37 dd c7 08

Round Key 9 : 94 9b ba 31 | 89 a3 8c 3d | 36 a0 42 82 | 41 a0 0a 11

After AddRoundKey : ef 7a 47 0c | 94 62 8c 1a | 15 cf 8e 5d | 76 7d cd 19

Final Round

After SubBytes : df da a0 fe | 22 aa 64 a2 | 59 8a 19 4c | 38 ff bd d4

After ShiftRows : df aa 19 d4 | 22 8a bd fe | 59 ff a0 a2 | 38 da 64 4c

After AddRoundKey : 9d 56 21 66 | e9 d5 09 71 | a4 00 56 af | 84 85 98 50

Round Key 10 : 42 fc 38 b2 | cb 5f b4 8f | fd ff f6 0d | bc 5f fc 1c

Hasil CipherText adalah 9d 56 21 66 | e9 d5 09 71 | a4 00 56 af | 84 85 98 50

(17)

4.2 Desain 4.2.1 Database

1. Entity Relationship Diagram

Gambar IV.9. Entity Relationshop Diagram Pendaftaran Pasien Puskesmas Sukalarang

2. Logical Record Structure

Tb_rekam Tb_pasien

Tb_poli No_rekam

Tglperiksa Diagnosa Obat status

No_pendaftaran Tgl Nm_pasien

Usia Jk Alamat_p

Kode_poli Nm_poli

biaya

No_rekam No_pendaftaran

Tb_pesan Id_pesan No_pendaftaran

Nip Pesan Tanggal

Jam aktif Tb_pegawai

nip Nama_lengkap Alamat_pegawai Telepon_pegawai

Password Level No_rekam No_rekam

No_pendaftar an

nip

Gambar IV.10. Logical Record Structure Pendaftaran Pasien Puskesmas Sukalarang

(18)

3. Spesifikasi File

a. Spesifikasi File Tabel Pegawai Nama Database : db_puskesmas Nama File : Tabel Pegawai Akronim : tb_pegawai.myd Tipe File : File Master Akses File : Random Panjang Record : 65 Byte Kunci Field : nip

Tabel IV.6. Spesifikasi File Tabel Admin

No Nama Field Type Size Keterangan

1 Nip Varchar 15 Primary Key

2 nama_lengkap Varchar 35

3 alamat_pegawai Text -

4 telepon_pegawai Varchar 15

5 password Text -

6 Level enum('OBAT','ADM','DOKTER') -

b. Spesifikasi File Tabel Pasien

Nama Database : db_puskesmas Nama File : Tabel Pasien

Akronim : tb_pasienbarang.myd Tipe File : File Transaksi

(19)

Akses File : Random Panjang Record : 90 Byte

Kunci Field : no_pendaftaran

Tabel IV.7. Spesifikasi File Tabel Pasien

No Nama Field Type Size Keterangan

1 no_pendaftaran Varchar 12 Primary Key

2 tgl Varchar 10

3 nama_pasien Varchar 35

4 usia Varchar 2

5 jenis_kelamin enum('Laki-

Laki','Perempuan') -

6 alamat_pasien Text -

7 kode_poli Varchar 5 Foreign Key

8 Jnspelayanan Varchar 15

9 biaya int 11

c. Spesifikasi File Tabel Poli

Nama Database : db_puskesmas Nama File : Tabel Poli Akronim : tb_poli.myd Tipe File : File Master Akses File : Random Panjang Record : 51 Byte Kunci Field : kode_poli

(20)

Tabel IV.8. Spesifikasi File Tabel Poli

No Nama Field Type Size Keterangan

1 Kode_poli Varchar 5 Primary Key

2 Nama_poli Varchar 35

3 Biaya Int 11

d. Spesifikasi File Tabel Rekam

Nama Database : db_puskesmas Nama File : Tabel Rekam Akronim : tb_rekam.myd Tipe File : File Transaksi Akses File : Random Panjang Record : 49 Byte Kunci Field : no_rekam

Tabel IV.9. Spesifikasi File Tabel Rekam

No Nama Field Type Size Keterangan

1 no_rekam Varchar 10 Primary Key

2 tgl_periksa Varchar 12

3 diagnosa Text -

4 obat Text -

5 no_pendaftaran Varchar 12 Foreign Key

6 Nip Varchar 15 Foreign Key

(21)

e. Spesifikasi File Tabel Pesan

Nama Database : db_puskesmas Nama File : Tabel Pesan Akronim : tb_pesan.myd Tipe File : File Transaksi Akses File : Random Panjang Record : 37 Byte Kunci Field : id_pesan

Tabel IV.10. Spesifikasi File Tabel Pesan

No Nama Field Type Size Keterangan

1 Id_pesan Varchar 10 Primary Key

2 Nip Varchar 15 Foreign Key

3 no_pendaftaran Varchar 12 Foreign Key

4 pesan Text -

5 tanggal Date -

6 jam Time -

7 Aktif enum('Y','N') -

(22)

4.2.2. Software Architecture

A. Deployment Diagram

Gambar IV.11. Deployment Diagram

4.2.3. User Interface

A. Halaman Utama

Gambar IV.12. Halaman Utama

(23)

B. Halaman Pendaftaran Pasien

Gambar IV.13. Halaman Pendaftaran Pasien

C. Halaman Cetak Kartu Berobat

Gambar IV.14. Halaman Cetak Kartu Berobat

(24)

D. Halaman Login Pasien

E. Halaman Login Pegawai

Gambar IV.16.Halaman Login Pegawai Gambar IV.15.Halaman Login Pesaien

(25)

F. Halaman Utama Pegawai ( Dokter)

G. Halaman Menu Utama Pegawai ( Kepala IT)

Gambar IV.17. Halaman Utama Pegawai (Dokter)

Gambar IV.18. Halaman Menu Utama Pegawai (Kepala IT)

(26)

4.3. Code Generation

A. Form Pendaftaran Pasien

<div class="single_left_coloum_wrapper">

<h2 class="title">Pendaftaran Pasien</h2>

</div>

, Jika Sudah Miliki No Pendaftaran <a href="index.php?page=cari" class="">KLIK DISINI</a>

<?php

$today=date("Ymd");

$query = "SELECT max(no_pendaftaran) AS last FROM tb_pasien WHERE no_pendaftaran LIKE '$today%'";

$hasil = mysql_query($query);

$data = mysql_fetch_array($hasil);

$lastNoTransaksi = $data['last'];

$lastNoUrut = substr($lastNoTransaksi, 8, 4);

$nextNoUrut = $lastNoUrut + 1;

$nextNoTransaksi = $today.sprintf('%04s', $nextNoUrut);

?>

<script language="javascript" type="text/javascript">

function toggleMe(val) {

var tarif = document.getElementById('tarif');

var biaya = document.getElementById('biaya');

(27)

if(val=='umum') {

tarif.style.visibility = "hidden";

biaya.style.visibility = "visible";

}

else {

tarif.style.visibility = "visible";

biaya.style.visibility = "hidden";

} }

</script>

<form method="post" target="_blank" action="simpan.php">

<table width="100%" border="0" cellpadding="2" cellspacing="2" >

<tr>

<td width="157" height="34">No. Pendaftaran </td>

<td width="10">:</td>

<td width="171"><input type="text" name="no" id="no" value="<?php echo

$nextNoTransaksi; ?>" readonly="readonly" /></td>

</tr>

<tr>

<td height="34">Nama Pasien</td>

<td>:</td>

(28)

<td><input type="text" name="nama" id="nama" size="60" required=""

placeholder="Masukan Nama Lengkap Anda"/></td>

</tr>

<tr>

<td height="35">Usia</td>

<td>:</td>

<td><input type="text" name="usia" id="usia" required="" size="5" maxlength="2"

placeholder="Usia"/></td>

</tr>

<tr>

<td height="37">Jenis Kelamin</td>

<td>:</td>

<td><label>

<select name="jk" id="jk">

<option>--Pilih Jenis Kelamin--</option>

<option value="Perempuan">Perempuan</option>

<option value="Laki-Laki">Laki-Laki</option>

</select>

</label></td>

</tr>

<tr>

<td height="93" valign="top">Alamat</td>

<td valign="top">:</td>

(29)

<td valign="top"><label>

<textarea name="alt" id="alt" cols="45" rows="5" required="" placeholder="Isi Alamat Lengkap Anda"></textarea>

</label></td>

</tr>

<tr>

<td>Poli Klinik Tujuan</td>

<td>:</td>

<td><select name="poli" id="poli">

<option>-- Silahkan Pilih Poli --</option>

<?php $poli=mysql_query("SELECT*FROM tb_poli");

while($tampil=mysql_fetch_array($poli)) {

?>

<option value="<?php echo $tampil['kode_poli'] ?>"><?php echo

$tampil['nama_poli'] ?></option>

<?php } ?>

</select></td>

</tr>

<tr>

<td height="36">Jenis Pelayanan</td>

(30)

<td>:</td>

<td><select name="jnspelayanan" id="jnspelayanan"

onchange="toggleMe(this.value)">

<option value="umum">-- Silahkan Pilih Jenis Pelayanan --</option>

<option value="umum">UMUM</option>

<option value="Jamkesmas">JAMKESMAS</option>

<option value="Askes">ASKES</option>

</select>

</td>

</tr>

<tr id="tarif">

<td height="33">No Jaminan</td>

<td>:</td>

<td><input name="tarif" type="text"/> </td>

</tr>

<tr>

<td height="49">&nbsp;</td>

<td>&nbsp;</td>

<td><label>

<input type="submit" name="button" id="button" class="btn" value="Daftar">

<input type="reset" name="button2" id="button2" class="btn" value="Batal">

</label></td>

</tr>

(31)

</table>

</form>

<table width="581" border="0" cellpadding="0" cellspacing="0" class="table">

<tr>

<th width="265" height="43" bgcolor="#ADFCB9"><div align="left">POLI TUJUAN</div></th>

<th width="104" bgcolor="#ADFCB9"><div align="center">ANTRIAN SAAT INI</div></th>

<th width="212" bgcolor="#ADFCB9"><div align="left">KETERANGAN</div></th>

</tr>

<?php

echo $hari=date("Ymd");

$jml=substr($hari, 6,4);

$sql=mysql_query("SELECT * FROM tb_poli");

while($tampil=mysql_fetch_array($sql)) {

?>

<tr>

<td height="28"><?php echo $tampil['nama_poli']; ?></td>

<?php

(32)

$kode=$tampil['kode_poli'];

$hitung=mysql_query("SELECT * FROM tb_pasien WHERE tgl='$hari' AND kode_poli='$kode'");

$data=mysql_num_rows($hitung);

$kurang=(50-$data) ?>

<td><div align="center"><strong><?php echo $data; ?> </strong>&nbsp; Antrian

</div></td>

<?php

if($data >= 50) {

$ket='<font color=red>ANTRIAN SUDAH PENUH</font>';

}else{

$ket='<font color=green>MASIH TERSISA <b>'.$kurang. '</b>

ANTRIAN </font>';

}

?>

<td><div align="left"><?php echo $ket ?></div></td>

<?php } ?>

</tr>

(33)

</table>

B. Form Input Data Rekam Medik

<script type="text/javascript" src="modul/rekam/ajax.js"></script>

<script language="javascript">

$(document).ready(function() { cari_nomor();

function editRow(ID){

var kode = ID;

$.ajax({

type : "POST",

url : "modul/rekam/cari.php", data : "kode="+kode,

dataType: "json", success: function(data){

$("#no_rekam").val(data.norekam);

$("#tgl").val(data.tgl);

$("#no_pendaftaran").val(data.jenis_obat);

$("#diagnosa").val(data.diagnosa);

$("#obat").val(data.obat);

}

});

}

(34)

function cari_nomor(){

var no = 1;

$.ajax({

type : "POST",

url : "modul/rekam/cari_nomor.php", data : "no="+no,

dataType: "json", success: function(data){

$("#no_rekam").val(data.no_rekam);

}

});

}

$(document).ready(function(){

$("#term").autocomplete({

minLength:1,

source:"modul/rekam/auto.php", select:function(event,data){

$("#term").val(data.item.no_pendaftaran);

$("#no_pendaftaran").val(data.item.no_pendaftaran);

$("#nama_pasien").val(data.item.nama_pasien);

$("#usia").val(data.item.usia);

diagnosa.focus();

}

(35)

});

});

<div class="panel-heading">

Data Diagnosa </div>

<div class="panel-body">

<?php

echo "<table width='100%' class='table'>

<tr>

<td>No. Rekam Medik</td>

<td>:</td>

<td><input type='text' name='no_rekam' id='no_rekam' size='10' lenght='10' class='form-control' readonly></td>

</tr>

<tr>

<td>Tanggal Periksa</td>

<td>:</td>

<td>".tgl_indo(date('Y m d'))."</td>

</tr>

<tr>

<td>Cari No. Registrasi</td>

<td>:</td>

(36)

<td>

<input type='text' id='term' name='term' class='form-control' placeholder='Ketik No Registrasi/ Nama Pasien' />

</td>

</tr>

<tr>

<td>No. Registrasi Pasien</td>

<td>:</td>

<td>

<input type='text' name='no_pendaftaran' id='no_pendaftaran' size='50' lenght='50' class='form-control' disabled>

</td>

</tr>

<tr>

<td>Nama Pasien</td>

<td>:</td>

<td><input type='text' name='nama_pasien' id='nama_pasien' size='50' lenght='50' class='form-control' disabled></td>

</tr>

<tr>

<td>Usia</td>

<td>:</td>

(37)

<td><input type='text' name='usia' id='usia' size='10' lenght='50' class='form- control' disabled></td>

</tr>

<tr>

<td>Diagnosa</td>

<td>:</td>

<td><textarea name='diagnosa' cols='50' rows='5' id='diagnosa' class='form- control'></textarea></td>

</tr>

<tr>

<td>Obat</td>

<td>:</td>

<td><textarea name='obat' cols='50' rows='5' id='obat' class='form- control'></textarea></td>

</tr>

<tr>

<td colspan='3' align='left'>

<button name='tambah' id='tambah' class='btn'>Tambah</button>

<button name='simpan' id='simpan' class='btn '>Simpan</button>

<button name='hapus' id='hapus' class='btn'>Hapus</button>

<button name='keluar' id='keluar' class='btn '>Keluar</button>

</td>

</tr>

(38)

</table>";

?>

<div id='info' align='center'></div>

</div>

4.4. Testing

A. Form Pendaftaran Pasien

Tabel IV.11. Hasil Pengujian Blackbox Testing Form Pendaftaran Pasien

NO Skenario Pengujian

Test Case Hasil Yang diharapkan

Hasil Pengujia n

Kesim pulan

1 Mengosongkan

semua isian data login pada login lalu klik tombol

“Daftar”

Nama Pasien (Kosong)

Usia :

(Kosong) password:

(Kosong) Jenis Kelamin:

(Kosong) Alamat:

(Kosong) Poli Klinik : (Kosong)

Sistem akan menolak akses daftar dan menampilkan pesan “Isi Isian ini” di kolom yang masih kosong

datanya.

Sesuai Harapan

Valid

2 Hanya mengisi Nama Sistem akan Sesuai Valid

(39)

salah satu data dan

mengosongkan

data yang

lainnya lalu klik tombol “daftar”

Pasien:ujang

Usia :

(Kosong) password:

(Kosong) Jenis Kelamin:

(Kosong) Alamat:

(Kosong) Poli Klinik : (Kosong)

menolak akses daftar dan menampilkan pesan “Isi Isian ini” di kolom yang masih kosong

datanya.

harapan

3 Hanya mengisi semua data lalu klik tombol

“daftar”

Nama Pasien ujang

Usia : 27 password:

12345678 Jenis Kelamin:

laki-laki Alamat:

cibarengkok Poli Klinik : poli gigi

Sistem akan menolak akses

login dan

menampilkan pesan “Data Sudah

Tersimpan”

Sesuai harapan

Valid

(40)

B. Form Login Pegawai

Tabel IV.12. Hasil Pengujian Blackbox Testing Form Login Pegawai

N O

Skenario Pengujian

Test Case Hasil Yang diharapkan

Hasil Pengujia n

Kesimpul an

1 Mengosongkan semua isian data login pada login lalu klik tombol

“masuk”

Username :

(Kosong)

Password :

(Kosong)

Sistem akan menolak akses login dan

menampilka

n pesan

“Harap isi bidang ini”

di kolom username dan password.

Sesuai Harapan

Valid

2 Hanya mengisi username dan mengosongkan password lalu klik tombol

“masuk”

Username :

18292938

Password :

(Kosong)

Sistem akan menolak akses login dan

menampilka

n pesan

“anda belum mengisi password”

Sesuai harapan

Valid

3 Hanya mengisi Username : Sistem akan Sesuai Valid

(41)

password dan mengosongkan username lalu klik tombol

“masuk”

(Kosong)

Password : pasw

menolak akses login dan

menampilka

n pesan

“anda belum mengisi username”

harapan

4 Menginputkan dengan kondisi salah lalu klik

“masuk”

Username :

18202093 Password : salah

Sistem akan menolak akses login dan

menampilka

n pesan

“Maaf silahkan cek kembali password anda”

Sesuai harapan

Valid

5 Menginputkan dengan kondisi yang benar lalu klik “masuk”

Username :

benar

Password :

benar

Sistem menerima akses login dan

kemudian langsung menampilka n halaman utama

Sesuai Harapan

Valid

C. Form Input Data Poli

(42)

Tabel IV.13. Hasil Pengujian Blackbox Testing Form Input Data Poli

N O

Skenario Pengujian

Test Case Hasil Yang diharapkan

Hasil Pengujia n

Kesimp ulan

1 Mengosongkan semua isian data lalu klik

“simpan data”

Kodepoli:

(kosong)

Nama poli:

(kosong)

Nama dokter:

(kosong)

Tarif poli:

(kosong)

Sistem akan menolak dan muncul pesan “maaf kodepolitida

k boleh

kosong”

pada kolom yang belum diisi

Sesuai Harapan

Valid

2 Hanya mengisi sebagian data

lalu klik

“simpan data”

Kodepoli: PLGG Nama poli: poli gigi

Nama dokter:

dr.ihsan

Tarif poli:

(kosong)

Sistem akan menolak dan muncul pesan “maaf tariff poli tidak boleh kosong”

Sesuai harapan

Valid

3 Mengisi semua field lalu klik

“simpan data”

Kodepoli: PLGG Nama poli: poli gigi

Nama dokter:

dr.ihsan

Tarif poli: 15000

Sistem menerima dan secara otomatis kembali ke form

tambah poli

Sesuai harapan

Valid

(43)

D. Form Input Data Pegawai

Tabel IV.14. Hasil Pengujian Blackbox Testing Form Input Data Pegawai

N O

Skenario Pengujian

Test Case Hasil Yang diharapkan

Hasil Pengujia n

Kesimp ulan

1 Mengosongkan semua isian data lalu klik

“simpan data”

Nip: (kosong) Nama lengkap:

(kosong)

Alamat: (kosong) No telepon:

(kosong) Password:

(kosong)

Sistem akan menolak dan muncul pesan “maaf nip tidak boleh kosong”

Sesuai Harapan

Valid

2 Hanya mengisi sebagian data

lalu klik

“simpan data”

Nip: 1808505 Nama lengkap:

Dr.indra Alamat:

jlselabintana No telepon:

089906060 Password:

(kosong)

Sistem akan menolak dan muncul pesan “maaf password tidak boleh kosong”

Sesuai harapan

Valid

3 Mengisi semua field lalu klik

“simpan data”

Nip: 1808505 Nama lengkap:

Dr.indra Alamat:

Sistem menerima dan secara otomatis

Sesuai harapan

Valid

(44)

jlselabintana No telepon:

089906060 Passwordxxxxxx

kembali ke form

tambah pegawai

E. Form Input Diagnosa Pasien

Tabel IV.15. Hasil Pengujian Blackbox Testing Form Input Diagnosa Pasien

N O

Skenario Pengujian

Test Case Hasil Yang diharapkan

Hasil Pengujia n

Kesimp ulan

1 Mengosongkan semua isian data lalu klik

“simpan data”

Cari no.

Registrasi:

(kosong) Diagnosa:

(kosong) Obat: (kosong)

Sistem akan menolak dan muncul pesan “maaf nomor daftar kosong”

Sesuai Harapan

Valid

2 Hanya mengisi sebagian data

lalu klik

“simpan data”

Cari no.

Registrasi:

20160201901 Diagnosa: diare Obat: (kosong)

Sistem akan menolak dan muncul pesan “maaf obat belum terisi”

Sesuai harapan

Valid

3 Mengisi semua field lalu klik

“simpan data”

Cari no.

Registrasi:

20160201901 Diagnosa: diare

Sistem menerima dan secara otomatis

Sesuai harapan

Valid

(45)

Obat: diapet kembali ke form

diagnosa

4.5. Support

Agar dapat terealisasi sistem ini memerlukan beberapa poin penting diantaranya : 4.5.1. Publikasi Web

Beberapa hal yang perlu diperhatikan dalam publikasi web diantaranya adanya nama domain dan kapasitas hosting. Berikut penjelasannya :

1. Nama domain

Nama domain (domain name) adalah nama yang diberikan untuk mengidentifikasi nama server komputer seperti web server atau email server di jaringan komputer ataupun internet. Nama domain berfungsi untuk mempermudah pengguna di internet pada saat melakukan akses ke server, selain itu juga dapat dipakai untuk mengingat nama server yang dikunjungi tanpa harus mengenai deretan angka yang rumit yang dikenal sebagai IP Address. Nama domain untuk website ini adalah www.puskesmassukalarang.xyz yang didaftarkan melalui situs Niagahoster.

2. Kapasitas Hosting

(46)

Jasa menyimpan file website dan ditempatkan pada server yang digunakan untuk menjaga atau memonitor agar server tersebut berjalan dengan baik. Situs ini menggunakan layanan hosting gratis dari idhostinger.com dengan kapasitas berikut:

Tabel IV.16. Tabel Kapasitas Hosting

Paket Hosting Impresif A

Disk Space 11,79 / 2.000 MB

Bandwidth/Bulan 16,09 / 100.000 MB

Biaya Bulanan (Rp) 0

Biaya SetUp 0

Biaya Upgrade (Rp)/Bulan 38.000

Akun E-mail 0 / 2

Database MySql 1 /2

Parkir Domain 0 / 2

Tambah Domain 0 / 5

Subdomain 0 / 2

Akun FTP 0 / 2

Versi Apache Apache/2.4.10

Versi PHP 5.5

Versi MySql 5.1.61

Diaktifkan 15.12.2015

Alamat IP 31.170.165.121

4.5.2. Spesifikasi Hardware dan Software

(47)

Tabel IV.17. Tabel Spesifikasi Hardware dan Software

Kebutuhan Keterangan

Sistem Operasi Windows

Processor Pentium IV

RAM 512 MB

Hardisk 120 GB

CD-ROM 52x

Monitor SVGA 12”

Keyboard 108 key

Printer Laser Jet

Mouse Standard

Browser Mozila Firefox, Google Chrome, Safari

Software Dreamweaver, Adobe Photoshop,

PhpMyAdmin

4.6. Spesifikasi Dokumen Sistem Usulan

1. Nama Dokumen : Laporan pendaftaran

(48)

Fungsi : Sebagai bukti pendaftaran

Sumber : Kepala IT

Tujuan : Kepala Puskesmas

Media : Cetak

Frekuensi : Setiap dibutuhkan

Format : Lampiran B-1

2. Nama Dokumen : Kartu Berobat

Fungsi : Sebagai bukti melakukan pendaftaran

Sumber : Sistem

Tujuan : Pasien

Media : Tampilan

Frekuensi : Setiap terjadi pendaftaran

Format : Lampiran B-2

Gambar

Gambar IV.1. Use Case Diagram Halaman Pasien
Tabel IV.2. Deskripsi Use Case Diagram Halaman Pasien Pendaftaran  Use Case Name  Halaman Pasien
Gambar IV.2. Use Case Diagram Halaman Dokter
Gambar IV.3. Use Case Diagram Halaman Admin
+7

Referensi

Dokumen terkait

Post-Conditions Guru dapat mengakses data guru, data siswa, absensi siswa dan mengakses jadwal mengajar Failed end Condition Guru tidak bisa mengakses data guru, data

Goal User dan Admin dapat melakukan login Pre-condition User atau Admin memilih menu login Post-condition Tampil form login. Failed end condition User atau Admin tidak

Pre-condition Admin telah melakukan login kemudian memilih menu data laporan kemudian pilih print laporan Post-condition Data laporan bisa dicetak2. Failed condition Admin

Pre-condition Admin memilih menu tambah data konsultan Post-condition Sistem menampilkan halaman input data diri Failed end condition Sistem tidak menampilkan halaman input

Goal Admin dapat mengelola pendaftaran santri Pre-conditionts Admin sudah melakukan login.. Post-conditionts Data calon santri berhasil disimpan Failed End Condition

Failed end Condition Calon anggota tidak melakukan login dan tidak bisa mengisi form pendaftaran.. Actor

Tahap kedua adalah design (perancangan). Adapun yang dilakuakan pada tahap ini diantaranya: 1) menyusun peta konsep atau peta kebutuhan modul digunakan sebagai

UNIVERSITAS MURIA KUDUS PENGESAHAN STATUS SKRIPSI JUDUL : ANIMASI PELATIHAN BERTANAM DI KEBUN SAYA : MUH SINA ALFAIN.. Mengijinkan Skripsi Teknik Informatika ini disimpan