Bab 4 Hasil dan Pembahasan
4.1
Implementasi Sistem Pada bagian implementasi sistem berisi penjelasan bagaimana
aplikasi sistem informasi pendataan pasien rawat inap pada Rumah Sakit Mitra Masyarakat Mimika dijalankan. 4.1.1 Pengiriman Data dari Webserver ke Perangkat Mobile Data dari webserver ke perangkat mobile dikirimkan dalam format dokumen XML. Kemudian oleh perangkat mobile, data XML tersebut diolah dan ditampilkan kepada pengguna. Contoh data yang dikirimkan oleh webserver: Kode Program 4.1 Contoh Dokumen XML yang Berisi Data Dokter 1.
2.
<dokters>
3.
<dokter>
4.
001
5.
DR. Afdal Hasanuddin Sp.A
6.
<smf>anak
7.
8.
<dokter>
9.
002
10.
DR. Jeane Rini Sp.A
11.
<smf>anak
12. 13.
Dokumen pada Kode Program 4.1 merupakan output yang dihasilkan oleh webserver. Webserver melakukan pembacaan pada database dan mengambil data dokter, kemudian disusun dalam bentuk
40
dokumen XML. Perintah yang digunakan untuk proses ini adalah seperti ditampilkan pada Kode Program 4.2. Kode Program 4.2 Perintah untuk Membentuk Dokumen XML pada Server 1.
$da = new DokterDA();+
2.
$list = $da->GetAll();
3.
header("Content-Type: text/plain");
4.
$xmlDoc = new DOMDocument();
5.
$root = $xmlDoc->appendChild(
6.
$xmlDoc->createElement("dokters"));
7.
$xmlDoc->formatOutput = true;
8.
foreach($list as $a)
9.
{
10.
//create a tutorial element
11.
$tutTag = $root->appendChild(
12.
$xmlDoc->createElement("dokter"));
13.
$tutTag->appendChild(
14.
$xmlDoc->createElement("kode", $a->kode));
15.
$tutTag->appendChild(
16.
$xmlDoc->createElement("nama", $a->nama));
17.
$tutTag->appendChild(
18.
$xmlDoc->createElement("smf", $a->smf));
19.
}
20.
echo trim($xmlDoc->saveXML());
Pada perangkat mobile, dokumen XML yang telah diterima, dibaca untuk tiap element dengan tag
<dokter>
kemudian pada tiap element,
dibaca nilai dari child element didalamnya, yaitu
, ,
dan
<smf>.
Kode Program 4.3 Perintah untuk Membaca Dokumen XML pada Android 1. 2.
static final String URL = "http://192.168.1.110:852/rs/services.php?get=";
3. 4.
public List getDokter(){
5.
List list
= new ArrayList();
6. 7.
String url = URL+"dokter";
8.
String xmlString = getXmlFromUrl(url);
41
XMLRead parser = new XMLRead();
9. 10. 11.
String xml = xmlString.trim();
12.
Document doc = parser.getDomElement(xml);
13.
NodeList nl = doc.getElementsByTagName("dokter");
14. 15.
for (int i = 0; i < nl.getLength(); i++) {
16. 17.
Element e = (Element) nl.item(i);
18.
Dokter d = new Dokter(
19.
parser.getValue(e, "kode"),
20.
parser.getValue(e, "nama"),
21.
parser.getValue(e, "smf"));
22.
list.add(d);
23.
}
24. 25. 26.
return list; }
Proses selanjutnya adalah menampilkan kepada pengguna. Perintah yang digunakan adalah pada Kode Program 4.4. Data dokter yang berbentuk collection ditampilkan melalui spinner control, seperti yang terlihat pada Gambar 4.1. Kode Program 4.4 Perintah untuk Menampilkan Data Dokter 1. 2. 3. 4. 5.
doktorSpinner = (Spinner) dialog.findViewById(R.id.dokter); List lDokter = new RequestUtility().getDokter(); ArrayAdapter dataAdapter
6.
= new ArrayAdapter(
7.
this,
8.
android.R.layout.simple_spinner_item,
9. 10. 11. 12.
lDokter); dataAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item); doktorSpinner.setAdapter(dataAdapter);
42
Gambar 4.1 Tampilan Data Dokter pada Kontrol Spinner.
4.1.2 Pengiriman Data dari Perangkat Mobile ke Webserver Data yang dikirim dari perangkat mobile ke webserver adalah data Pasien. Tampilan yang digunakan adalah Input Pasien Dialog, seperti terlihat pada Gambar 4.2.
43
Gambar 4.2 Tampilan Input Data Pasien.
Proses pengiriman data dilakukan menggunakan Kode Program 4.5. Dengan menggunakan object dari class HttpPost, disimpan nilai-nilai dari hasil input data pasien. Kemudian dikirimkan melalui object dari class HttpClient ke alamat server yang telah didefinisikan pada variabel URL. Kode Program 4.5 Perintah untuk Mengirimkan Data Pasien 1.
static final String URL =
2.
"http://192.168.1.110:852/rs/services.php";
3.
HttpClient httpclient = new DefaultHttpClient();
4.
HttpPost httppost;
5.
public String savePasien(Pasien p) {
6.
String message = "";
7.
httppost = new HttpPost(URL);
8.
// Add your data
9.
List nameValuePairs
10.
= new ArrayList(3);
11.
nameValuePairs.add(
12.
new BasicNameValuePair("post", "1"));
13.
nameValuePairs.add(
14.
new BasicNameValuePair("noRM", p.getNoRM()));
15.
nameValuePairs.add(
44
new BasicNameValuePair("tanggalMasuk",
16.
p.getTanggalMasuk()));
17. 18.
nameValuePairs.add(
19.
new BasicNameValuePair("nama", p.getNama()));
20.
....
21. 22.
httppost.setEntity(
23.
new UrlEncodedFormEntity(nameValuePairs));
24.
// Execute HTTP Post Request
25.
HttpResponse response
26.
= httpclient.execute(httppost);
27.
StringBuilder content
28.
= inputStreamToString(response.getEntity()
29.
.getContent());
30.
message = content.toString();
31. 32.
return message; }
Data yang dikirim diterima oleh server dengan menggunakan Kode Program 4.6. Pada Kode Program 4.6, nilai-nilai yang dikirimkan oleh perangkat mobile, diterima dengan menggunakan varibel $_REQUEST. Kemudian disimpan ke dalam database. Kode Program 4.6 Perintah untuk Menerima Data Pasien dan Memprosesnya 1.
function responseSavePasien(){
2.
$norm = $_REQUEST["noRM"];
3.
$tanggalMasuk = $_REQUEST["tanggalMasuk"];
4.
$nama = $_REQUEST["nama"];
5.
$jenisKelamin = $_REQUEST["jenisKelamin"];
6.
$alamat = $_REQUEST["alamat"];
7.
$suku = $_REQUEST["suku"];
8.
$pekerjaan = $_REQUEST["pekerjaan"];
9.
$agama = $_REQUEST["agama"];
10.
$pendidikan = $_REQUEST["pendidikan"];
11.
$tanggalLahir = $_REQUEST["tanggalLahir"];
12.
$statusPerkawinan = $_REQUEST["statusPerkawinan"];
13.
$rawatKe = $_REQUEST["rawatKe"];
14.
$ruang = $_REQUEST["ruang"];
15.
$dokter = $_REQUEST["dokter"];
16.
45
17.
$keluargaTerdekat = $_REQUEST["keluargaTerdekat"];
18.
$alamatKeluarga = $_REQUEST["alamatKeluarga"];
19.
$namaAyah = $_REQUEST["namaAyah"];
20.
$umurAyah = $_REQUEST["umurAyah"];
21.
$pekerjaanAyah = $_REQUEST["pekerjaanAyah"];
22.
$namaIbu = $_REQUEST["namaIbu"];
23.
$umurIbu = $_REQUEST["umurIbu"];
24.
$pekerjaanIbu = $_REQUEST["pekerjaanIbu"];
25. 26.
$st = new Setting();
27.
mysql_connect(
28.
$st->host,
29.
$st->user,
30.
$st->password)
31.
or die(mysql_error());
32.
mysql_select_db($st->database)
33.
or die(mysql_error());
34. 35.
mysql_query("INSERT INTO pasien VALUES (
36. 37.
'$norm','$tanggalMasuk','$nama','$jenisKelamin',
38.
'$alamat','$suku','$pekerjaan','$agama',
39.
'$pendidikan', '$tanggalLahir',
40.
'$statusPerkawinan','$rawatKe',
41.
'$ruang','$dokter' )");
42. 43.
mysql_query("INSERT INTO pasien_relasi VALUES (
44.
'$norm','$keluargaTerdekat',
45.
'$alamatKeluarga','$namaAyah',
46.
'$umurAyah','$pekerjaanAyah',
47.
'$namaIbu','$umurIbu',
48.
'$pekerjaanIbu')");
49.
}
46
4.2 Analisis dan Pengujian 4.2.1 Analisis Kerja Sistem
Gambar 4.3 Arsitektur Sistem
Tampilan awal aplikasi pada Gambar 4.4 merupakan form login berupa input username dan password yang diisi oleh operator untuk memulai menjalankan aplikasi pada android phone.
47
Gambar 4.4 Form Login
Pada Gambar 4.5 menunjukkan form saat setelah operator melakukan login, yaitu field pencarian data pasien. Untuk melakukan pencarian data pasien, operator dapat meng-input kan data berupa nama atau nomor rekam medis (RM) pasien. Maka akan ditampilkan beberapa informasi karakter yang sama pada saat penginputan saat pencarian.
48
Gambar 4.5 Pencarian Pasien
Ketika penginputan saat pencarian data pasien selesai dan nama atau nomor rekam medis serta letak ruang rawat paseinpun telah ditampilkan dari database seperti pada gambar 4.5, maka untuk menampilkan informasi lengkap tentang data pasein tersebut, operator dapat melakukan tap and hold
pada hasil pencarian
tersebut. Maka informasi data pasienpun akan ditampilkan seperti Gambar 4.6.
49
Gambar 4.6 Informasi Data Pasien
Informasi lengkap data pasien pada gambar di atas berupa :
No. RM (Rekam Medis)
Nama
Jenis Kelamin
Alamat
Suku
Agama
Pendidikan
Pekerjaan
Tanggal Lahir
Status Perkawinan
Dirawat dii RS yang ke
Nama Keluarga Terdekat
Alamat 50
Nama Ayah/Suami
Umur Ayah/Suami
Pekerjaan Ayah/Suami
Nama Ibu/Istri
Umur Ibu/Istri
Pekerjaan Ibu/Istri
Tanggal Masuk Rumah Sakit
Dokter Yang Merawat
Ruang Perawatan
Gambar 4.7 merupakan tampilan yang berisikan 4 (empat) menu utama berupa input, refresh, logout, dan about. Tap refresh digunakan apabila terdapat input-an data terbaru pada database server oleh operator lain.
Refresh h
About
Input Logout
Gambar 4.7 Tampilan Menu
51
Gambar 4.8 berisikan tentang tampilan menu about, dimana pengguna aplikasi dapat melihat tentang identitas singkat peneliti, dan juga tahun dari pembuatan aplikasi yang dikerjakan oleh peneliti.
Gambar 4.8 Menu About
Gambar 4.9 merupakan option yang disediakan di web server kepada admin untuk melakukan pencarian data tentang informasi pasien dengan meng-inputkan nama pasien dan dapat mencari informasi berdasarkan letak ruang rawat pasien tersebut.
52
Gambar 4.9 Pencarian Pasien Pada Web Server
Gambar 4.10 digunakan oleh admin untuk melakukan printout formulir hasil dari penginputan data pasien pada awal calon pasien melakukan pendaftaran pada rawat inap, dan sebagai bukti bahwa pasien telah terdaftar dan siap dirawatinapkan.
Gambar 4.10 Formulir Pasien Ranap
53
4.2.2 Pengujian Aplikasi 4.2.2.1 Analisa Metode Blackbox Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode whitebox. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya : 1. Fungsi-fungsi yang salah atau hilang 2. Kesalahan interface 3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan performa 5. kesalahan inisialisasi dan terminasi
Gambar 4.11 Blackbox Testing
54
Pengujian aplikasi dilakukan pada mobile phone Samsung Galaxy Fit 2.3.4, dengan menggunakan jasa layanan GSM Telkomsel As. Pada Table 4.1 kita dapat melihat hasil pengujian aplikasi dengan menggunakan metode blackbox. Tabel 4.1 Hasil pengujian aplikasi dengan metode blackbox Aktivitas
Validasi
Hasil Uji
Input Display form login
Valid
Menampilkan form login
Display search
Valid
Menampilkan field untuk
pasien Display informasi
mencari data pasien Valid
Menampilkan hasil pencarian
data pasien Display menu
dari data pasien Valid
Menampilkan menu pilihan
Refresh Display menu Input
untuk refresh Valid
Menampilkan menu pilihan untuk input data pasien
Display menu
Valid
Berhasil ditampilkan About
Valid
Halaman login admin berhasil
About Display login admin Display halaman
ditampilkan Valid
Berhasil menampilkan
awal webserver Display search
halaman awal pada webserver Valid
Berhasil ditampilkan
Valid
Berhasil menampilkan data
pasien di webserver Display data operator
operator 55
Display data dokter
Valid
Berhasil menampilkan data berisikan informasi dokter
Pengujian GUI (Graphic User Interface) Untuk Aplikasi Android
Mudah bagi user dalam melakukan login pada form awal.
Mudah bagi user dalam melakukan proses typing pada field apa saja.
Operasi menu bekerja secara tepat.
Operasi tap, hold, up, dan down bekerja dengan baik
Proses saat melakukan pencarian data bekerja secara cepat dan tepat.
Proses input data pasien dapat dilakukan dengan mudah dan tinggal disimpan.
Dari pengujian GUI ini, dengan berbagai cara tampilan aplikasi ini dibuat agar mudah digunakan oleh user, dalam hal ini operator dari petugas Rumah Sakit Mitra Masyarakat. Sehingga keterbatasan pengetahuan pada aplikasi ini dengan mudah dan cepat dapat digunakan sebagai proses pembelajaran tentang penggunaan aplikasi ini. Secara umum, pengujian sistem telah berjalan dengan baik sesuai dengan keterangan pada tabel pengujian. Tampilan-tampilan berjalan dengan baik, data-data yang merupakan request maupun input-an dari operatorpun di proses dengan cepat dengan penerapan REST web service pada aplikasi pendataan pasien rawat inap ini.
56
Pada halaman web server, khusus untuk pilihan pencarian data pasien telah berjalan dengan baik. Data pasien dapat dicari berdasarkan nama dan ruang tempat pasien dirawat. Untuk pencetakkan formulir rawat inap, juga dapat dilakukan dengan hal yang sama, yaitu melakukan peng-input-an data pasien, dan data tersebut siap dicetak seperti hasil yang ada pada gambar 4.10.
57