TUGAS AKHIR
Disusun dalam rangka memenuhi salah satu persyaratan
untuk menyelesaikan Program Studi Strata-1 Teknik Informatika
Departemen Teknik Informatika Fakultas Teknik Universitas Hasanuddin
Makassar
Disusun Oleh:
i
LEMBAR PENGESAHAN SKRIPSI
Oleh:
Skripsi ini telah dipertahankan pada Ujian Akhir Sarjana tanggal 29 November 2017.
Diterima dan disahkan sebagai salah satu syarat memperoleh gelar
Sarjana Teknik (S.T.) pada Program Studi Strata-1 Teknik Informatika
Departemen Teknik Informatika Fakultas Teknik Universitas Hasanuddin.
Dr.Eng. Muhammad Niswar, S.T., M.IT. Dr. Ir. Ingrid Nurtanio, M.T.
NIP. 19730922 199903 1 001 NIP. 19610813 198811 2 001
ii
ABSTRAK
iii
KATA PENGANTAR
Segaa puji dan syukur kami panjatkan ke hadirat Allah SWT Tuhan Yang
Maha Esa yang dengan limpahan rahmat dan hidayah-Nya sehingga kami dapat
diselesaikan dengan baik dan tepat pada waktu yang telah ditentukan sebagai salah
satu syarat untuk memperoleh gelar sarjana Program Strata Satu Fakultas Teknik
materil dari berbagai pihak. Sehingga pada kesempatan ini kami menyampaikan
Tuhan Yang Maha Esa atas semua berkat, karunia serta pertolongan-
yang bermanfaat.
Ibu Dr. Ir. Ingrid Nurtanio, M.T. selaku dosen pembimbing II yang
iv
Bapak Dr. Amil Ahmad Ilham, S.T., M.IT., Bapak Dr.Eng. Wardi,
S.T, M.Eng., Ibu Novy Nur R.A. Mokobombang, S.T., M.T., Bapak
Hasanuddin.
Serta seluruh pihak yang tak sempat kami sebutkan satu persatu
banyak kekurangan dalam penyusunan Laporan Skripsi ini baik isi maupun cara
penyajian. Oleh karena itu, penyusun mengharapkan adanya saran dan kritik yang
Laporan Skripsi ini dapat memberikan manfaat bagi pembaca pada umumnya dan
Makassar,
Penyusun
v
DAFTAR ISI
vi
2.1.1. Definisi Rumah Sakit ......................................................................... 8
vii
3.2.2.1.2. State Transition Diagram ................................................. 41
LAMPIRAN .......................................................................................................... 79
viii
DAFTAR GAMBAR
Gambar 3.8: State Transition Diagram Menu “Order Pemeriksaan Lab” ............ 44
Gambar 3.13: Data Flow Diagram Level 2 (Kelola Data Pemeriksaan) .............. 51
ix
Gambar 3.20: Rancangan Halaman Input Hasil Pemeriksaan Lab ....................... 55
x
DAFTAR TABEL
xi
DAFTAR LAMPIRAN
xii
BAB I
PENDAHULUAN
persaingan yang semakin tajam pada era globalisasi saat ini. Dalam
pelanggan yang satu dan yang lain. Bagi laboratorium, pelanggan berarti
1
pemeriksaan bisa dikatakan mempunyai mutu tinggi apabila data hasil
teknis sehingga precision and accuracy (ketelitian dan ketepatan) yang tinggi
secara ilmiah maupun hukum. Hal itu berarti seluruh metode dan prosedur
laporan hasil kepada pelanggan. Oleh karena itu kebutuhan perbaikan kualitas
yaitu Sistem Admisi Pasien, Sistem Logistik Farmasi dan Sistem Penunjang
Laboratorium.
terbagi menjadi beberapa modul, setiap modul berhubungan dengan unit atau
2
MYHRD. Penginputan Tindakan Hasil Laboratorium termasuk dalam Modul
MYHospital. Sistem penginputan atau entri hasil Lab pada unit Lab Patologi
sedangkan Form Entri Hasil Digunakan sebagai Inputan form Hasil Hasil
Pemeriksaan Lab. Setiap detail penginputan dicek dan diperiksa oleh dokter
sebagai laporan tindakan pasien dan setiap laporan tindakan pasien digunakan
telah berjalan sejauh ini sehingga model penginputan tindakan pada sistem
dilakukan secara terpusat sehingga proses lebih cepat. Dengan aplikasi ini,
3
1.2 Rumusan Masalah
permasalahan yang dibahas, maka sistem ini dibatasi oleh ruang lingkup
4
1.4.2 Tujuan Khusus
pengembangan aplikasi.
laboratorium.
laboratorium.
5
medis yang memadai sesuai dengan standar, tepat waktu, dan
memuaskan.
membutuhkannya.
BAB I. PENDAHULUAN
Bab ini terdiri dari enam sub bab, yaitu Latar Belakang, Rumusan
Sistematika Penulisan.
6
BAB II. LANDASAN TEORI
Negeri (RS-PTN).
BAB V. PENUTUP
pemecahan masalah yang diperoleh selama penyusunan tugas akhir ini dan
7
BAB II
LANDASAN TEORI
Pada bab ini akan dikemukan hal-hal atau teori-teori yang berkaitan dengan
penelitian.
"Rumah sakit adalah merupakan bagian integral dari satu organisasi sosial dan
menjangkau keluarga di rumah. Rumah sakit juga merupakan pusat pendidikan dan
upaya kesehatan. Upaya kesehatan adalah setiap kegiatan untuk memelihara dan
8
Oleh karena kesehatan merupakan salah satu aspek yang sangat penting bagi
Sehingga tujuan rumah sakit adalah untuk menghasilkan produk, jasa atau
dari berbagai aspek, yang menyangkut medis dan non medis, jenis pelayanan,
terapetiknya.
kesehatan.
9
di Indonesia, fungsi rumah sakit seperti yang dinyatakan di dalam Permenkes RI
kesehatan.
kesehatan yang paripurna tingkat kedua dan ketiga sesuai kebutuhan medis.
10
bersifat manajerial, dan kegiatan strategi dari suatu organisasi dan menyediakan
berikut :
dengan lainnya.
seperti tempat, benda, dan orang-orang yang betul-betul ada dan terjadi.
e. Pengertian Sistem Menurut Davis, G.B, (1991 : 45), sistem secara fisik
11
f. Definisi Sistem Menurut Dr. Ir. Harijono Djojodihardjo (1984: 78), "Suatu
antara tiap-tiap objek dan hubungan antara ciri tiap objek, dan yang secara
karakteristik sistem yang dapat membedakan suatu sistem dengan sistem lainnya :
c. Masukan (input). Sumber daya (data, bahan baku, peralatan, energi) dari
12
d. Keluaran (output). Sumber daya atau produk (informasi, laporan,
penyimpanan sementara dan tetap dari informasi, energi, bahan baku, dan
komponen tersebut bekerja sama dengan berbagai tingkatan yang ada dan
memungkinkan komponen yang berbeda dari berbagai data yang sama (Al
Fatta, 2007).
2.2.3 Informasi
Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan
lebih berarti bagi penerimanya. Sumber informasi adalah data. Data adalah
Menurut Gordon B. Davis : Informasi adalah data yang telah diolah menjadi suatu
bentuk yang penting bagi sipenerima dan memiliki nilai nyata atau yang dapat
13
Fungsi Informasi :
untuk memperolehnya.
d. Ruang atau tempat, informasi itu tersedia dalam ruangan atau tempat yang
tepat.
yang dikembangakan dalam suatu organisasi dan disahkan bila diperlukan untuk
14
Sistem Informasi Manajemen Rumah Sakit (SIMRS) adalah suatu rangkaian
penyajian informasi dan analisa) pelayanan kesehatan di rumah sakit. Peran sistem
mempunyai peran yang sangat efektif dalam proses pelayanan kesehatan di rumah
sakit, dengan sistem informasi seorang pemimpin rumah sakit dapat mengambil
suatu kebijakan secara cepat, tepat dan akurat berdasarkan informasi yang didapat
mengelola proses bisnis rumah sakit, yang dihubungkan secara online pada semua
hutang, manajemen aset, gizi, sterilisasi, laundry, kepegawaian, dan fungsi lainnya
(Setiawan, 2011).
memiliki manfaat yang besar bagi meningkatkan kualitas pelayanan rumah sakit.
• Manfaat Umum
15
kedokteran yang baik dan benar, dokumentasi yang auditable dan accountable,
daya, antara lain mitra usaha potensial seperti pedagang besar farmasi,
• Manfaat Organisasi
sebagai berikut :
menjadi berubah. Hal ini dapat terjadi karena integrasi SIMRS dengan
berada di bawah satu kendali. Misalnya untuk data tarif tindakan, unit
perubahan pada tarif yang ada, data yang dimasukkan hanya layanan
dimungkinkan.
digunakan oleh unit layanan tertentu adalah milik unit layanan yang
16
lain, misal kode perusahaan pelanggan adalah milik keuangan yang
referensi.
karena data atau informasi yang dikirim ke unit lain, merupakan suatu
• Manfaat Operasional
sebagai berikut :
17
data dengan akurasi entri data yang tinggi dipenuhi, maka akan terasa
2. Akurasi, hal lain yang juga terasa berubah adalah akurasi data, apabila
tertentu.
3. Integrasi, hal lain yang juga terasa berpengaruh terhadap budaya kerja
adalah integrasi data di setiap unit. Bila dengan sistem manual, data
inap ataupun rawat jalan. Hal yang sama juga dirasakan perusahaan
pelanggan, yang mana tagihan yang dikirim cukup akurat dan detail
18
konsentrasinya lebih kepada umur tagihan itu sendiri. Selain itu,
utamanya.
• Manfaat Manajerial
sebagai berikut :
yang disajikan bersifat real time, bahkan dapat membuat tabulasi dari
keputusan.
kinerja rumah sakit, maka jika ada hal-hal yang tidak normal dapat
19
segera diketahui. Hal ini membuat identifikasi potensi masalah dapat
tidak dapat berjalan dengan baik tanpa dukungan semua pihak yang
terkait serta political will dari pimpinan rumah sakit maupun pemilik
rumah sakit.
informasi tentang kesehatan pasien. Instalasi laboratorium rumah sakit adalah salah
satu bagian di rumah sakit yang merupakan pelayanan penunjang yang bertujuan
untuk:
20
3. menentukan prognosis/perjalanan penyakit sehingga dapat digunakan
penyakit.
medik rumah sakit yang berperan sebagai tempat penyelenggara semua kegiatan
2.5 Codeigniter
semua code dariawal. Codeigniter menyediakan berbagai macam library yang dapat
21
lebih ringan dan cepat dibandingkan framework lainnya ("because it is faster,
lengkap dan dukungan yangluar biasa dari forum codeigniter. Selain itu codeigniter
juga memiliki fitur-fitur lainya yang sangat bermanfaat, antara lain (Basuki,
2014:3):
• URL Friendly: URL yang dihasilkan sangat URL friendly. Pada codeigniter
codeigniter. MVC adalah singkatan dari Model View Controller. MVC sebenarnya
pikir), data logic (penyimpanan data) dan presentation logic (antarmuka aplikasi)
atau secara sederhana adalah memisahkan antara desain,, data dan proses. Adapun
• Model
Model juga merepresentasikan struktur data dari aplikasi yang bisa berupa
22
basis data maupun data lain, misalnya dalam bentuk file teks, file XML
maupun webservice. Biasanya di dalam model akan berisi class dan fungsi
• View
user. Bisa berupa halaman web, css, javascript, dan lain-lain. Kita harus
hanya berisi variabel-variabel yang berisi data yang siap ditampilkan. View
HTML dan bantuan CSS atau JavaScript. Di dalam view jangan pernah ada
• Controller
juga tidak boleh berisi kode untuk mengakses basisdata karena tugas
23
kesalahan/error, mengerjakan proses logika dari aplikasi serta melakukan
Jika dipetakan, alur kerja CodeIgniter akan tampak seperti Gambar 2.1.
membalas semua request dari browser. Untuk data maka controller akan meminta
aplikasi ada di view dan “Data” ada di model. Ketika browser meminta sebuah
halaman web maka router akan mencarikan controller mana yang harus menangani
mengakses data dan View untuk menampilkan data tersebut. (Basuki: 2014:7).
24
2.5.2 Instalasi Codeigniter
codeigniter adalah aplikasi berbasis website maka sebenarnya yang perlu dilakukan
Document Root dari web server yang telah diinstall sebelumnya. Berbeda dengan
mendapatkan kode sumber dari codeigniter itu sendiri yang dapat di-download di
Document Root web server, yaitu folder htdocs didalam direktori C:\xampp bagi
berjalan di web server anda. Adapun struktur utama dari codeigniter terbagi
adalah tempat kita meletakkan code yangakan dibuat (bewarna merah dan hijau
25
Gambar 2.2: Struktur Direktori Codeigniter
dari CI.
26
o Folder language - tempat menyimpan bahasa-bahasa yang akan di
gunakan.
sendiri.
• Folder system menyimpan semua file baik itu file aplikasi yang dibuat
library.
CI.
manipulation library.
sebagai scaffolding.
27
• Folder user_guide - berisi userguide/manual penggunaan CI.
• File index.php - file yang akan menghandle semua request yang dilakukan
oleh client.
2.6.1 MySQL
database dirancang untuk mengelola informasi dalam jumlah yang besar. Perintah
MySQL dapat dikategorikan menjadi 3 sub perintah, yaitu DDL (Data Definition
Language).
28
a. DDL (Data Definition Language)
database.
29
2.6.2 XAMPP
dengan Linux.
aplikasi untuk membangun aplikasi website dinamis di localhost atau yang belum
terkoneksi dengan internet. Selain itu, XAMPP terdiri atas program Apache HTTP
Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa
pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat
sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam
GNU General Public License dan bebas, merupakan web server yang mudah
PHP pertama kali ditemukan tahun 1995 oleh seorang Software Developer
bernama Rasmus Lerdrof (Dwiartara: 3). PHP (Personal Home Page) atau saat ini
HTML. HTML merupakan bahasa statis yang apabila kita ingin mengubah
30
konten/isinya maka yang harus dilakukan pertama kali adalah membuka file-nya
terlebih dahulu, kemudian menambahkan isi kedalam file tersebut (Dwiartara: 4).
PHP disebut bahasa pemrograman server side karena PHP diproses pada
komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman client-
Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai
dengan namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa
powerful dan tidak hanya digunakan untuk membuat halaman web sederhana, tetapi
juga website populer yang digunakan oleh jutaan orang seperti wikipedia,
yang berorientasikan kepada obyek. Semua data dan fungsi pada paradigma ini
semuapemecahan masalah dibagi ke dalam obyek. Dalam konsep OOP data dan
31
2.6.4 JavaScript
halaman website yang dapat berinteraksi dengan pengguna dan dapat merespon
event yang terjadi pada halaman. JavaScript merupakan perekat yang menyatukan
dikembangkan oleh Brendan Eich di Netscape pada tahun 1995 yang menjadi
Netscape. Aplikasi Java bersifat independen dari halaman web, sedangkan program
JavaScript ditanam di dalam halaman web dan harus dijalankan pada jendela
seperti variabel dan tipe data, look kontrol, statemen if else, statemen switch, fungsi,
tanggal dan waktu, pemodifikasian array, string dan objek (Sianipar, 2015:3).
32
BAB III
METODOLOGI PENELITIAN
Penelitian ini dilaksanakan pada bulan Maret 2017 sampai dengan Mei 2017.
33
Penelitian dimulai dengan pengambilan data awal untuk menentukan
yang berakaitan dengan sistem informasi manajemen rumah sakit dan aplikasi
topik.
b. Wawancara
model sekuensial linier atau lebih sering disebut sebagai metode waterfall. Model
sekuensial yang dimulai pada tingkat dan kemajuan sistem, yaitu tahap analisis,
34
3.2.1. Analisis Permasalahan
Pada tahap ini, langkah awal yang dilakukan yaitu mengumpulkan data dan
informasi terkait dengan penelitian melalui studi literatur dan wawancara serta
observasi secara langsung dengan admin SIMRS dan staff laboratorium di Rumah
Laboratoirum. Pada umumnya sistem ini secara garis besar terdiri dari tiga
komponen utama yaitu manajemen pemeriksaan lab, order pemeriksaan lab, dan
hasil pemeriksaan.
mengatur jenis-jenis pemeriksaan yang tersedia oleh sistem. Pada menu manajemen
pada sistem. Dapat pula dilakukan penambahan pemeriksaan baru, pengubahan data
menu yang tersedia untuk melakukan pemesanan tindakan / pemeriksaan lab untuk
pasien. Pada menu order pemeriksaan lab, tersedia form untuk diisi sesuai data
pemeriksaan adalah menu yang tersedia untuk melihat dan memasukkan hasil
pemeriksaan. Pada Menu hasil pemeriksaan menampilkan daftar pasien yang telah
35
3.2.1.1. Alur Kerja Laboratorium
Alur kerja laboratorium pada Rumah Sakit Perguruan Tinggi Negeri seperti
yang terlihat pada Gambar 3.2 dimulai pada identifikasi pasien yang datang ke
laboratorium, apakah pasien berasal dari poliklinik atau dari instalasi rawat darurat
(IRD). Jika pasien berasal dari IRD, perawat IRD menghubungi laboratorium, dan
laboratorium, setelah hasil pemeriksaan keluar akan diinspeksi oleh dokter yang
apabila tidak butuhkan tindakan segera, hasil laboratorium dapat diambil sendiri
apakah pasien umum atau bukan. Jika pasien merupakan pasien umum, maka pasien
3.2.2. Desain
Pada proses ini hasil analisis akan digambarkan, dirancang, dan dibuat
menjadi suatu sistem yang utuh. Tahap desain meliputi perancangan sistem,
36
Gambar 3.2: Alur Kerja Laboratorium pada RS-PTN
37
3.2.2.1 Perancangan Sistem
Pada tahap ini penulis merancang dan mendesain konsep awal dari sebuah
sistem yang akan dibuat. Rancangan ini merupakan hasil dari analisis data yang
telah diperoleh, kemudian diolah dan diterapkan kedalam rancangan awal kami.
Adapun pada tahap ini dilakukan dalam beberapa tahap perancangan yaitu
entity relationship diagram (ERD), dan perancangan data flow diagram (DFD).
laboratorium ini berkaitan dengan sistem lain pada SIMRS yaitu sistem admisi
pasien. Selain Sistem Penunjang Laboratorium dan Sistem Admisi Pasien ada pula
tidak memiliki kaitan langsung terhadap sistem logistic farmasi. Alur kerja SIMRS
Pada Gambar 3.4, use case diagram menunjukkan bahwa terdapat tiga aktor
yang masing-masing memiliki hak akses yang berbeda. yaitu Admin, User Staff
Lab, dan User Staff Perawat. Berdasarkan diagram use case diatas maka pembagian
hak akses setiap aktor dapat dibedakan seperti pada Tabel 3.1.
38
Gambar 3.3: Alur Kerja SIMRS
39
Gambar 3.4: Use Case Diagram
40
Lanjutan Tabel 3.1.
User Staff Lab • Login / Logout
• Lihat Hasil Pemeriksaan
• Order Pemeriksaan
• Edit Hasil Pemeriksaan
• Edit Pemeriksaan
• Tambah Pemeriksaan
• Hapus Pemeriksaan
• Manajemen menu aplikasi
• Buat Laporan
user memiliki keterbatasan hak akses sesuai dengan bagiannya. Admin (Super
admin) berperan dalam mengatur seluruh manajemen sistem SIMRS. Admin dapat
menambah, mengedit dan menghapus user, dokter dan poly, serta dapat mengatur
hak akses user terhadap setiap modul. Admin juga dapat mengakses seluruh fitur
Perawat dapat melakukan order pemeriksaan laboratorium untuk pasien dan melihat
hasil labororatorium pasien. Berikut ini adalah state transition diagram tiap fitur
41
• Menu “Home”
akan ditampilkan menu home. Pada menu ini ditampilkan grafik transaksi
mencetak grafik.
42
Gambar 3.6: State Transition Diagram Menu “Manajemen Menu”
43
Pada Master Pemeriksaan Lab, user dapat menambahkan
pemeriksaan baru atau group pemeriksaan baru. Selain itu dapat pula
mengedit data pemeriksaan yang telah ada, juga dapat menghapus data
pemeriksaan.
dengan cara memasukkan nomor medical record (No. MR) pasien kemudian
Pada Hasil pemeriksaan Lab, user melihat seluruh daftar pasien yang
44
pemeriksaan spesimen pasien, serta dapat mencetak hasil pemeriksaan
tersebut.
berperan pada sistem dan penentuan relationship antar entitas menggunakan ERD
45
Gambar 3.10: Entity Relationship Diagram
46
1. Tabel Order Pemeriksaan
File
No Nama Field Tipe Data Keterangan
Size
1. id_order int 11 Kode Pemesanan
2. no_transaksi varchar 15 Nomor Transaksi
3. nomr varchar 20 Nomor MR Pasien
4. tgl_order datetime - Tanggal Order Pemeriksaan
5. tgl_pemeriksaan datetime - Tanggal Pemeriksaan
6. keterangan text - Keterangan tambahan
File
No Nama Field Tipe Data Keterangan
Size
1. kode_jasa varchar 15 Jenis Pemeriksaan
2. group_jasa varchar 15 Golongan Pemeriksaan
3. nama_jasa varchar 50 Nama Pemeriksaan
4. nilai_normal_bayi varchar 50 Nilai Normal Bayi
5. nilai_normal_anak varchar 50 Nilai Normal Anak
6. nilai_normal_dewasa varchar 50 Nilai Normal Dewasa
47
Lanjutan Tabel 3.3.
File
No Nama Field Tipe Data Keterangan
Size
7. Satuan varchar 25 Satuan Nilai Normal
8. Keterangan text - Keterangan Tambahan
File
No Nama Field Tipe Data Keterangan
Size
1. id_orderd int 11 Kode Pemeriksaan
2. no_transaksi varchar 15 Nomor Transaksi
3. kode_jasa varchar 15 Kode Jasa Pemeriksaan
4. hasil_pemeriksaan varchar 25 Hasil Pemeriksaan
Primary Key : id
48
Lanjutan Tabel 3.5.
49
3.2.2.2.3 Relasi Antar Tabel
Relasi dari tabel-tabel pada basis data sistem penunjang laboratorium dapat
DFD (Data Flow Diagram) adalah suatu diagram yang menggunakan notasi-
notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat
50
Gambar 3.12: Data Flow Diagram Level 1 (Sistem)
51
Gambar 3.14: Data Flow Diagram Level 2 (Kelola Hasil Pemeriksaan)
sistem. Karena proses kelola data pemeriksaan dan kelola hasil pemeriksaan masih
Gambar 3.13 merupakan DFD level 2 dari proses kelola data pemeriksaan.
Menampilkan lebih detail proses kelola data pemeriksaan yang dapat dilakukan
Gambar 3.14 merupakan DFD level 2 dari proses Kelola Hasil Pemeriksaan.
Menampilkan lebih detail proses Kelola Hasil Pemeriksaan yang dapat dilakukan
52
• Rancangan Halaman List Pemeriksaan Lab
53
• Rancangan Halaman Order Pemeriksaan Lab
54
• Rancangan Halaman Hasil Pemeriksaan Lab
55
3.2.3 Pengkodean
Dari hasil analisis dan desain yang telah dilakukan, penulis kemudian
56
BAB IV
dimengerti oleh komputer atau dengan kata lain tahap implementasi ini merupakan
implementasi ini dijelaskan hasil screenshoot tampilan web serta hasil uji kelayakan
Tinggi Negeri (RS-PTN) Universitas Hasanuddin terdiri atas tiga fitur utama
• Hak akses pada Sistem Penunjang Laboratorium dibedakan menjadi tiga yaitu
admin, staff lab dan staff perawat. Admin dan staff lab dapat mengakses seluruh
57
4.2 Hasil Kuisioner
Pernyataan 1 2 3 4 5
Form yang tersedia pada menu order pemeriksaan
lab sudah sesuai dengan data yang dibutuhkan lab
Form yang tersedia pada menu Order Pemeriksaan
Lab memudakan dan mempercepat proses order
Form yang tersedia pada manajemen pemeriksaan
sudah sesuai dengan kebutuhan data pemeriksaan
Fitur ganti urutan memudahkan dalam manajemen
urutan menu
Mudah dipahami
Mudah digunakan
Desain interface lebih sederhana
Responsif
Bekerja dengan baik
58
Tabel 4.3: Kuisioner Staff Perawat
Pernyataan 1 2 3 4 5
Form yang tersedia pada menu Order Pemeriksaan
Lab memudakan dan mempercepat proses order
Mudah dipahami
Mudah digunakan
Desain interface lebih sederhana
Responsif
Bekerja dengan baik
Keterangan:
2 = Tidak setuju
3 = Netral
4 = Setuju
5 = Sangat setuju
netral berjumlah 1, setuju berjumlah 13, dan sangat setuju berjumlah 6. Dari hasil
berjalan dengan baik, mudah dipahami dan digunakan serta sudah cukup responsif.
dengan sesuai dengan rancangan desain yang telah dibuat sebelumnya. Adapun
pengujian yang dilakukan menggunakan metode black box. Berikut adalah hasil
59
4.3.1 Pengujian Proses Pada Admin
60
Lanjutan Tabel 4.5.
berhasilmencari data
7. Mencari data pemeriksaan pemeriksaan berdasarkan
keyword yang dimasukkan
berhasilberhasil mengatur
Mengatur tampilan menu dan
tampilan menu dan sub-menu
8. sub-menu halaman admin dan
halaman admin dan halaman
halaman user
user
berhasil mencetak data hasil
9. Mencetak hasil pemeriksaan
pemeriksaan
4.4 Implementasi
Halaman ini berisi grafik transaksi order laboratorium setiap bulan dalam
satu tahun. Tampilan halaman ini dapat dilihat pada Gambar 4.1.
61
4.4.1.2 Halaman List Pemeriksaan Lab
satuannya yang tersimpan dalam sistem. Pada halaman ini terdapat 3 aksi yang
dapat dilakukan oleh user yaitu tambah, edit, dan hapus, seperti yang ditampilkan
Halaman ini tidak berbeda dengan halaman tambah pemeriksaan, hanya saja
halaman ini sudah menampilkan data pemeriksaan yang telah tersimpan pada
62
Gambar 4.3: Halaman Tambah Pemeriksaan Lab
63
4.4.1.5 Halaman Order Pemeriksaan Lab
pasien, dengan cara memasukkan nomor medical record (No. MR) pasien lalu
secara otomatis sistem akan menarik data pasien yang sudah terdaftar dan tersimpan
64
Gambar 4.6: Halaman Order Pemeriksaan Lab (2)
laboratorium diturutkan berdasarkan tanggal order dari yang terbaru seperti yang
65
4.4.1.7 Halaman Input Hasil Pemeriksaan Lab
dan satuannya, serta field untuk diisikan hasil pemeriksaan pasien tersebut.
Halaman ini berisi tampilan data hasil pemeriksaan dalam format siap cetak.
Halaman dapat dicetak secara langsung melalui printer, ataupun disimpan dalam
bentuk PDF.
66
Gambar 4.9: Halaman Cetak Hasil Pemeriksaan Lab
jumlah tempat tidur yang belum terpakai dan jumlah user. Tampilan halaman ini
67
4.4.2.2 Halaman Manajemen Pengguna
Pengguna.
• Sub-menu Group
• Sub-menu Pengguna
Gambar 4.12.
68
Gambar 4.12: Halaman Sub-menu Pengguna
Halaman ini memiliki 2 sub-menu yaitu Daftar Aplikasi dan Akses Group
Aplikasi.
Halaman ini berisi daftar modul aplikasi yang terpasang pada sistem,
Halaman ini berisi daftar modul aplikasi dan list group user yang dapat
69
Gambar 4.13: Halaman Sub-menu Group Pengguna
70
Gambar 4.15: Halaman Sub-menu Akses Group Aplikasi
Halaman ini memiliki 4 sub-menu yaitu Master Poli, Master Dokter, Setting
Halaman ini berisi daftar poly yang ada pada Rumah Sakit, tampilannya
Halaman ini berisi daftar dokter yang terdaftar pada Rumah Sakit,
71
• Sub-menu Praktik Dokter
72
Gambar 4.18: Halaman Sub-menu Setting Dokter Jaga
73
BAB V
PENUTUP
Teori, Metodologi Penelitian, serta Hasil dan Pembahasan, maka dapat diambil
1.1 Kesimpulan
MVC (Model, View, Controller) dan telah sesuai dengan kebutuhan user,
yaitu telah terintegrasi dengan sistem yang telah ada sebelumnya dan
3. Aplikasi ini dirancang sebagai sebuah sistem yang terstruktur dan mudah
untuk dikembangkan.
1.2 Saran
74
2. Aplikasi dapat dikembangkan pada integrasi dengan Sistem Logistik
Farmasi terkait data penggunaan alat dan bahan pada proses pemeriksaan di
laboratorium.
75
DAFTAR PUSTAKA
http://eprints.umpo.ac.id/752/1/COVER%20DAN%20ABSTRAK.pdf.
Alatas, Husein. (2013). Responsive Web Design dengan PHP dan Bootstrap.
Lokomedia.
Alviyah, Mei Eva. (2015). Skripsi: Membangun Sistem Informasi Pendaftaran dan
Agustus 2016.
Andi.
Jasakom.
Codeigniter. Lokomedia.
76
British Columbia Institute of Technology. (2016). Panduan Pengguna CodeIgniter.
2017.
http://repository.amikom.ac.id/files/PUBLIKASI_05.11.0728.pdf. Diakses
Kadir, Abdul. (2011). Buku Pintar JQuery dan PHP untuk Pemula. Yogyakarta:
Mediakom.
Orr, E. & Zadik, Y. (2013). Programming With Codeigniter MVC. Packt Publishing
Ltd.
Prasetio, Adi. (2015). Buku Pintar Webmaster untuk Pemula. Jakarta Selatan:
Mediakita.
77
Puryanti, Sri. (2007). Skripsi: Sistem Informasi Pasien Rawat Jalan di Balai
22 Agustus 2016.
Setiawan David. (2011). Analisis Dan Perancangan Sistem Informasi Rumah Sakit
http://www.pusatdesainweb.com/2014/06/29/pengetian-dan-kegunaan-
78
LAMPIRAN
204
LAMPIRAN A
LAPORAN KEGIATAN HASIL WAWANCARA
Daftar Wawancara
3. Apakah sistem yang digunakan saat ini sudah berjalan dengan baik, apa
permasalahan yang biasa terjadi?
Sistem MYHospital yang berjalan saat ini sudah cukup baik namun tidak
semua menu yang tersedia digunakan untuk pemeriksaan laboratorium,
hanya beberapa menu saja.Tampilan aplikasi agak rumit dan banyaknya
menu yang tidak digunakan untuk pemeriksaan laboratorium.
4. Bagaimana alur kerja dari form tindakan umum pada sistem MYHospital
ini?
Form Tindakan Umum digunakan oleh perawat yang bertugas sebagai
form penginputan tindakan pasien. Data-data pasien dimasukkan sesusai
dengan formulir yang telah diisi, lalu dipilihkan pemeriksaan yang akan
dilakukan kemudian disimpan.
79
5. Bagaimana alur kerja dari form entri hasil pada sistem MYHospital ini?
Form Entri Hasil Digunakan sebagai Inputan form Hasil dari
Pemeriksaan Laboratorium. Order pemeriksaan pasien yang sudah
tersimpan dari form tindakan umum dicari berdasarkan nomor transaksi,
lalu akan tampil list pemeriksaan yang dilakukan terhadap pasien
tersebut. Data hasil pemeriksaan kemudian dimasukkan lalu disimpan.
80
LAMPIRAN B
SOURCE CODE SISTEM
VIEW
• template/header.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>Laboratorium</title>
<link href="<?php echo base_url()?>component/images/favicon.png"
rel="shorcut icon">
81
<!-- Custom Fonts -->
<link href="<?php echo base_url();
?>component/bower_components/font-awesome/css/font-awesome.min.css"
rel="stylesheet" type="text/css">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and
media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file://
-->
<!--[if lt IE 9]>
<script
src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script
>
<script
src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></scr
ipt>
<![endif]-->
</head>
<body>
<div id="wrapper">
82
<!-- Navigation -->
<nav class="navbar navbar-default navbar-static-top"
role="navigation" style="margin-bottom: 0">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-
toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="<?php echo
site_url('/main'); ?>">Laboratorium</a>
</div>
<!-- /.navbar-header -->
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown"
href="#">
<i class="fa fa-user fa-fw"></i> <?php echo
$_user."<strong> (".$as.")</strong>" ?> <i class="fa fa-caret-
down"></i>
</a>
<ul class="dropdown-menu dropdown-user">
<li><a href="<?php echo
HOME_APLIKASI."login/logout";?>"><i class="fa fa-sign-out fa-fw"></i>
Logout</a>
</li>
</ul>
<!-- /.dropdown-user -->
</li>
<!-- /.dropdown -->
</ul>
<!-- /.navbar-top-links -->
83
$i = 1;
foreach($menu as $data){
if (!empty($data->mnIcon)){
$ico = explode('-', $data->mnIcon);
$icon = $ico[0] . ' ' . $data-
>mnIcon;
}
echo "
<li>
<a href='" . $url . "' ";
if($active==$data->mnController)
echo " class='active' ";
echo ">
<i class='" . $icon .
"'></i>
" . $data->mnNamaMenu
;
$icon = "";
if ($data->mnJenis == '0'){
echo "<ul class='nav nav-second-
level'>";
foreach($menu as $data1){
if($data->mnId === $data1-
>mnIdRoot && $data1->modulFlag == 1){
$url1 = ($data1->mnJenis ==
'0') ? "#" : site_url($data1->mnController);
if (!empty($data1->mnIcon)){
$ico = explode('-', $data1-
>mnIcon);
$icon = $ico[0] . ' ' .
$data1->mnIcon;
}
echo "
<li>
84
<a href='" . $url1 . "'
";
if($active==$data1-
>mnController) echo " class='active' ";
echo ">
<i class='" . $icon .
"'></i>
" . $data1-
>mnNamaMenu . "
</a>
</li>
";
$icon = "";
}
}
echo " </ul> ";
}
echo "</li>";
}
$i++;
}
?>
</ul>
</div>
<!-- /.sidebar-collapse -->
</div>
<!-- /.navbar-static-side -->
</nav>
<div id="page-wrapper">
</div>
</div>
</div>
85
<script type="text/javascript" src="<?php echo
base_url('component/bower_components/metisMenu/dist/metisMenu.min.js');
?>"></script>
<script type="text/javascript">
$(function() {
$('#side-menu').metisMenu();
});
</script>
• template/footer.php
</div>
<!-- /#page-wrapper -->
</div>
<!-- /#wrapper -->
86
• main/body.php
<style>
#chart
{
z-index:-10;
}
</style>
87
yAxis: {
title: {
text: 'Jumlah Order'
}
},
series: [{
name: 'Order Pemeriksaan',
data: <?php echo json_encode($grafik); ?>
}]
});
});
</script>
• listp/body.php
<br>
<div class="row" id="content-wrapper">
<div class="panel panel-default ">
<div class="panel-heading">
<strong><?php echo $judul; ?></strong>
<span class="pull-right">
<a id="addpemeriksaan" class="btn btn-primary
btn-xs" href="<?php echo site_url('/listperiksa_lab/add'); ?>">
<i class="glyphicon glyphicon-plus-sign"></i>
Tambah Pemeriksaan
</a>
<a id="addgroup" class="btn btn-primary btn-xs"
href="<?php echo site_url('/listperiksa_lab/add_group'); ?>">
<i class="glyphicon glyphicon-plus-sign"></i>
Tambah Group Pemeriksaan
</a>
</span>
</div>
<div class="panel-body">
<div class="">
<div class="dataTable_wrapper">
<table class="table table-
striped table-bordered table-hover" id="dataTables-example">
<thead>
<tr>
<th
width="7%">No</th>
<th
width="15%">Kode Jasa</th>
<th
width="20%">Nama Pemeriksaan</th>
<th
width="10%">Nilai Normal Bayi</th>
<th
width="10%">Nilai Normal Anak</th>
<th
width="10%">Nilai Normal Dewasa</th>
88
<th
width="10%">Satuan</th>
<th
width="10%">Action</th>
</tr>
</thead>
<tbody>
<?php
$counter = 1;
foreach ($list as
$row) {
?>
<tr>
<td><center>
</center>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
89
$(function(){
$(document).on("click",".edit_nomr",function(){
var id=$(this).attr("data-id");
window.location.href = "<?php echo
base_url();?>index.php/listperiksa_lab/edit/"+id;
});
$(document).on("click",".delete",function(){
var id=$(this).attr("data-id");
var nama=$(this).attr("data-nama");
//window.location.href = "<?php echo
base_url();?>index.php/listperiksa_lab/delete/"+id;
swal({
title:"Hapus Data Pemeriksaan : "+nama,
text:"Yakin akan menghapus data ini?",
type: "warning",
showCancelButton: true,
confirmButtonText: "Hapus",
closeOnConfirm: true,
},
function(){
$.ajax({
url: "<?php echo
site_url('listperiksa_lab/delete/'); ?>/"+id,
type: "post",
dataType:"json",
data:{ id: id },
success: function(d) {
window.location.href = "<?php echo
site_url('listperiksa_lab'); ?>";
},
error: function(){
$('#pesan').html("Terjadi kesalahan");
$('#myModal').modal('show');
setTimeout(function(){
$('#myModal').modal('hide');
}, 1500);
}
})//end ajax
});
});
});
</script>
• listp/add_form_group.php
90
<div class="panel panel-default ">
<div class="panel-heading">
</div>
<div class="panel-body">
<div class="">
<div class="form-group">
<div class="col-sm-7">
<input type="text"
readonly name="kodegp" id="kodegp" class="form-control" value="<?php
echo $kodegp;?>">
</div>
</div>
<div class="form-group">
<div class="col-sm-7">
<input type="text"
name="namagp" id="namag" class="form-control" value="<?php echo
$namagp;?>">
</div>
</div>
<div class="form-group">
<div class="col-sm-7">
<textarea name="ket"
id="ket" class="form-control"><?php echo $ketp;?></textarea>
</div>
</div>
</div>
91
<button name="submit" type="submit"
class="btn btn-primary btn-md">Simpan</button>
</div>
</div>
</div>
</div>
</form>
</div>
• listp/add_form.php
<div class="row" id="content-wrapper"> <p></p>
<?php echo form_open('listperiksa_lab/save', 'method="post"
class="form-horizontal"');?>
<!--<form role="form" class="form-horizontal" method="post">-->
<div class="panel panel-default ">
<div class="panel-heading">
<strong><?php echo $judul;?></strong>
</div>
<div class="panel-body">
<div class="row col-lg-12">
<div class="">
<div class="form-group">
<label class="col-sm-3 control-
label">Group Pemeriksaan</label>
<div class="col-sm-7">
<select name="grouppp"
id="grouppp" class="form-control">
<option
value="">.......</option>}
option
<?php
foreach
($gp as $row)
{
echo
'<option value="'.$row->kode_jasa.'">'.$row->kode_jasa.' - '. $row-
>nama_jasa.'</option>';
}
?>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-
label">Kode Pemeriksaan</label>
<div class="col-sm-7">
92
<input type="text"
readonly name="kodep" id="kodep" class="form-control" value="<?php
echo $kodep;?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-
label">Nama Periksaan</label>
<div class="col-sm-7">
<input type="text"
name="naper" id="naper" class="form-control " value="<?php echo
$namap;?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-
label">Nilai Normal Bayi</label>
<div class="col-sm-7">
<input type="text"
name="normal1" id="normal1" class="form-control" value="<?php echo
$nilain1;?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-
label">Nilai Normal Anak</label>
<div class="col-sm-7">
<input type="text"
name="normal2" id="normal2" class="form-control" value="<?php echo
$nilain2;?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-
label">Nilai Normal Dewasa</label>
<div class="col-sm-7">
<input type="text"
name="normal3" id="normal3" class="form-control" value="<?php echo
$nilain3;?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-
label">Satuan</label>
<div class="col-sm-7">
<input type="text"
name="satuan" id="satuan" class="form-control" value="<?php echo
$satuanp;?>">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-
label">Keterangan</label>
<div class="col-sm-7">
<textarea name="ket"
id="ket" class="form-control"><?php echo $ketp;?></textarea>
</div>
</div>
93
</div>
<div class="col-sm-12" style="float:right;">
<div class="form-group">
<button name="submit" type="submit"
class="btn btn-primary btn-md">Simpan</button>
<a href="<?php echo
site_url("listperiksa_lab");?>"><button type="button" class="btn
btn-default">Batal</button></a>
</div>
</div>
</div>
</div>
</form>
</div>
<script type="text/javascript">
$('#grouppp').blur(function() {
var grp = $(this).val();
if (grp != '') {
$.ajax({
type:"post",
url:"<?php echo
base_url();?>index.php/listperiksa_lab/next_kode",
dataType: "json",
data:{
dt: grp
},
success: function(a){
$('#kodep').val(a.kode);
}
});
}
});
</script>
94
• list/edit_form.php
<div class="panel-heading">
</div>
<div class="panel-body">
<div class="">
<div class="form-group">
<div class="col-sm-7">
<input type="text"
readonly name="grouppp" id="grouppp" class="form-control " value="<?php
echo $groupp;?>">
</div>
</div>
<div class="form-group">
<div class="col-sm-7">
<input type="text"
readonly name="kodep" id="kodep" class="form-control" value="<?php echo
$kodep;?>">
</div>
</div>
<div class="form-group">
<div class="col-sm-7">
95
<input type="text"
name="naper" id="naper" class="form-control " value="<?php echo
$namap;?>">
</div>
</div>
<div class="form-group">
<div class="col-sm-7">
<input type="text"
name="normal1" id="normal1" class="form-control" value="<?php echo
$nilain1;?>">
</div>
</div>
<div class="form-group">
<div class="col-sm-7">
<input type="text"
name="normal2" id="normal2" class="form-control" value="<?php echo
$nilain2;?>">
</div>
</div>
<div class="form-group">
<div class="col-sm-7">
<input type="text"
name="normal3" id="normal3" class="form-control" value="<?php echo
$nilain3;?>">
</div>
</div>
<div class="form-group">
<div class="col-sm-7">
<input type="text"
name="satuan" id="satuan" class="form-control" value="<?php echo
$satuanp;?>">
96
</div>
</div>
<div class="form-group">
<div class="col-sm-7">
<textarea name="ket"
id="ket" class="form-control"><?php echo $ketp;?></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
97
• orderp/order_form.php
<style type="text/css">
.loader{background:url(<?php echo
base_url();?>/component/images/loading.gif) no-repeat; width:20px;
height:20px; float:left;}
</style>
<div class="panel-heading">
</div>
<div class="panel-body">
<div class="panel-heading">
<strong>Data Pasien</strong>
</div>
<div class="panel-body">
<div class="form-
group">
<label
class="col-sm-3 control-label">No. MR</label>
<div
class="col-sm-7">
</div>
<div
class="col-sm-1 loader"></div>
</div>
98
<div class="form-
group">
<label
class="col-sm-3 control-label">Nama Lengkap Pasien</label>
<div
class="col-sm-7">
</div>
</div>
<div class="form-
group">
<div
class="col-sm-3"></div>
<div
class="col-sm-3">
</div>
</div>
<div class="form-
group">
<label
class="col-sm-3 control-label">Jenis Kelamin</label>
<div
class="col-sm-7">
<!--
<select name="sex" id="sex" class="form-control" readonly="readonly">
<option value='L'>Laki-Laki</option>
<option value='P'>Perempuan</option>
</select> -
->
99
<?php echo
form_error('sex'); ?>
</div>
</div>
<div class="form-
group">
<label
class="col-sm-3 control-label">Tempat/Tgl. Lahir</label>
<div
class="col-sm-7">
</div>
<label
class="col-sm-3 control-label"></label></br></br>
<div
class="col-sm-7">
<div
class='input-group date' id='datetimepicker1'>
<span class="input-group-addon">
</span>
</div>
</div>
</div>
<div class="form-
group">
<label
class="col-sm-3 control-label">Umur</label>
<div
class="col-sm-7">
100
</div>
</div>
<div class="form-
group">
<label
class="col-sm-3 control-label">Alamat</label>
<div
class="col-sm-7">
</div>
</div>
<div class="form-
group">
<label
class="col-sm-3 control-label">Jaminan</label>
<div
class="col-sm-7">
</div>
<div
class="col-sm-3"></div>
</div>
<div class="form-
group">
<label
class="col-sm-3 control-label">Dokter</label><div id='mabuk'></div>
<!-- <div
class="col-sm-3">
<option value='3'>ANAK</option>
<option value='28'>THT</option>
<option value='9'>MATA</option>
101
</select>
</div> -->
<div
class="col-sm-7">
</div>
</div>
<div class="form-
group">
<label
class="col-sm-3 control-label">Tanggal Order</label>
<div
class="col-sm-7">
<input
readonly type="text" name="tgldaftar" id="tgldaftar" class="form-control
" value="<?php echo date("Y-m-d H:i:s"); ?>" />
<input
type='hidden' name='start_daftar' id='start_daftar' />
</div>
</div>
</div>
</div>
</div>
</div>
<div class="panel-heading">
<strong>Jenis
Pemeriksaan</strong>
</div>
<div class="panel-body">
<div class="col-sm-12">
<?php
foreach
($pemeriksaan as $row) {
?>
102
<div class="col-sm-4"
style="margin-bottom: 10px;">
<div class="panel
panel-default">
<div
class="panel-heading">
</div>
<div
class="panel-body">
<?php
$daftar = $list_pemeriksaan->get_list_pemeriksaan($row-
>kode_jasa);
?>
<div
class="checkbox">
<label>
<input type="checkbox"
class="listjasa" name="kdjasa[]" value="<?php echo $list->kode_jasa;
?>">
</label>
</div>
<?php
?>
</div>
</div>
</div>
<?php
?>
</div>
103
</div>
</div>
</div>
<div class=''>
<button name="submit"
id="submit" type="button" class="btn btn-primary">Submit</button>
<!--<button type="button"
class="btn btn-default">Print Kartu Pasien</button>-->
</div>
</div>
</div>
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('.loader').hide();
$("#submit").click(function(){
$.ajax({
type:"post",
url:"<?php echo
base_url();?>index.php/order_lab/save",
dataType: "text",
data: data,
success: function(a){
104
swal({title: "Berhasil", text:
"Order anda telah tersimpan!", type: "success"},
function(){
window.onbeforeunload = function () {
window.scrollTo(0, 0);
location.reload();
);
});
else
});
})
$('#nomr').blur(function() {
if (nomr != '') {
$('.loader').show();
$.ajax({
type:"post",
url:"<?php echo
base_url();?>index.php/order_lab/snomr",
dataType: "json",
data:{
dt: nomr
},
105
success: function(a){
$('#name').val(a.nama);
$('#caller').val(a.title).attr("selected", "selected");
$('#sex').val(a.jnsklmn).attr("selected", "selected");
/*$('#KDCARABAYAR').val(a.jaminan).attr("selected",
"selected");*/
$('#KDCARABAYAR').val(a.namajaminan);
/*$('#kdpoly').val(a.ply).attr("selected", "selected");*/
$('#tempat').val(a.tempat);
$('#dktr').val(a.dktr);
$('#tgllahir').val(a.tgllahir);
$('#umur').val(a.dinterv);
$('#alamat').val(a.address);
$('.loader').hide();
});
});
$(function(){
function startjam(){
document.getElementById('start_daftar').value=(curr_hour + ":" +
curr_min+ ":" + curr_sec);
startjam();
$('#datetimepicker1').datetimepicker({format: 'DD/MM/YYYY'});
106
$("#dktr").autocomplete({
$.ajax({
type:"post",
dataType: "json",
data: {
q: request.term, w:
document.getElementById("poly_id").value
},
success: function(data) {
response(data);
});
},
$.ajax({
type:"post",
url:"<?php echo
base_url();?>index.php/pendaftaran/set_kdktr",
dataType:"json",
data:{
id: ui.item.value
},
success: function(a) {
//response( data );
document.getElementById("KDDOKTER").value = a.idx;
});
});
107
});
function getFormattedDate(date)
</script>
• hasilp/hasil_list.php
<br>
<div class="panel-heading">
</div>
<div class="panel-body">
<div class="">
<div class="dataTable_wrapper">
<thead>
<tr>
<th
width="5%">No</th>
<th width="15%">No
RM</th>
<th
width="30%">Nama Pasien</th>
108
<th
width="10%">Jenis Kelamin</th>
<th
width="20%">Tanggal Order Pemeriksaan</th>
<th
width="15%">Action</th>
</tr>
</thead>
<tbody>
<?php
$counter = 1;
?>
<tr>
<td><center><?php
echo $counter++; ?></center></td>
<td><center><?php
echo $row->nomr; ?></center></td>
<td><center><?php
echo $row->nama; ?></center></td>
<td><center><?php
echo $row->jeniskelamin; ?></center></td>
<td><center><?php
echo $row->tgl_order; ?></center></td>
<td><center>
<?php if
($kd == '02'): ?>
<?php else:
?>
<button
class='btn btn-xs btn-danger edit_nomr' data-id='<?php echo $row-
>no_transaksi;?>'><i class='glyphicon glyphicon-pencil'></i> Edit
</button>
<button
class='btn btn-xs btn-success lihat_detail' data-id='<?php echo $row-
109
>no_transaksi;?>'><i class='glyphicon glyphicon-print'></i> Print
</button>
<?php endif
?>
</center>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$(function(){
$(document).on("click",".edit_nomr",function(){
var id=$(this).attr("data-id");
});
$(document).on("click",".lihat_detail",function(){
var id=$(this).attr("data-id");
});
});
</script>
110
• hasilp/hasil_edit.php
<br>
<div class="row" id="content-wrapper">
<?php echo form_open('hasil_lab/save', 'method="post"
class="form-horizontal"');?>
<div class="panel panel-default ">
<div class="panel-heading">
<strong><?php echo $judul; ?></strong>
</div>
<div class="panel-body">
<div class="row col-lg-12">
<div class="col-md-5">
<div class="form-group">
<label class="col-sm-4 control-
label">No. Transaksi</label>
<div class="col-sm-8">
<input type="text"
name="nomr" id="nomr" class="form-control" value="<?php echo
$no_trans;?>" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-
label">Tanggal Daftar</label>
<div class="col-sm-8">
<input readonly
type="text" name="tgldaftar" id="tgldaftar" class="form-control "
value="<?php echo $tgl_order;?>" />
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-
label">Tanggal Pemeriksaan</label>
<div class="col-sm-8">
<input type="text"
name="tglperiksa" id="tglperiksa" class="form-control " value="<?php
echo $retVal = (!empty($tgl_pemeriksaan)) ? $tgl_pemeriksaan :
date("Y-m-d H:i:s"); ?>" />
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-
label">Dokter</label>
<div class="col-sm-8">
<input type="text"
name="dktr" id="dktr" class="form-control" value="<?php echo
$NAMADOKTER;?>" readonly>
</div>
</div>
</div>
<div class="col-md-7">
111
<div class="form-group">
<label class="col-sm-5 control-
label">No. MR</label>
<div class="col-sm-7">
<input type="text"
name="nomr" id="nomr" class="form-control" value="<?php echo
$nomr;?>" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-5 control-
label">Nama Lengkap Pasien</label>
<div class="col-sm-7">
<input type="text"
name="name" id="name" class="form-control input-sm" value="<?php echo
$NAMA;?>" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-5 control-
label">Jenis Kelamin</label>
<div class="col-sm-7">
<input name="sex"
id="sex" class="form-control" value="<?php echo $JENISKELAMIN;?>"
readonly>
<?php echo
form_error('sex'); ?>
</div>
</div>
<div class="form-group">
<label class="col-sm-5 control-
label">Umur</label>
<div class="col-sm-7">
<input type="text"
name="umur" id="umur" class="form-control input-sm" placeholder="umur
0 tahun 0 bulan 0 hari" value="<?php echo $umur; ?>" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-5 control-
label">Jaminan</label>
<div class="col-sm-7">
<input type="text"
name="KDCARABAYAR" id="KDCARABAYAR" class="form-control selectbox
text required" value="<?php echo $CARABAYAR;?>" readonly>
</div>
<div class="col-sm-4"></div>
</div>
</div>
</div>
<div class="col-sm-12">
<hr>
<div class="table-responsive">
<div class="dataTable_wrapper">
<table class="table table-
striped table-bordered table-hover" id="dataTables">
<thead>
<tr>
112
<th
width="5%">No</th>
<th
width="20%">Jenis Pemeriksaan</th>
<th
width="15%">Nilai Normal</th>
<th
width="15%">Satuan</th>
<th
width="20%">Hasil</th>
<!-- <th
width="">Keterangan</th> -->
</tr>
</thead>
<tbody>
<?php
$counter = 1;
$umurx =
substr($umur, 0, 2);
foreach
($pemeriksaan as $row) {
<td><center>
<?php
if ($kd == '02'):
if (!empty($row->hasil_pemeriksaan)) {
113
echo $row->hasil_pemeriksaan;
}else{
}
?>
<?php
else:
if (is_numeric($cek)) :
?>
</center></td>
</tr>
<?php $counter++; } ?>
</tbody>
</table>
</form>
</div>
</div>
</div>
<div class="col-sm-12" style="float:right;">
<?php if ($kd == '02'): ?>
<div> </div>
<?php else: ?>
<div class="form-group">
<button name="submit"
type="submit" class="btn btn-primary btn-md">Submit</button>
</div>
<?php endif ?>
</div>
</div>
</div>
</form>
</div>
<script type="text/javascript">
114
$(function () {
function startjam(){
var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
var curr_sec = d.getSeconds();
document.getElementById('start_daftar').value=(curr_hour +
":" + curr_min+ ":" + curr_sec);
}
startjam();
$('#datetimepicker1').datetimepicker({format:
'DD/MM/YYYY'});
function getFormattedDate(date)
{
var year = date.getFullYear();
var month = (1 + date.getMonth()).toString();
month = month.length > 1 ? month : '0' + month;
var day = (1 + date.getDate()).toString();
day = day.length > 1 ? day : '0' + day;
return day + '/' + month + '/' + year;
}
</script>
• hasilp/hasil_print.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link href="<?php echo base_url()?>component/images/favicon.png"
rel="shorcut icon">
<title>Cetak Hasil Laboratorium</title>
<link href="<?php echo base_url();?>component/dist/css/print.css"
rel="stylesheet"><!--
<link href="<?php echo base_url();?>component/dist/css/gridz.css"
rel="stylesheet"> -->
<link href="<?php echo base_url();
?>component/bower_components/bootstrap/dist/css/bootstrap.min.css"
rel="stylesheet">
</head>
<body>
<div id="wrapper" align="center">
<div id="inside">
<div id="header">
<div id="logo"><img src="<?php echo
base_url()?>component/images/logoS.png" width="80"
height="80"/></div>
<div id="textheader">
<strong>RUMAH SAKIT UNIVERSITAS
HASANUDDIN</strong><br>
<div class="subjudul">
Jl. Perintis Kemerdekaan KM. 11 Makassar 90245 <br>
Telp: 0411 - 591 331 (Hunting) Fax: 0411 591 332
</div>
115
</div>
</div>
<div id="textjdl">
HASIL PEMERIKSAAN LABORATORIUM<br>
</div>
<div class="panel-body" align="center">
<div class="">
<div class="row col-xs-7">
<table class="table" id="tablex"
width="100%">
<tr>
<td class="col-xs-5">No.
Transaksi</td>
<td>:</td>
<td class="col-xs-
7"><?php echo $no_trans;?></td>
</tr>
<tr>
<td>Tanggal Daftar</td>
<td>:</td>
<td><?php echo
$tgl_order;?></td>
</tr>
<tr>
<td>Tanggal
Pemeriksaan</td>
<td>:</td>
<td><?php echo
$tgl_pemeriksaan;?></td>
</tr>
<tr>
<td>Dokter</td>
<td>:</td>
<td><?php echo
$NAMADOKTER;?></td>
</tr>
</table>
</div>
<div class="row col-xs-5" >
<table class="table" id="tablex"
width="100%">
<tr>
<td class="col-xs-5">No.
Rekam Medis</td>
<td>:</td>
<td class="col-xs-
7"><?php echo $nomr;?></td>
</tr>
<tr>
<td>Nama Pasien</td>
<td>:</td>
<td><?php echo
$NAMA;?></td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
116
<td><?php echo
$JENISKELAMIN;?></td>
</tr>
<tr>
<td>Usia</td>
<td>:</td>
<td><?php echo
$umur;?></td>
</tr>
</table>
</div>
</div>
<br>
<div class="col-xs-12 row">
<div class="table-responsive">
<table class="table"
id="dataTables" align="center">
<thead align="center">
<tr>
<!-- <th
width="5%">No</th> -->
<th
width="25%">Jenis Pemeriksaan</th>
<th
width="15%"><center>Nilai Normal</center></th>
<th
width="20%"><center>Hasil</center></th>
<th
width="10%"><center>Satuan</center></th>
</tr>
</thead>
<tbody>
<?php
$counter = 1;
$umurx =
substr($umur, 0, 2);
foreach
($pemeriksaan as $row) {
117
<td><center><?php echo $nlnormal; ?></center></td>
</center></td>
</tr>
<?php $counter++; } ?>
</tbody>
</table>
</div>
</div>
<br>
<div class="col-xs-12" id="ttd">
<table width="100%">
<tr align="center">
<td class="col-xs-4"></td>
<td class="col-xs-4"></td>
<td class="col-xs-4">
Pemeriksa
<br><br><br><br><br>
(........................)
</td>
</tr>
</table>
</div>
<div class="col-xs-12">
<button class="btn-print"
onClick="window.print()">Cetak</button>
</div>
<br><br><br>
</div>
</div>
</div>
</body>
</html>
118
• menu/list.php
<br>
<br>
<div class="row">
<div class="col-lg-12">
<div class="panel-heading">
Manajemen Menu
<span class="pull-right">
Ganti Urutan
</a>
Data Baru
</a>
</span>
</div>
<div class="panel-body">
<div class="dataTable_wrapper">
<thead>
<tr>
<th>Id</th>
<th>Icon</th>
<th>Nama Menu</th>
<th>Jenis</th>
<th>Controller</th>
119
<th>Root</th>
<th>Urutan</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
echo "
<tr>
<td>$lmenu->mnId</td>
<td>$lmenu->mnIcon</td>
<td>$lmenu->mnNamaMenu</td>
<td>$lmenu->mnJenis</td>
<td>$lmenu->mnController</td>
<td>$lmenu->mnIdRoot</td>
<td>$lmenu->mnOrder</td>
<td><a href='#'
onclick='hapus(\"$lmenu->mnNamaMenu\",\"$lmenu-
>mnIdEn\")'>Hapus</a> <a href='".site_url('menu/edit/'.$lmenu-
>mnIdEn)."'>Edit</a></td>
</tr>";
endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
120
<script>
swal({
type: "warning",
showCancelButton: true,
confirmButtonText: "Hapus",
closeOnConfirm: true,
},
function(){
$.ajax({
type: "post",
dataType:"json",
data:{ id: id },
success: function(d) {
/*console.log(d);
if(d.status=="sukses")
$.ajax({
type: "post",
data:{ segarkan:
"ya" },
success :
function(result){
$('#refresh').html(result);
$('#dataTables-
example').DataTable({
responsive: true
});
121
},
error : function(){
});*/
window.location.href =
"<?php echo site_url('menu'); ?>";
},
error: function(){
$('#myModal').modal('show');
setTimeout(function(){
$('#myModal').modal('hide');
}, 1500);
})
//batas ajax
});
</script>
122
• menu/add.php
<br>
<br>
<div class="row">
<div class="col-lg-12">
<div class="panel-heading">
Manajemen Menu
</div>
<div class="panel-body">
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<label>Icon</label>
</div>
<div class="form-group">
<label>Nama Menu</label>
</div>
<div class="form-group">
<label>Jenis</label>
</select>
</div>
<div class="form-group">
<label>Nama Controller</label>
123
<input class="form-control" name="mnController"
required="">
</div>
<div class="form-group">
<label>Root</label>
<?php
foreach($list_root as $lroot):
endforeach;
?>
</select>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$('#tambah_menu').submit(function(event){
event.preventDefault();
$.ajax({
124
url: "<?php echo site_url('menu/save'); ?>",
type: "post",
dataType : "json",
data: $(this).serialize(),
success: function(d) {
$('#pesan').html(d.pesan);
$('#myModal').modal('show');
setTimeout(function(){
$('#myModal').modal('hide');
}, 1500);
$('#tambah_menu')[0].reset();
},
error: function(){
$('#myModal').modal('show');
setTimeout(function(){
$('#myModal').modal('hide');
}, 1500);
},
beforeSend: function(){
});
});
</script>
125
• menu/edit.php
<br>
<br>
<div class="row">
<div class="col-lg-12">
<div class="panel-heading">
Edit Menu
</div>
<div class="panel-body">
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<label>Icon</label>
</div>
<div class="form-group">
<label>Nama Menu</label>
</div>
<div class="form-group">
<label>Jenis</label>
</select>
</div>
<div class="form-group">
<label>Nama Controller</label>
126
<input class="form-control" name="mnController"
required="" value="<?php echo $controller; ?>">
</div>
<div class="form-group">
<label>Root</label>
<?php
foreach($list_root as $lroot):
endforeach;
?>
</select>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$(function(){
127
$('#mnJenis').val('<?php echo $jenis; ?>').attr("selected",
"selected");
});
$('#edit_menu').submit(function(event){
event.preventDefault();
$.ajax({
type: "post",
dataType : "json",
data: $(this).serialize(),
success: function(d) {
$('#pesan').html(d.pesan);
$('#myModal').modal('show');
setTimeout(function(){
$('#myModal').modal('hide');
}, 1500);
//$('#tambah_menu')[0].reset();
},
error: function(){
$('#myModal').modal('show');
setTimeout(function(){
$('#myModal').modal('hide');
}, 1500);
},
beforeSend: function(){
});
});
</script>
128
• menu/order.php
<style>
li.sortable-placeholder {
background: none;
.sortable li {
list-style: none;
height:40px;
margin-left:-40px;
li:hover{
background:#F5F5F5;
cursor:move;
</style>
<br>
<br>
<div class="row">
<div class="col-lg-12">
<div class="panel-heading">
Manajemen Menu
</div>
<div class="panel-body">
<div class="row">
<div class="col-lg-6">
129
<form id="order_menu">
<table>
<tr>
<strong>
Nama Menu
</strong>
</tr>
<tr>
<td width=400px><br>
endforeach;?>
</ul>
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
$(function() {
$('.sortable').sortable();
});
130
$('#order_menu').submit(function(event){
event.preventDefault();
$.ajax({
type: "post",
dataType : "json",
data: $(this).serialize(),
success: function(d) {
$('#pesan').html(d.pesan);
$('#myModal').modal('show');
setTimeout(function(){
$('#myModal').modal('hide');
}, 1500);
},
error: function(){
$('#myModal').modal('show');
setTimeout(function(){
$('#myModal').modal('hide');
}, 1500);
},
beforeSend: function(){
});
});
</script>
131
CONTROLLERS
• login.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
function __construct()
{
// load library
parent::__construct();
$this->load->library('session');
$this->load->library('form_validation');
$this->load->library('access');
$this->load->library('myencryption');
$this->load->helper('url');
}
}
?>
• main.php
<?php
function __construct ()
parent::__construct();
$this->load->model('mmenu');
132
$this->load->library('access');
$this->load->helper('url');
$menu = $this->mmenu->getByLevel($this->level);
$user = $this->access->get_user();
$this->load->model('mlogin');
$test=json_decode($this->mlogin->get_namagroup($this->access-
>get_group()));
$this->load->view('template/header.php', array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]-
>groupNama,
"active"=>$this-
>router->fetch_class()));
'Februari' =>
'02',
'September' =>
'09',
'November' =>
'11',
133
'Desember' =>
'12');
//var_dump($data['bulan']);
$data['thn'] = date("Y");
foreach($data['bulan'] as $row)
$data['grafik'][]=(int)$this->mmenu-
>laporanTahunan($row, $data['thn']);
$this->load->view('main/body.php', $data);
$this->load->view('template/footer.php');
• menu.php
<?php
function __construct ()
134
parent::__construct();
$this->load->model('mmenu');
$this->load->library('access');
$this->load->helper('url');
function index(){
$menu = $this->mmenu->getByLevel($this->level);
$listMenu = $this->mmenu->getAll();
$user = $this->access->get_user();
$this->load->model('mlogin');
$test=json_decode($this->mlogin->get_namagroup($this-
>access->get_group()));
$this->load->view('template/header.php',
array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]->groupNama,
"active"=>$this->router->fetch_class()));
$this->load->view('menu/list.php',
array("list_menu"=>$listMenu));
$this->load->view('template/footer.php');
135
}
function add(){
$menu = $this->mmenu->getByLevel($this->level);
$lroot = $this->mmenu->getRoot();
$user = $this->access->get_user();
$this->load->model('mlogin');
$test=json_decode($this->mlogin->get_namagroup($this->access-
>get_group()));
$this->load->view('template/header.php', array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]->groupNama,
"active"=>$this->router->fetch_class()));
$this->load->view('menu/add.php',
array("list_root"=>$lroot));
$this->load->view('template/footer.php');
function save(){
$nama = htmlentities($this->input->post('mnNamaMenu'),
ENT_QUOTES);
$icon = $this->input->post('mnIcon');
136
$controller = $this->input->post('mnController');
$jenis = $this->input->post('mnJenis');
$root = $this->input->post('mnIdRoot');
$urutan = $this->mmenu->getCurrentOrder();
$result=0;
if($nama){
$result = $this->mmenu->addNew(array(
));}
if($result==1)
"status"=>"sukses"));
else
"status"=>"error"));
137
function update(){
$icon = $this->input->post('mnIcon');
$controller = $this->input->post('mnController');
$jenis = $this->input->post('mnJenis');
$root = $this->input->post('mnIdRoot');
$id = $this->input->post('id');
$result=0;
if($nama){
$data1 = array(
);
if($result==1)
"status"=>"sukses"));
138
else
"status"=>"error"));
function ordering(){
$data = $this->mmenu->getAllMenuOrder();
$menu = $this->mmenu->getByLevel($this->level);
$user = $this->access->get_user();
$this->load->model('mlogin');
$test=json_decode($this->mlogin->get_namagroup($this->access-
>get_group()));
$this->load->view('template/header.php', array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]->groupNama,
"active"=>$this->router->fetch_class()));
$this->load->view('menu/order.php',
array("data"=>$data));
$this->load->view('template/footer.php');
function orderupdate(){
139
$urutan=$this->input->post('urutan');
$a=1;
foreach($urutan as $ur):
$this->mmenu->update($ur,array("mnOrder"=>$a));
$a++;
endforeach;
function delete($id=null){
$result=$this->mmenu->delete($id);
dihapus!!",
"status"=>"sukses"));
"status"=>"error"));
function edit($id=null){
$menu = $this->mmenu->getByLevel($this->level);
$lroot = $this->mmenu->getRoot();
140
$user = $this->access->get_user();
$this->load->model('mlogin');
$test=json_decode($this->mlogin->get_namagroup($this->access-
>get_group()));
$data = $this->mmenu->edit_menu($id);
//var_dump($data);
foreach($data as $dt){
$data1 = $dt->mnIcon;
$data2 = $dt->mnNamaMenu;
$data3 = $dt->mnJenis;
$data4 = $dt->mnController;
$data5 = $dt->mnIdRoot;
$this->load->view('template/header.php', array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]->groupNama,
"active"=>$this->router->fetch_class()));
$this->load->view('menu/edit.php',array("icon"=>$data1,
"nama"=>$data2,
141
"jenis"=>$data3,
"controller"=>$data4,
"root"=>$data5,
"idk"=>$id,
"list_root"=>$lroot));
$this->load->view('template/footer.php');
?>
• listperiksa_lab.php
<?php
function __construct ()
parent::__construct();
142
$this->load->model('mmenu');
$this->load->library('access');
$this->load->helper('url');
function index(){
$menu = $this->mmenu->getByLevel($this->level);
$user = $this->access->get_user();
$this->load->model('mlogin');
$test=json_decode($this->mlogin->get_namagroup($this->access-
>get_group()));
$this->load->view('template/header.php', array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]-
>groupNama,
"active"=>$this-
>router->fetch_class()));
$this->load->model('m_pemeriksaan');
$data['group'] = $this->m_pemeriksaan->get_group_pemeriksaan();
$data['list'] = $this->m_pemeriksaan->get_all_pemeriksaan();
$this->load->view('listp/body.php', $data);
$this->load->view('template/footer.php');
143
}
function add(){
$menu = $this->mmenu->getByLevel($this->level);
$user = $this->access->get_user();
$this->load->model('mlogin');
$test=json_decode($this->mlogin->get_namagroup($this->access-
>get_group()));
$this->load->view('template/header.php', array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]-
>groupNama,
"active"=>$this-
>router->fetch_class()));
$this->load->model('m_pemeriksaan');
$data['gp'] = $this->m_pemeriksaan-
>get_group_pemeriksaan();
$data['kodep'] = '';
$data['groupp'] = '';
$data['namap'] = '';
$data['nilain1'] = '';
144
$data['nilain2'] = '';
$data['nilain3'] = '';
$data['satuanp'] = '';
$data['ketp'] = '';
$this->load->view('listp/add_form.php', $data);
//form validation;
$this->load->view('template/footer.php');
function add_group(){
$menu = $this->mmenu->getByLevel($this->level);
$user = $this->access->get_user();
$this->load->model('mlogin');
$test=json_decode($this->mlogin->get_namagroup($this->access-
>get_group()));
$this->load->view('template/header.php', array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]-
>groupNama,
"active"=>$this-
>router->fetch_class()));
$this->load->model('m_pemeriksaan');
145
$data['gp'] = $this->m_pemeriksaan-
>get_group_pemeriksaan();
$data['kodegp'] = $this->next_kode_group();
$data['namagp'] = '';
$data['ketp'] = '';
$this->load->view('listp/add_form_group.php', $data);
//form validation;
$this->load->view('template/footer.php');
function edit(){
$menu = $this->mmenu->getByLevel($this->level);
$user = $this->access->get_user();
$this->load->model('mlogin');
$test=json_decode($this->mlogin->get_namagroup($this->access-
>get_group()));
$this->load->view('template/header.php', array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]-
>groupNama,
"active"=>$this-
>router->fetch_class()));
146
$this->load->model('m_pemeriksaan');
$key = $this->uri->segment(3);
$query = $this->m_pemeriksaan->get_data_pemeriksaan($key);
if($query->num_rows() > 0)
$data['kodep'] = $row->kode_jasa;
$data['groupp'] = $row->group_jasa;
$data['namap'] = $row->nama_jasa;
$data['nilain1'] = $row->nilai_normal_bayi;
$data['nilain2'] = $row->nilai_normal_anak;
$data['nilain3'] = $row->nilai_normal_dewasa;
$data['satuanp'] = $row->satuan;
$data['ketp'] = $row->keterangan;
$this->load->view('listp/edit_form.php', $data);
$this->load->view('template/footer.php');
147
function save(){
$this->load->model('mcrud');
$data['group_jasa'] = $this->input->post('grouppp');
$data['kode_jasa'] = $this->input->post('kodep');
$data['nama_jasa'] = $this->input->post('naper');
$data['nilai_normal_bayi'] = $this->input->post('normal1');
$data['nilai_normal_anak'] = $this->input->post('normal2');
$data['nilai_normal_dewasa'] = $this->input->post('normal3');
$data['satuan'] = $this->input->post('satuan');
$data['keterangan'] = $this->input->post('ket');
$query = $this->mcrud->count_where("m_pemeriksaan_lab",
var_dump($query);
$this->mcrud->update("m_pemeriksaan_lab", $data,
}else{
$this->mcrud->insert("m_pemeriksaan_lab", $data);
redirect('listperiksa_lab/index');
148
function save1(){
$this->load->model('mcrud');
$data['group_jasa'] = "0101";
$data['kode_jasa'] = $this->input->post('kodegp');
$data['nama_jasa'] = $this->input->post('namagp');
$data['nilai_normal_bayi'] = "";
$data['nilai_normal_anak'] = "";
$data['nilai_normal_dewasa'] = "";
$data['satuan'] = "";
$data['keterangan'] = $this->input->post('ket');
$this->mcrud->insert("m_pemeriksaan_lab", $data);
redirect('listperiksa_lab/index');
function delete($id){
$this->load->model('mcrud');
// $key = $this->uri->segment(3);
$result = $this->mcrud->delete("m_pemeriksaan_lab",
// redirect('listperiksa_lab/index');
dihapus!!",
"status"=>"sukses"));
149
else echo json_encode(array("pesan"=>"Data gagal dihapus!!",
"status"=>"error"));
function next_kode(){
$this->load->model('m_pemeriksaan');
$grup = $this->input->post("dt");
//$grup = '010101';
$query = $this->m_pemeriksaan->get_last_kode($grup);
$next = $last->kode_jasa + 1;
echo json_encode(array("kode"=>$next));
function next_kode_group(){
$this->load->model('m_pemeriksaan');
$grup = '0101';
$query = $this->m_pemeriksaan->get_last_kode($grup);
$next = $last->kode_jasa + 1;
150
$next = sprintf('%06d', $next);
return $next;
//echo json_encode(array("kode"=>$next));
?>
• order_lab.php
<?php
function __construct(){
parent::__construct();
$this->load->model('mmenu');
$this->load->library('access');
$this->load->helper('url');
function index(){
$this->load->model('mlogin');
$this->load->model('m_daftarperiksa');
151
$menu = $this->mmenu->getByLevel($this->level);
$user = $this->access->get_user();
$test=json_decode($this->mlogin->get_namagroup($this->access-
>get_group()));
$this->load->view('template/header.php', array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]-
>groupNama,
"active"=>$this-
>router->fetch_class()));
$data['pemeriksaan'] = $this->m_daftarperiksa-
>get_pemeriksaan();
$data['list_pemeriksaan'] = $this->m_daftarperiksa;
$this->load->view('orderp/order_form.php', $data);
$this->load->view('template/footer.php');
$this->load->model('m_daftarperiksa');
$nmr= $this->input->post("dt");
//$nmr = '1300012';
$id = $this->m_daftarperiksa->ambil_nomr($nmr);
152
$nama = explode(',',str_replace('.',' ',$id['NAMA']));
//$title = substr($nama[1],1);
//perhitungan umur
$dt = $date->format('Y/m/d');
$dn = date("Y/m/d");
$datetime1 = date_create($dn);
$datetime2 = date_create($dt);
$dateb = $date->format('d/m/Y');
//cek title
//echo "explodable";
$title = substr($nama[1],1);
} else {
$title = "";
153
//cek alamat
if($id["ALAMAT"]!="-"){
$address = $id["ALAMAT"];
}else{
$address = "";
'Perempuan' ;
echo json_encode(array("tempat"=>$id["TEMPAT"],
"nama"=>$nama[0],
"title"=>$title,
"tgllahir"=>$dateb,
"dinterv"=>$dinterv,
"jnsklmn"=>$jenkel,
"jaminan"=>$id["KDCARABAYAR"],
"namajaminan"=>$id["CARABAYAR"],
"ply"=>$id["KDPOLY"],
"dktr"=>$id["NAMADOKTER"],
"address"=>$address));
154
function save(){
$this->load->model('mcrud');
$this->load->model('m_daftarperiksa');
$data['no_transaksi'] = $this->m_daftarperiksa->get_trans_num();
$data['nomr'] = $this->input->post('nomr');
$data['tgl_order'] = $this->input->post('tgldaftar');
foreach($datakdjs as $row){
('$data[no_transaksi]','$row')");
//die();
//return "success";
redirect('order_lab/index');
?>
155
• hasil.lab.php
<?php
function __construct ()
parent::__construct();
$this->load->model('mmenu');
$this->load->library('access');
$this->load->helper('url');
$this->load->model('m_hasilperiksa');
function index(){
$menu = $this->mmenu->getByLevel($this->level);
$user = $this->access->get_user();
$this->load->model('mlogin');
$test=json_decode($this->mlogin->get_namagroup($this->access-
>get_group()));
156
$kode_group = $this->access->get_group();
$this->load->view('template/header.php', array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]-
>groupNama,
"kd"=>$kode_group,
"active"=>$this-
>router->fetch_class()));
$data['list'] = $this->m_hasilperiksa-
>get_order_by_no_transaksi();
$this->load->view('hasilp/hasil_list.php', $data);
$this->load->view('template/footer.php');
function edit(){
$menu = $this->mmenu->getByLevel($this->level);
$user = $this->access->get_user();
$this->load->model('mlogin');
$test=json_decode($this->mlogin->get_namagroup($this->access-
>get_group()));
157
$kode_group = $this->access->get_group();
$this->load->view('template/header.php', array("menu"=>$menu,
"_user"=>$user,
"as"=>$test[0]-
>groupNama,
"kd"=>$kode_group,
"active"=>$this-
>router->fetch_class(),
"cont"=>$this));
$key = $this->uri->segment(3);
$query = $this->m_hasilperiksa->get_order_detail($key);
$data['pemeriksaan'] = $this->m_hasilperiksa-
>get_order_pemeriksaan($key);
if($query->num_rows() > 0)
$data['no_trans'] = $row->no_transaksi;
$data['tgl_order'] = $row->tgl_order;
$data['tgl_pemeriksaan'] = $row->tgl_pemeriksaan;
$data['keterangan'] = $row->keterangan;
$data['nomr'] = $row->nomr;
158
$query1 = $this->m_hasilperiksa-
>ambil_data_pasien($data['nomr']);
$dt = $date->format('Y/m/d');
$dn = date("Y/m/d");
$datetime1 = date_create($dn);
$datetime2 = date_create($dt);
Hari');
$data["TEMPAT"]= $row->TEMPAT;
$data["NAMA"]= $row->NAMA;
$data["TGLLAHIR"]= $row->TGLLAHIR;
$data["umur"]= $dinterv ;
$data["JENISKELAMIN"]= $row->JENISKELAMIN;
$data["KDCARABAYAR"]= $row->KDCARABAYAR;
$data["CARABAYAR"]= $row->CARABAYAR;
$data["KDPOLY"]= $row->KDPOLY;
159
$data["NAMADOKTER"]= $row->NAMADOKTER;
$data["ALAMAT"]= $row->ALAMAT;
$this->load->view('hasilp/hasil_edit.php', $data);
$this->load->view('template/footer.php');
function save(){
$this->load->model('mcrud');
$hasil = $this->input->post('hasil');
$id = $this->input->post('num');
$tgl_periksa = $this->input->post('tglperiksa');
$nomr = $this->input->post('nomr');
$this->mcrud->update("m_order_detail",
$this->mcrud->update("m_order_pemeriksaan",
redirect('hasil_lab/index');
160
}
function cetak(){
$key = $this->uri->segment(3);
$query = $this->m_hasilperiksa->get_order_detail($key);
$data['pemeriksaan'] = $this->m_hasilperiksa-
>get_order_pemeriksaan($key);
if($query->num_rows() > 0)
$data['no_trans'] = $row->no_transaksi;
$data['tgl_order'] = $row->tgl_order;
$data['tgl_pemeriksaan'] = $row->tgl_pemeriksaan;
$data['keterangan'] = $row->keterangan;
$data['nomr'] = $row->nomr;
$query1 = $this->m_hasilperiksa-
>ambil_data_pasien($data['nomr']);
$dt = $date->format('Y/m/d');
161
$dn = date("Y/m/d");
$datetime1 = date_create($dn);
$datetime2 = date_create($dt);
$data["TEMPAT"]= $row->TEMPAT;
$data["NAMA"]= $row->NAMA;
$data["TGLLAHIR"]= $row->TGLLAHIR;
$data["umur"]= $dinterv ;
$data["JENISKELAMIN"]= $row->JENISKELAMIN;
$data["KDCARABAYAR"]= $row->KDCARABAYAR;
$data["CARABAYAR"]= $row->CARABAYAR;
$data["KDPOLY"]= $row->KDPOLY;
$data["NAMADOKTER"]= $row->NAMADOKTER;
$data["ALAMAT"]= $row->ALAMAT;
$this->load->view('hasilp/hasil_print.php', $data);
162
}
function cek_type_nilai($nilai){
return $nilaiz[0];
return $nilaiz[1];
return $nilaiz[1];
?>
163
• servive.php
<?php
parent::__construct();
$this->load->library('nusoap_lib');
$this->nusoap_server->configureWSDL("SimRS", "urn:SimRS");
$this->nusoap_server->register("getController",
array(),
"urn:SimRS",
"urn:SimRS#getController",
"rpc",
"encoded",
"Get Controller");
$this->nusoap_server->register("getAdm_modul",
array(),
"urn:SimRS",
"urn:SimRS#getAdm_modul",
164
"rpc",
"encoded",
$this->nusoap_server->register("addAdm_modul",
array(),
"urn:SimRS",
"urn:SimRS#addAdm_modul",
"rpc",
"encoded",
$this->nusoap_server->register("deleteAdm_modul",
array("id"=>"xsd:string"),
"urn:SimRS",
"urn:SimRS#addAdm_modul",
"rpc",
"encoded",
function index() {
165
function doAuthenticate() {
if (isset($_SERVER['PHP_AUTH_USER']) and
isset($_SERVER['PHP_AUTH_PW'])) {
$_SERVER['PHP_AUTH_PW'] == SERVICE_PASS)
return true;
else
return false;
function getController() {
$CI=& get_instance();
$CI->load->model('mservice');
// return json_encode("kucing");
return $CI->mservice->getController();
function getAdm_modul() {
$CI=& get_instance();
166
$CI->load->model('mservice');
return $CI->mservice->getAdm_modul();
$CI=& get_instance();
$CI->load->model('mservice');
return $CI->mservice->addAdm_modul($modulController,
$modulKodeGroup);
function deleteAdm_modul($id){
$CI=& get_instance();
$CI->load->model('mservice');
return $CI->mservice->deleteAdm_modul($id);
$this->nusoap_server->service(file_get_contents("php://input"));
?>
167
MODELS
• m_daftarperiksa.php
<?php
allowed');
parent::__construct();
function get_pemeriksaan(){
$this->db->select('kode_jasa, nama_jasa');
$this->db->where('group_jasa', '0101');
$query=$this->db->get("m_pemeriksaan_lab");
return $query->result();
function get_list_pemeriksaan($kode_jasa){
$this->db->select('kode_jasa, nama_jasa');
$this->db->where('group_jasa', $kode_jasa);
$query=$this->db->get("m_pemeriksaan_lab");
return $query->result();
168
t_pendaftaran.KDPOLY, m_dokter.NAMADOKTER, ALAMAT, m_carabayar.NAMA
as CARABAYAR');
$anotherdb->from('m_pasien');
$anotherdb->where('m_pasien.NOMR',$nmr);
$anotherdb->join('t_pendaftaran', 't_pendaftaran.NOMR =
m_pasien.NOMR', 'left');
$anotherdb->join('m_dokter', 'm_dokter.KDDOKTER =
t_pendaftaran.KDDOKTER', 'left');
$anotherdb->join('m_carabayar', 'm_carabayar.KODE =
t_pendaftaran.KDCARABAYAR', 'left');
$sql_nmr=$anotherdb->get();
if($sql_nmr->num_rows()>0){
$result["TEMPAT"]= $row["TEMPAT"];
$result["NAMA"]= $row["NAMA"];
$result["TGLLAHIR"]= $row["TGLLAHIR"];
$result["JENISKELAMIN"]=
$row["JENISKELAMIN"];
$result["KDCARABAYAR"]= $row["KDCARABAYAR"];
$result["CARABAYAR"]= $row["CARABAYAR"];
$result["KDPOLY"]= $row["KDPOLY"];
$result["NAMADOKTER"]= $row["NAMADOKTER"];
$result["ALAMAT"]= $row["ALAMAT"];
return $result;
function get_trans_num(){
169
$date = date('Y-m-d');
$tail = '0000';
$format = $thn.$bln.$tgl;
//$format = '20170707';
$this->db->select('no_transaksi');
$this->db->like('no_transaksi', $format);
$this->db->order_by('no_transaksi', 'DESC');
$this->db->limit(1);
$query=$this->db->get("m_order_pemeriksaan");
if($query->num_rows()>0){
$last_trans = $row['no_transaksi'];
}else{
/*var_dump($next);
die();*/
return $next;
170
• m_hasilperiksa.php
<?php
parent::__construct();
function get_order_by_no_transaksi(){
b.nama, b.jeniskelamin');
$this->db->from('d_lab.m_order_pemeriksaan AS a');
b.nomr');
$query=$this->db->get();*/
FROM m_order_pemeriksaan
JOIN
ORDER BY a.tgl_order
DESC");
return $query->result();
function get_order_detail($notrans){
171
$this->db->select('nomr, no_transaksi, tgl_order,
tgl_pemeriksaan, keterangan');
$this->db->where('no_transaksi', $notrans);
$query=$this->db->get("m_order_pemeriksaan");
return $query;
function get_order_pemeriksaan($notrans){
$this->db->select('a.id_orderd, a.kode_jasa,
$this->db->from('m_order_detail AS a');
b.kode_jasa');
$this->db->where('a.no_transaksi', $notrans);
$query=$this->db->get();
return $query->result();
function ambil_data_pasien($nmr){
as CARABAYAR');
$anotherdb->from('m_pasien');
$anotherdb->where('m_pasien.NOMR',$nmr);
$anotherdb->join('t_pendaftaran', 't_pendaftaran.NOMR =
m_pasien.NOMR', 'left');
$anotherdb->join('m_dokter', 'm_dokter.KDDOKTER =
t_pendaftaran.KDDOKTER', 'left');
172
$anotherdb->join('m_carabayar', 'm_carabayar.KODE =
t_pendaftaran.KDCARABAYAR', 'left');
$query = $anotherdb->get();
return $query;
• m_pemeriksaan.php
<?php
parent::__construct();
function get_group_pemeriksaan(){
$this->db->select('kode_jasa, nama_jasa');
$this->db->where('group_jasa', '0101');
$this->db->order_by('kode_jasa', 'ASC');
$query=$this->db->get("m_pemeriksaan_lab");
return $query->result();
function get_all_pemeriksaan(){
$this->db->where_not_in('group_jasa', '0101');
$this->db->order_by('kode_jasa', 'ASC');
$query=$this->db->get("m_pemeriksaan_lab");
return $query->result();
173
function get_data_pemeriksaan($kode){
$this->db->where('kode_jasa', $kode);
$query=$this->db->get("m_pemeriksaan_lab");
return $query;
function get_last_kode($key){
$this->db->select('kode_jasa');
$this->db->where('group_jasa', $key);
$this->db->order_by('kode_jasa', 'DESC');
$this->db->limit(1);
$query=$this->db->get("m_pemeriksaan_lab");
return $query->result();
• mcrud.php
<?php
return $this->db->get($table)->num_rows();
return $this->db->get($table)->result();
174
}
$this->db->order_by($order);
return $this->db->get($table)->result();
$this->db->limit($limit, $offset);
return $this->db->get($table)->result();
$this->db->limit($limit, $offset);
$this->db->order_by($order);
return $this->db->get($table)->result();
$this->db->where($where);
return $this->db->get($table)->num_rows();
$this->db->where($where);
return $this->db->get($table);
175
}
$this->db->where($where);
$this->db->order_by($order);
return $this->db->get($table)->result();
$this->db->where($where);
$this->db->limit($limit, $offset);
return $this->db->get($table)->result();
$offset, $order)
$this->db->where($where);
$this->db->limit($limit, $offset);
$this->db->order_by($order);
return $this->db->get($table)->result();
$this->db->where($where);
return $this->db->get($table)->row();
176
public function insert($table, $data)
$this->db->insert($table, $data);
$this->db->where($where);
$this->db->update($table, $data);
$this->db->where($where);
$this->db->delete($table);
return $this->db->query($query);
177
• mlogin.php
<?php
// table name
function __construct()
parent::__construct();
$this->load->library('nusoap_lib');
$this->load->library('session');
$this->load->library('myencryption');
$this->nusoap->setCredentials(SERVICE_USER, SERVICE_PASS,
"basic");
function login($kode){
$this->session->set_userdata(KODE_APLIKASI,$kode);
function get_group(){
$data1= $this->myencryption->decode($this->session-
>userdata('kode'));
$data2= $this->myencryption->decode($this->session-
>userdata(KODE_APLIKASI));
$data1=explode("/",$data1);
$data2=explode("/",$data2);
$data1[1];
178
function is_login($userAccount,$session)
return $this->nusoap->call("isLogin",
array("a"=>$userAccount,"b"=>$session));
return $this->nusoap->call("isValidaplikasi",
array("kodeGroup"=>$groupKode,"kodeVerifikasi"=>$kodeVerifikasi));
function get_namagroup($groupKode){
return $this->nusoap->call("getNamagroup",
array("kodeGroup"=>$groupKode));
function is_validmodul($modul,$group)
{ $this->db->join('adm_menu','mnId=modulController')
->where('mnController',$modul)
->where('modulKodeGroup',$group);
$res = $this->db->get('adm_modul')->num_rows();
?>
179
• mmenu.php
<?php
$this->load->library("myencryption");
parent::__construct();
$this->db->trans_start();
$this->db->insert('adm_menu', $data);
$this->db->trans_complete();
return false;
} else {
return true;
$this->db->trans_begin();
$data));
if ( !$this->db->trans_status() ) {
$this->db->trans_rollback();
180
return FALSE;
} else {
$this->db->trans_commit();
return TRUE;
}*/
function delete($id){
$this->db->delete("adm_menu", array("mnId"=>$this-
>myencryption->decode($id)));
return $this->db->affected_rows();
$this->db->trans_start();
$this->db->trans_complete();
if ( !$this->db->trans_status() ) {
return FALSE;
} else {
return TRUE;
$data))->row();
return $result;
181
}
$this->db->trans_begin();
$this->db->select('*');
$this->db->from('adm_menu');
$this->db->join('adm_modul', 'adm_menu.mnId =
adm_modul.modulController');
$this->db->order_by("mnOrder", "ASC");
if (!$this->db->trans_status()){
$this->db->trans_rollback();
return false;
} else {
$this->db->trans_commit();
return $this->db->get()->result();
$result = $this->db->get('adm_menu')->result();
return $result;
}*/
function getAll(){
$this->db->select('*');
$tampung=$this->db->get('adm_menu')->result();
foreach($tampung as $temp):
182
$temp1[]=array("mnId"=>$temp->mnId,
"mnIcon"=>$temp->mnIcon,
"mnNamaMenu"=>$temp->mnNamaMenu,
"mnJenis"=>$temp->mnJenis,
"mnController"=>$temp->mnController,
"mnIdRoot"=>$temp->mnIdRoot,
"mnOrder"=>$temp->mnOrder,
"mnIdEn"=>$this->myencryption->encode($temp-
>mnId));
endforeach;
return json_decode(json_encode($temp1),false);
$this->db->select('*');
$this->db->from('adm_menu');
$this->db->order_by("mnOrder", "ASC");
return $this->db->get()->result();
$this->db->select('*');
$this->db->from('adm_menu');
$this->db->order_by("mnOrder", "ASC");
return $this->db->get()->result();
183
public function getCurrentOrder() {
$this->db->select_max('mnOrder');
$result = $this->db->get('adm_menu');
if($result->num_rows()>0){
$result2= $row["mnOrder"];
$result1 = $result2+1;
return $result1;
$this->db->select('mnOrder') ;
$this->db->order_by('mnOrder', "DESC");
return $this->db->get('adm_menu',1,0)->result();
$this->db->select('no_transaksi');
if($bln!=""){
$this->db->where('DATE_FORMAT(tgl_order,"%m")',
$bln);
if($thn!=""){
$this->db->where('DATE_FORMAT(tgl_order,"%Y")',
$thn);
$this->db->from('m_order_pemeriksaan');
184
$this->db->order_by("no_transaksi","ASC");
return $this->db->count_all_results();
function edit_menu($id){
$this->db->select('*')
->where('mnId',$this->myencryption->decode($id));
return $this->db->get('adm_menu')->result();
$ids = $this->myencryption->decode($id);
$this->db->where('mnId', $ids);
$this->db->update('adm_menu', $data);
return $this->db->affected_rows();
?>
185
• mservice.php
<?php
parent::__construct();
$this->load->database();
function getController(){
->from('adm_menu');
return json_encode($this->db->get()->result_array());
function getAdm_modul(){
modulKodeGroup, modulFlag')
->from('adm_modul')
->join('adm_menu','modulController=mnId')
->where('modulFlag','1');
return json_encode($this->db->get()->result_array());
186
function addAdm_modul($modulController, $modulKodeGroup){
$this->db->select('*')
->where(array("modulController"=>$modulController,
"modulKodeGroup"=>$modulKodeGroup));
if(!$this->db->get('adm_modul')->result()) {
$this->db-
>insert('adm_modul',array("modulController"=>$modulController,
"modulKodeGroup"=>$modulKodeGroup));
return 1;
} else return 0;
function deleteAdm_modul($id){
$this->db->delete("adm_modul",array("modulId"=>$id));
return $this->db->affected_rows();
?>
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203