BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Setelah dilakukannya analisa dan perancangan sistem pada bab sebelumnya, lalu langkah selanjutnya adalah implementasi dan pengujian sistem dimana di dalam sistem di perlukannya suatu implementasi yang menjabarkan mengenai implementasi yang akan dilakukan pada sistem yang baru yang siap untuk di operasikan. Sedangkan dalam pengujian sistem akan menentukan sistem akan diuji dengan menggunakan white box atau black box testing, agar penulis mengetahui apakah sistem yang dibuat dapat beroperasi dengan baik.
4.1.1 Implementasi Sistem Informasi Manajemen Puskesmas Pada sub bab ini akan diterangkan secara bertahap mengenai tahapan-tahapan dalam pembuatan sistem ini yang meliputi proses pengkodean, implementasi basis data dan implementasi dalam bentuk tampilan antar muka. Berikut ini adalah tahapan-tahapan yang dipakai dalam pembuatan aplikasi ini.
4.1.2 Pengkodean Pada proses pengkodean, sistem ini akan menerangakan satu per satu tiap bagian utama dari tampilan sistem yang ada. Untuk dapat terhubung antara aplikasi dengan database, maka berikut listing programnya :
Imports MySql.Data.MySqlClient Module databaseconnection Public strkon As String = "server=localhost;User Id=root;Persist Security Info=True;database=simpus;Convert Zero Datetime=True"
End Module
4.1.3 Implementasi Basis Data Dalam pembuatan basis data ini dikondisikan MySql sudah terinstal dalam komputer, jadi penulis tidak menjelaskan langkah-langkah instalasi MySql tersebut. Penulis hanya menjelaskan pembuatan basis data yang berkaitan dengan sistem ini.
1. Membuka halaman MySQL Karena aplikasi MySQL sudah terletak pada desktop, maka hanya perlu mendouble klik MySql tersebut. Setelah itu akan tampil halaman seperti yang terlihat pada gambar dibawah ini:
Gambar 4.1 Halaman Utama MySQL Kemudian klik tombol “connect” maka akan muncul tampilan seperti di bawah ini :
Gambar 4.2 Menu Utama MySQL
2. Membuat Basis Data Simpus (Sistem Informasi Manajemen Puskesmas) Pembuatan database simpus didalam MySQL di awali dengan membuka menu “Database” kemudian mengklik “Create Database..”. Kemudian tuliskan pada kolom database name dengan nama “simpus”, setelah itu klik “create”. Setelah basis data berhasil dibuat, maka langkah selanjutnya adalah membuat tabel-tabel yang diperlukan dalam pembuatan aplikasi ini. Dengan cara menambahkan membuat create table pada database yang telah di buat sebelumnya. Seperti yang terlihat pada gambar dibawah ini :
Gambar 4.3 Database Simpus
3. Tabel Pasien Pembuatan table pasien dimaksudakan sebagai media untuk menyimpan data yang berkaitan dengan data pasien yang terdapat pada aplikasi ini. Tabel pasien memiliki lima field, yaitu no_rm yang juga sebagai primary key, nm_pasien sebagai nama pasien, alamat_pasien, umur dan jk atau jenis kelamin. Berikut ini tabel pasien yang terdapat didalam basis data simpus.
Gambar 4.4 Tabel Pasien
4. Tabel Dokter Pembuatan table dokter dimaksudkan sebagai media untuk menyimpan data yang berkaitan dengan data dokter yang terdapat pada aplikasi ini. Tabel dokter memiliki lima field, yaitu nip yang juga sebagai primary key, nm_dokter sebagai nama dokter, spesialis, alamat_dokter dan tlp_dokter. Berikut ini tabel dokter yang terdapat didalam basis data simpus.
Gambar 4.5 Tabel Dokter
5. Tabel Obat Pembuatan tabel obat dimaksudkan sebagai media untuk mengelola data yang berkaitan dengan data obat yang terdapat pada aplikasi ini. Tabel obat memiliki lima field, yaitu kd_obat yang juga sebagai primary key, nm_obat sebagai nama obat, jenis_obat, ket_obat dan stok. Berikut ini tabel obat yang terdapat didalam basis data simpus.
Gambar 4.6 Tabel Obat
6. Tabel Poli Pembuatan tabel poli dimaksudkan sebagai media untuk menginput kode dan nama poli yang terdapat pada puskesmas tersebut. Tabel poli hanya memiliki dua field, yaitu kd_poli yang juga sebagai primary key, dan nm_poli sebagai nama poli. Berikut ini tabel poli yang terdapat didalam basis data simpus.
Gambar 4.7 Tabel Poli
7. Tabel Laboratorium Pembuatan tabel Laboratorium dimaksudkan sebagai media untuk menginput hasil pemeriksaan lab yang pernah dilakukan oleh pasien. Tabel Laboratorium memiliki sepuluh field, yaitu no_periksa yang juga sebagai primary key, no_daftar, no_rm, nm_pasien, umur, alamat_pasien, jk, nm_pemeriksaan, jns_pemeriksaan dan hsl_pemeriksaan. Berikut ini tabel Laboratorium yang terdapat didalam basis data simpus.
Gambar 4.8 Tabel Laboratorium
8. Tabel Pemeriksaan Pembuatan tabel Pemeriksaan dimaksudkan sebagai media untuk mengelola hasil pemeriksaan atau rekam medis pasien yang pernah dilakukan oleh pasien. Berikut ini tabel Laboratorium yang terdapat didalam basis data simpus.
Gambar 4.9 Tabel Pemeriksaan
9. Tabel Pendaftaran Pembuatan tabel pendaftaran dimaksudkan sebagai media untuk menginput pendaftran pemeriksaan pasien. Tabel Pendaftaran memiliki sepuluh field, yaitu no_periksa yang juga sebagai primary key, no_daftar, no_rm, nm_pasien, umur, alamat_pasien, jk, nm_pemeriksaan, jns_pemeriksaan dan hsl_pemeriksaan. Berikut ini tabel Laboratorium yang terdapat didalam basis data simpus.
Gambar 4.10 Tabel Pendaftaran
4.1.4 Implementsi Program 1. Tampilan Menu Utama Pada menu ini menampilkan tampilan awal dari sistem informasi puskesmas ini. Setelah penggguna berhasil login, maka akan muncul tampilan seperti di bawah ini. Pada form utama ini terdapat beberapa menu yang dapat di pilih.
Gambar 4.11 Tampilan Menu Utama
Potongan Listing Program pada Menu Utama : Public Class FormUtama1
Private Sub FormUtama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MenuStrip1.Enabled = True End Sub End Class
2. Tampilan Pendaftaran Pemeriksaan Pendaftaran pemeriksaan di maksudkan untuk menginput data pasien lama yang ingin berobat pada puskesmas tersebut. Jadi pasien lama hanya perlu meregristrasi ulang, tanpa harus menginput keseluruhan dari data pasien tersebut.
Gambar 4.12 Tampilan Pendaftaran Pemeriksaan
Potongan listing program pendaftaran pemeriksaan : Imports MySql.Data.MySqlClient
Public Class FormPendaftaran
Sub ambildata() Dim cnt As New MySqlConnection(strkon) Dim cmd As New MySqlCommand
Dim ds As New DataSet cnt.Close() cnt.Open() With cmd .Connection = cnt
.CommandType = CommandType.Text .CommandText = "SELECT * FROM pendaftaran order by no_daftar" End With Dim dr As MySqlDataReader = cmd.ExecuteReader Dim dt As New DataTable dt.Load(dr) Dim row As DataRow = dt.Rows(0) txtNoRM.Text = row("no_rm") txtNoDaftar.Text = row("no_daftar") txtNmPoli.Text = row("kd_poli") txtTglDaftar.Text = row("tgl_daftar") txtNmPasien.Text = row("nm_pasien") txtUmur.Text = row("umur") txtAlamat.Text = row("alamat_pasien") cmbJK.Text = row("jk") cmbJnsAsuransi.Text = row("jns_asuransi") txtKdPoli.Text = row("kd_poli") txtNmKK.Text = row("nm_kk") cnt.Close() End Sub
3. Tampilan Master Data Pada tampilan master data, terdapat beberapa menu pilihan yang dapat di pilih. Diantaranya input data pasien, input data dokter, input data poli, input data obat, input data tindakan dan input data penyakit.
Gambar 4.13 Tampilan Master Data
a.
Tampilan Input Data Pasien Pada menu ini menampilan beberapa data inputan yang harus di isi oleh petugas loket pendaftaran. Form input data pasien digunakan untuk menginput data pasien baru pada puskesmas tersebut.
Gambar 4.14 Tampilan Input Data Pasien
Potongan Listing Program Input Data Pasien : Imports MySql.Data.MySqlClient
Public Class FormPasien Sub ambildata() Dim cnt As New MySqlConnection(strkon) Dim cmd As New MySqlCommand
Dim ds As New DataSet cnt.Close() cnt.Open() With cmd .Connection = cnt .CommandType = CommandType.Text .CommandText = "SELECT * FROM pasien order by no_rm" End With Dim dr As MySqlDataReader = cmd.ExecuteReader Dim dt As New DataTable
dt.Load(dr) Dim row As DataRow = dt.Rows(0) txtNoRM.Text = row("no_rm") txtNmPasien.Text = row("nm_pasien") txtAlamat.Text = row("alamat_pasien") txtUmur.Text = row("umur") cmbJK.Text = row("jk") txtNmKK.Text = row("nm_kk") cmbJnsAsuransi.Text = row("jns_asuransi") cmbStatus.Text = row("status") cnt.Close() End Sub
b.
Tampilan Input Data Dokter Pada menu ini menampilkan beberapa data inputan yang harus di isi oleh admin. Form input data dokter digunakan untuk menginput data dokter maupun perawat yang ada pada puskesmas tersebut.
Gambar 4.15 Tampilan Input Data Dokter
Potongan Listing Program Input Data Dokter : Imports MySql.Data.MySqlClient
Public Class FormDokter
Sub ambildata() Dim cnt As New MySqlConnection(strkon) Dim cmd As New MySqlCommand
Dim ds As New DataSet cnt.Close() cnt.Open() With cmd .Connection = cnt .CommandType = CommandType.Text .CommandText = "SELECT * FROM dokter order by nip" End With Dim dr As MySqlDataReader = cmd.ExecuteReader Dim dt As New DataTable dt.Load(dr) Dim row As DataRow = dt.Rows(0) txtKdDokter.Text = row("nip") txtNmDokter.Text = row("nm_dokter") txtSpesialis.Text = row("spesialis") txtAlamat.Text = row("alamat_dokter") txtTelp.Text = row("tlp_dokter") cnt.Close() End Sub
c. Tampilan Input Data Poli Pada menu ini menampilkan data inputan yang harus di isi oleh admin. Form input data poli digunakan untuk menginput kode dan nama poli yang ada pada puskesmas tersebut.
Gambar 4.16 Tampilan Input Data Poli
Potongan Listing Program Input Data Poli : Imports MySql.Data.MySqlClient
Public Class FormPoli Sub ambildata() Dim cnt As New MySqlConnection(strkon) Dim cmd As New MySqlCommand
Dim ds As New DataSet cnt.Close() cnt.Open() With cmd .Connection = cnt .CommandType = CommandType.Text .CommandText = "SELECT * FROM poli order by kd_poli" End With Dim dr As MySqlDataReader = cmd.ExecuteReader Dim dt As New DataTable dt.Load(dr) Dim row As DataRow = dt.Rows(0) txtKdPoli.Text = row("kd_poli") txtNmPoli.Text = row("nm_poli") cnt.Close() End Sub
d. Tampilan Input Data Obat Pada menu ini menampilkan data inputan obat yang harus di isi oleh petugas apoteker. Form input data obat digunakan untuk mengelola persediaan obat yang ada pada puskesmas tersebut.
Gambar 4.17 Tampilan Input Data Obat
Potongan Listing Program Input Data Obat : Imports MySql.Data.MySqlClient
Public Class FormObat Sub ambildata() Dim cnt As New MySqlConnection(strkon) Dim cmd As New MySqlCommand
Dim ds As New DataSet cnt.Close() cnt.Open() With cmd .Connection = cnt .CommandType = CommandType.Text .CommandText = "SELECT * FROM obat order by kd_obat" End With Dim dr As MySqlDataReader = cmd.ExecuteReader Dim dt As New DataTable dt.Load(dr) Dim row As DataRow = dt.Rows(0) txtKdObat.Text = row("kd_obat") txtNmObat.Text = row("nm_obat")
txtStok.Text = row("stok") txtJnsObat.Text = row("jenis_obat") txtKeterangan.Text = row("ket_obat") cnt.Close() End Sub
e. Tampilan Menu Antrian Pada menu ini menampilkan nomor antrian yang tersedia pada masing-masing poli. Menu antrian digunakan untuk pasien dapat melihat nomor antrian yang ada pada saat ini.
Gambar 4.18 Tampilan Menu Antrian
f. Tampilan Input Hasil Pemeriksaan Pada menu ini menampilkan data hasil pemeriksaan yang dilakukan pasien. Form input hasil pemeriksaan digunakan untuk mengelola hasil pemeriksaan dari masing – masing pasien dan sekaligus mendokumentasikan hasil tersebut apabila datanya dibutuhkan sewaktu-waktu.
Gambar 4.19 Tampilan Input Hasil Pemeriksaan
Potongan Listing Program Input Hasil Pemeriksaan : Imports MySql.Data.MySqlClient
Public Class FormPemeriksaan Sub ambildata() Dim cnt As New MySqlConnection(strkon) Dim cmd As New MySqlCommand
Dim ds As New DataSet cnt.Close() cnt.Open() With cmd .Connection = cnt .CommandType = CommandType.Text .CommandText = "SELECT * FROM pemeriksaan order by no_periksa" End With Dim dr As MySqlDataReader = cmd.ExecuteReader Dim dt As New DataTable dt.Load(dr)
Dim row As DataRow = dt.Rows(0) txtAnamnesa.Text = row("anamnesa") ListBox2.Text = row("diagnosa") txtJmlTindakan.Text = row("jml_tindakan") txtNmDokter.Text = row("nm_dokter") txtNmObat.Text = row("nm_obat") txtNmPoli.Text = row("nm_poli") txtNmTindakan.Text = row("nm_tindakan") txtNoDaftar.Text = row("no_daftar") txtNoRM.Text = row("no_rm") txtTherapi.Text = row("resep") txtTglPeriksa.Text = row("tgl_periksa") ListBox1.Text = row("alamat") txtNmPasien.Text = row("nm_pasien") txtUmur.Text = row("umur") txtNmKK.Text = row("nm_kk") cmbJnsAsuransi.Text = row("jns_asuransi") cmbStatus.Text = row("status") txtKdPoli.Text = row("kd_poli") txtKdObat.Text = row("kd_obat") txtKdDokter.Text = row("kd_dokter") txtSpesialis.Text = row("spesialis") txtKdTindakan.Text = row("kd_tindakan") txtNoPeriksa.Text = row("no_periksa") txtJmlObat.Text = row("jml_obat") cnt.Close() End Sub
g. Tampilan Laporan Kunjungan Pasien Pada menu laporan kunjungan pasien menampilkan beberapa data kunjungan pasien. Form laporan kunjungan pasien digunakan untuk melihat berapa jumlah kunjungan pasien.
Gambar 4.20 Tampilan Laporan Kunjungan Pasien
Potongan Listing Program Laporan Kunjungan Pasien : Private Sub btCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btCetak.Click Dim rpt As New LapKunjungan Dim mycommand As New MySqlCommand Dim myDA As New MySqlDataAdapter Dim myDS As New DataSet Try mycommand.Connection = cnt mycommand.CommandText = " SELECT * FROM pendaftaran a INNER JOIN pasien b ON a.no_rm = b.no_rm INNER JOIN poli c ON a.kd_poli = c.kd_poli INNER JOIN pemeriksaan d ON a.no_daftar = d.no_daftar INNER JOIN dokter e ON d.kd_dokter = e.nip where month(tgl_daftar) = '" & ComboBox1.Text & "'" mycommand.CommandType = CommandType.Text myDA.SelectCommand = mycommand myDA.Fill(myDS, "LapKunjunganPasien") rpt.SetDataSource(myDS) CrystalReportViewer1.ReportSource = rpt Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) End Try End Sub
h. Tampilan Login Form ini berisi permintaan untuk memasukkan username dan password dari si pengguna agar dapat mengakses sistem ini. Jika username atau password yang di masukkan salah, maka akan mucul peringatan “username dan password tidak valid. Silahkan ulangi”.
Gambar 4.21 Tampilan Login
Potongan Listing Program Tampilan Login If password <> Trim(txtPassword.Text) Then MsgBox(“Password salah!”, MsgBoxStyle.OKOnly, “Simpus”) txtPassword.Focus() Exit Sub Else Me.ShowInTaskbar = False Me.Close() Me.Dispose() FormUtama1.ShowDialog() txtUser.Text = “” txtPassword.Text = “” End If
4.2 Metode Pengujian Ada 2 metode untuk melakukan unit testing, yaitu black box testing dan white box testing. Black box testing dilakukan dengan memfokuskan pada apakah unit
program memenuhi kebutuhan (requirement) yang dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang diinginkan atau tidak. Sedangkan white box testing adalah pengujian dengan melihat kedalam modul untuk meneliti kode-kode program yang ada dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan. Maka baris-baris program, variable, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian di compile ulang. Dalam pengujian ini penulis menggunakan metode pengujian black box testing, karena proses testing ini dilakukan berdasarkan kebutuhan.
4.3 Proses Pengujian Pengujian pada sistem ini menggunakan metode black box testing dan white box testing, yaitu suatu pengujian yang terfokus pada persyaratan fungsionalitas dari perangkat lunak. Pengujian ini dimaksudkan untuk menguji program yang telah dibuat sebelumnya.
4.3.1
Pengujian Black Box Metode pengujian black box ini merupakan metode pengujian dengan
program kasus pengujian yang berbasis spesifikasi, dan pengujian dimulai pada saat pengembangan system.
Gambar 4.22 Metode Pengujian Black-Box
Metode pengujian black box berfokus pada persyaratan fungsional perangkat lunak, pengujian black box bukan merupakan alternatif dari teknik white box tetapi merupakan pendekatan komplementer yang kemungkinan besar mampu menemui kesalahan dari pada metode white box. Pengujian black box dapat menemukan kesalahan dalam kategori sebagai berikut : 1.
Fungsi yang tidak benar atau hilang
2.
Kesalahan antarmuka
3.
Kesalahan dalam struktur data atau akses database eksternal
4.
Kesalahan kinerja
5.
Inisialisasi dan kesalahan terminasi
Pengujian dengan menggunakan metode black box testing dilakukan dengan cara memberikan sejumlah masukan (input) pada program aplikasi yang kemudian diproses sesuai dengan kebutuhan fungsionalnya untuk melihat apakah program tersebut menghasilkan keluaran (output) yang sesuai dengan fungsi dari sistem tersebut. Bila dari input yang diberikan proses menghasilkan output yang sesuai dengan kebutuhan fungsionalnya, maka sistem yang penulis rancang berhasil. Tetapi bila output yang dihasilkan tidak sesuai dengan kebutuhan fungsionalnya. Maka masih terdapat kesalahan pada program tersebut.
Pengujian dilakukan dengan mencoba semua kemungkinan yang terjadi dan dilakukan secara berulang-ulang. Jika dalam pengujian ditemukan kesalahan, maka akan dilakukan pencarian dan perbaikan untuk memperbaiki kesalahan yang terjadi. Jika telah selesai melakukan perbaikan maka akan dilakukan pengujian kembali. Pengujian dan perbaikan dilakukan secara terus menerus sehingga diperoleh hasil yang terbaik.
4.3.2
Skenario Hasil Pengujian Dari hasil skenario pengujian terakhir yang dilakukan dapat diperoleh hasil
pengujian. Pada setiap pilihan yang ada pada aplikasi ini dan beberapa menu laporan
maka diperoleh hasil pengujian tersebut sesuai dengan rumusan perancangan aplikasi program ini dan terangkum dalam tabel. Tabel 4.1 Skenario Hasil Pengujian No
1.
2.
Antar muka Bagian yang Status
Skenario
Hasil
yang diuji
diuji
aplikasi
pengujian
diharapkan
Menu
Menu
Form Utama Klik
Utama
Strips1
sudah
yang akan di dengan form membuka
terbuka
pillih
yang diklik
form utama
input Memasukan
Menginput
Data
Pendaftaran Menu Pendaftaran
Form
pendaftaran
yang Hasil
menu Terhubung
data pasien
Pemeriksaan sudah
ke
Berhasil
dalam tersimpan
database
terbuka 3.
pengujian
ke
dalam
database
Master
Menu
Menu
Memilih data Terinput
Data
Inputan data inputan
yang ingin di dalam
tersimpan
master
input
ke
dapat di pilih
database
ke Data
dalam
database 4.
5.
Antrian
Cetak
Pilih antrian Memasukan
Terinput
antrian
poli
dalam
Rekam
Menu Input Form
Medis
Hasil
nomor
Pemeriksaan pemeriksaan
ke
tersedia
database Terinput
Laporan
dalam
ke Data
hasil
dalam
tersimpan
pemeriksaan
database
ke
pasien 6.
tersimpan
antrian yang database
input Memasukan
hasil
ke Data
dalam
database
Memilih
Form
Mencetak
Laporan
Laporan
menu
laporan
laporan
muncul
tercetak
laporan
4.4
Analisis Hasil Pengujian Setelah melakukan pengujian tampilan di sistem ini dapat berjalan maksimal
jika menggunakan visual studio 2008. Selain itu pengujian terhadap semua menu pada program ini dapat disimpulkan bahwa pengujian telah menunjukan hasil keluaran (output) dan proses yang sesuai dengan rancangan. Dan hasil dari pengujian ini dapat dikatakan bahwa aplikasi ini dapat berfungsi dengan baik dan benar, karena telah dibuktikan dari hasil skenario pengujian. Bahwa sistem ini dapat digunakan sebagai control dalam melakukan kegiatan pendaftaran pemeriksaan, pencatatan atau pendokumentasian rekam medis dan pengelolaan penggunaan obat.
Pada pengujian yang telah dilakukan, semua user hanya berhak memasuki halaman yang telah ditentukan menurut kewenangannnya. Antara lain : 1. Untuk Loket hanya dapat mengakses menu pendaftaran, antrian dan mengelola laporan kunjungan pasien. 2. Untuk Poli hanya dapat melihat menu antrian yang berlangsung dan mengelola inputan menu master data hasil pemeriksaan dan membuat laporan hasil pemeriksaan. 3. Untuk Apoteker hanya dapat mengakses menu master data input data obat dan membuat atau mengelola laporan stok obat. 4. Untuk Laboratorium hanya dapat mengakses input hasil pemeriksaan lab dan membuat laporan hasil laboratorium.