transaksi layanan medis real-time dengan …
TRANSCRIPT
TRANSAKSI LAYANAN MEDIS REAL-TIME DENGAN
MENGGUNAKAN SMART CARD UNTUK MENDUKUNG
PERAN SMART CAMPUS
TUGAS AKHIR
Sebagai Salah Satu Persyaratan
untuk Menyelesaikan Program Strata-1 Prodi Teknik Elektro Departemen Elektro Fakultas
Teknik Universitas Hasanuddin
Makassar
DISUSUN OLEH :
MISA AMIRA AZWAR SITTI WAHYUNI ARTINI
D411 13 310 D411 13 019
DEPARTEMEN ELEKTO
FAKULTAS TEKNIK UNIVERSITAS
HASANUDDIN MAKASSAR
2017
i
LEMBAR PENGESAHAN
TRANSAKSI LAYANAN MEDIS REAL-TIME DENGAN
MENGGUNAKAN SMART CARD UNTUK MENDUKUNG PERAN
SMART CAMPUS
Sebagai Salah Satu Persyaratan
untuk Menyelesaikan Program Strata-1 Prodi Teknik Elektro Departemen Elektro
Fakultas Teknik Universitas Hasanuddin
Makassar
disusun dan diajukan oleh :
MISA AMIRA AZWAR
D411 13 310
SITTI WAHYUNI ARTINI
D411 13 319
Telah diperiksa dan disetujui untuk diuji
Makassar, 2017
Pembimbing 1,
Dr. Eng. Ir. Hj. Dewiani, M.T.
NIP. 196910261994122001
Pembimbing 2,
Dr. Eng. Elyas Palantei, S.T., M.Eng.
NIP. 19690201 199412 1 001
Ketua Departemen Teknik Elektro
Fakultas Teknik
Universitas Hasanuddin
Prof. Dr. Ir. H. Salama Manjang, M.T., IPM.
NIP. 19621231 199003 1 024
ii
KATA PENGANTAR
Alhamdulillah, tiada kata yang lebih pantas terucap selain Puji syukur
Kehadirat Allah SWT, yang telah meridhai , memberi jalan dan memberi
kesehatan sehingga penyususunan Tugas Akhir dengan judul “Transaksi
Layanan Medis Real-Time dengan Menggunakan Smart card untuk
Mendukung Peran Smart Campus” dapat diselesaikan.
Laporan Tugas Akhir ini disusun oleh peneliti untuk memenuhi
persyaratan kelulusan jenjang Sarjana Strata 1 (S-1) pada Program Studi Teknik
Elektro Fakultas Teknik Universitas Hasanuddin, Gowa.
Peneliti menyadari bahwa tugas akhir ini masih memiliki kekurangan dan
belum dapat dikatakan sempurna, tetapi sebagai manusia biasa yang penuh dengan
keterbatasan, inilah yang terbaik yang dapat peneliti persembahkan. Oleh karena
itu, saran dan kritik yang bersifat membangun akan peneliti pertimbangkan untuk
penyempurnaanya.
Dalam penyusunan Tugas Akhir ini, dapat terselesaikan berkat bantuan,
motivasi, serta bimbingan dari berbagai pihak. Untuk itu, penulis ingin
mengucapkan terima kasih kepada:
Kedua orang tua dan seluruh keluarga yang selama ini senantiasa
memberikan doa, dorongan, perhatian dan dukungan bagi peneliti.
Dr. Eng. Ir. Hj. Dewiani, M.T. selaku Pembimbing 1 dan Dr. Eng.
Elyas Palantei, S.T, M.Eng selaku Pembimbing 2 yang telah
membimbing, memberikan saran, dan perbaikan dalam penyusunan
Tugas Akhir ini.
Teruntuk staf Departemen Teknik Elektro yang selalu membantu
dalam hal persuratan dan selalu memberikan motivasi agar peneliti
cepat menyelesaikan Tugas Akhir ini.
iii
Teman-teman Teknik Elektro angkatan 2013 khususnya konsentrasi
Teknik Telekomunikasi dan Informasi yang selalu mendukung dan
memberikan saran serta kritik dalam penyusunan Tugas Akhir ini.
Harapan peneliti semoga Tugas Akhir ini berguna dan memberikan hal
yang bermanfaat bagi siapa saja yang membacanya. Demikian Tugas Akhir ini
disusun oleh peneliti, apabila ada kata-kata yang kurang berkenan dan banyak
terdapat kekurangan, peneliti memohon maaf.
Makassar , November 2017
Peneliti
iv
ABSTRAK
TRANSAKSI LAYANAN MEDIS REAL-TIME DENGAN
MENGGUNAKAN SMART CARD UNTUK MENDUKUNG PERAN
SMART CAMPUS
Misa Amira Azwar1
Sitti Wahyuni Artini2
Kemajuan teknologi informasi dewasa ini, telah dilakukan berbagai pendekatan
salah satunya di bidang kesehatan. Untuk melakukan peningkatan pelayanan
kesehatan, maka akan dirancang sistem pengobatan jarak jauh (telemedis) dengan
mengintegrasikan pengelolaan data pasien serta pembayaran pemeriksaan secara
elektronik. Untuk memaksimalkan sistem pelayanan kesehatan ini secara merata,
maka pada Tugas Akhir ini dibuatlah sistem menggunakan smart card yang
terintegrasi dengan web site Klinik Unhas.
Smart card yang digunakan berbasis sesuai dengan Konsorsium Smart Card
Indonesia iRFC v 1.0. Sedangkan perancangan web site dengan menggunakan
bahasa pemograman PHP, pembuatan database MySQL dan Apache web server
yang bertanggung jawab pada request-response HTTP dimana telah digabung
dalam sebuah aplikasi yang bernama XAMPP. Sehingga terbentuklah sebuah
sistem dengan menggunakan smart card yang dapat menyimpan rekam medis
pasien maupun dapat melakukan transaksi pembayaran secara elektronik (e-
payment).
Sebanyak 10 orang telah didaftarkan sebagai pasien dalam Sistem Web Site Klinik
Unhas dimana 2 orang diantaranya merupakan pasien asuransi dan telah berhasil
melakukan pemeriksaan hingga selesai. Selain itu, pada proses pemeriksaan di
Web Site Klinik Unhas dapat dilakukan pada jarak dekat (0 Km) maupun jauh
(20,3 Km) dengan menggunakan sistem operasi jaringan Wireless Fidelity (Wi-fi)
(uplink: 2,94 Mbps; downlink: 20,37 Mbps) dan jaringan seluler seperti Simpati
(uplink: 6,14 Mbps; downlink: 8,01 Mbps) dan XL (uplink: 8,06 Mbps;
downlink: 2,29 Mbps) yang berkonektivitas cepat.
Kata Kunci : Smart card, Web Site, Rekam Medis, e-Payment
v
ABSTRACT
TRANSACTIONS OF REAL-TIME MEDICAL SERVICES USING SMART
CARD TO SUPPORT THE ROLE OF SMART CAMPUS
Misa Amira Azwar1
Sitti Wahyuni Artini2
Advances in information technology today, has made various approaches and one
of them is in the field of health. To improve health services, telemedicine systems
will be designed to integrate patient data management and electronic check
payments. To maximize this health service system evenly, then in this Final
Project a system is made by using smart card which is integrated with Unhas
Clinic web site.
Smart cards that researchers used are based on the Consortium Smart Card
Indonesia iRFC v 1.0. While to design the web site researchers used PHP
programming language, the creation of MySQL database and Apache web server
that responsible for the request-response HTTP which has been combined in an
application called XAMPP. So it formed a system by using smart card which can
save patients medical record and can perform electronic payment transaction (e-
payment).
There are 10 people have been registered as patients in the Web Site System of
Unhas Clinic where 2 of them are insurance patients and have successfully
completed the examination. In addition, on the examination process at the Web
Site of Unhas Clinic can be done at short distance (0 Km) and long distance (20,3
Km) by using Wireless Fidelity (Wi-fi) network operating system (uplink: 2,94
Mbps; downlink: 20.37 Mbps) and cellular networks such as Simpati (uplink: 6.14
Mbps; downlink: 8.01 Mbps) and XL (uplink: 8.06 Mbps; downlink: 2.29 Mbps)
with fast connectivity.
Key Words : Smart card, Web Site, Medical Record, e-Payment
vi
DAFTAR ISI
HALAMAN JUDUL ..................................................................................................
LEMBAR PENGESAHAN ........................................................................................ i
KATA PENGANTAR ................................................................................................ ii
ABSTRAK .................................................................................................................. iv
DAFTAR ISI ............................................................................................................... v
DAFTAR GAMBAR .................................................................................................. vii
DAFTAR TABEL........................................................................................... ............ viii
BAB I PENDAHULUAN ................................................................................... I-1
I.1 Latar Belakang .................................................................................... I-1
I.2 Identifikasi Masalah… ........................................................................ I-3
I.3 Rumusan Masalah................................................................................ I-3
I.4 Tujuan Penelitian…………………………….. ................................... I-4
I.5 Manfaat Penelitian .......................................................................... I-4
I.6 Batasan Masalah…………………………………………………… . I-4
I.7 Metode Penelitian ............................................................................... I-5
I.8 Sitematika Penulisan .......................................................................... I-6
BAB II TINJAUAN PUSTAKA .......................................................................... II-1
II.1 Elemen-Elemen Sistem Telemedis Berbasis Smart Card………………… ... II-1
II.1.1 Telemedicine .................................................................................. II-1
II.1.2 Wireless network ............................................................................ II-2
II.1.3 Web Server ..................................................................................... II-2
II.1.4 Web Browser .................................................................................. II-3
II.1.5 PHP………………………. ............................................................ II-3
II.1.6 My SQL…………….. ..................................................................... II-3
II.1.7 Transaksi Elektronik (E-Payment) ................................................. II-4
II.1.8 Spesifikasi Smart card.. ................................................................ II-5
II.2 Penelitian Transaksi Layanan Kesehatan Berbasis Smart Card……….. .... II-16
BAB III METODOLOGI PENELITIAN .............................................................. III-1
III.1 Kerangka Pikir …………………………………………………………….. III-1
III.2 Perancangan Sistem Layanan Medis Kampus .............................................. III-3
vii
III.3 Perancangan Perangkat Keras. ....................................................................... III-7
III.4 Perancangan Perangkat Lunak dan Penginstallasian XAMPP ................... III-8
III.5 Perancangan Basis Data……. ......................................................................... III-14
BAB IV HASIL DAN PEMBAHASAN…………………………………………... IV-1
IV.1 Halaman Web Site Klinik Unhas……………...…………………………….. IV-1
IV.2 Alur Sistem Transaksi Di Web Site Klinik Unhas……………………… .....IV-18
IV.3 Operasi Pengujian Sistem……………………………………………………IV-21
IV.4 Perbandingan Kelebihan Sistem Web Site Klinik Unhas dengan Aplikasi
Kesehtan Lainnya…………………………………………………………………...IV-25
BAB V PENUTUP………………………………………………………………….. V-1
V.1 Kesimpulan ………………………………………………………………….. V-1
V.2 Saran …………………………………………………………………………. V-2
DAFTAR PUSTAKA ………………………. ........................................................ ix
LAMPIRAN
viii
DAFTAR GAMBAR
Gambar 3.1 Flow Chart Perancangan Sistem ............................................................ III-3
Gambar 3.2 Deskripsi Visual Sistem Telemedis Berbasis Smart Card…….............. III-4
Gambar 3.3 Flow Chart Alur Sistem Pemeriksaan ................................................... III-6
Gambar 3.4 Perancangan Perangkat Keras ................................................................ III-7
Gambar 3.5 Installasi XAMPP................................................................................... III-9
Gambar 4.1 Halaman Utama Klinik Unhas ............................................................... IV-2
Gambar 4.2 Menu Utama tanpa Reader ..................................................................... IV-2
Gambar 4.3 Menu Utama tanpa Smart Card ............................................................. IV-3
Gambar 4.4 Menu Utama Ada Smart Card ............................................................... IV-3
Gambar 4.5 Rekam Medis ......................................................................................... IV-4
Gambar 4.6 Jenis-Jenis Pemeriksaan ......................................................................... IV-5
Gambar 4.7 Parameter dan Hasil Pemeriksaan .......................................................... IV-5
Gambar 4.8 Top-Up ................................................................................................... IV-6
Gambar 4.9 Invoice .................................................................................................... IV-7
Gambar 4.10 Tampilan Chatting pada Halaman Web Admin..................................... IV-7
Gambar 4.11 Admin Baru…………………………………………………………… IV-8
Gambar 4.12 Data Admin ........................................................................................... IV-9
Gambar 4.13 Pasien Baru…………………………………………………………… IV-10
Gambar 4.14 Data Pasien ............................................................................................ IV-11
Gambar 4.15 Rekam Medis pada Halaman Web Pasien ………………………….... IV-12
Gambar 4.16 Hasil Pemeriksaan dan Resep Dokter pada Halaman Web Pasien…… IV-12
Gambar 4.17 Tampilan Ubah Password pada Halaman Web Pasien…………. ….. IV-13
Gambar 4.18 Tampilan Konsultasi Web Pasien .......................................................... IV-14
Gambar 4.19 Dokter Baru…………………………………………………………... IV-14
Gambar 4.20 Data Dokter ........................................................................................... IV-15
Gambar 4.21 Tampilan Data Pasien pada Web Dokter……………..……………… IV-16
Gambar 4.22 Tampilan Rekam Medis Pasien pada Halaman Web Dokter ................ IV-16
Gambar 4.23 Tampilan Halaman Pemeriksaan Petugas Medis di Klinik Unhas........ IV-17
Gambar 4.24 Tampilan Halaman Diagnosa Dokter………………………………... IV-17
Gambar 4.25 Tampilan Catatan Dokter pada Halaman Web Dokter………………. IV-18
Gambar 4.26 Tampilan Halaman Ubah Password Dokter……………….................. IV-18
Gambar 4.27 Comment Sukses Tulis Kartu………………………………...………. IV-21
Gambar 4.28 Comment Pasien Berhasil Diregister…………………………………. IV-21
ix
DAFTAR TABEL
Tabel 2.1 Spesifikasi Data Identitas ........................................................................... II-7
Tabel 2.2 Spesifikasi Akses Data Identitas ................................................................ II-11
Tabel 2.3 Perbandingan Lingkup Pengkajian Dari Sejumlah Penelitian Terkait ....... II-16
Tabel 3.1 Basis Data untuk Admin ............................................................................ III-15
Tabel 3.2 Basis Data untuk Parameter Pemeriksaan Darah ....................................... III-16
Tabel 3.3 Basis Data untuk Dokter ............................................................................ III-16
Tabel 3.4 Basis Data untuk Pasien…………………………………………………..III-17
Tabel 3.5 Basis Data untuk Riwayat Pasien…………………….…………………...III-17
Tabel 3.6 Basis Data untuk Pemeriksaan Suhu Tubuh………................................... III-18
Tabel 3.7 Basis Data untuk Tarif ............................................................................... III-18
Tabel 3.8 Basis Data untuk Pemeriksaan Tensi ......................................................... III-18
Tabel 3.9 Basis Data untuk Pemeriksaan Urine ......................................................... III-19
Tabel 4.1 Pengujian Sistem……………….……………………………………….. IV-22
Tabel 4.2 Pengujian Sistem Web Site Klinik Unhas Selain Peneliti……………….. IV-22
Tabel 4.3 Pengujian Kecepatan Internet…………………………………………… IV-23
Tabel 4.4 Pengujian Jarak Dokter dengan Pasien………………………………….. IV-24
Tabel 4.5 Perbandingan Kelebihan Sistem Web Site Klinik Unhas dengan
Aplikasi Kesehatan Lainnya………………………………………………….....….. IV-25
I-1
BAB I
PENDAHULUAN
I.1 LATAR BELAKANG
Menurut World Health Organization (WHO) kesehatan adalah suatu
keadaan fisik, mental, dan sosial kesejahteraan dan bukan hanya ketiadaan
penyakit atau kelemahan. Kesehatan yang prima dapat mendukung manusia untuk
melakukan kegiatan yang produktif. Akan tetapi, manusia tidak luput dari
penyakit sehingga banyak masyarakat yang mengunjungi rumah sakit untuk
memeriksakan kesehatannya. Namun adapun kendala yang dialami oleh beberapa
pasien yaitu jarak rumah sakit yang cukup jauh dari tempat tinggal mereka.
Kerterbatasan pelayanan kesehatan tersebut dapat diatasi dengan
teknologi, salah satunya Information and Communication Technology (ICT) yang
berbasis wireless benar-benar sudah menjadi suatu keharusan dalam berbagai
aspek kehidupan. Dengan ICT ini, informasi dapat disajikan secara real time,
cepat dan tentunya sangat mudah diakses oleh pihak-pihak yang berkepentingan
[1]. Dalam bidang kesehatan, ICT sangat diperlukan untuk melakukan monitoring
terhadap kondisi kesehatan pasien sehingga perpaduan ICT dan kesehatan inilah
yang telah melahirkan biomedical engineering atau teknik biomedis.
Teknik biomedis atau biomedical engineering (BME) adalah penerapan
prinsip-prinsip teknik dan konsep desain untuk kedokteran dan biologi untuk
tujuan kesehatan (misalnya diagnostik atau terapeutik). Bidang ini berusaha untuk
menutup kesenjangan antara teknik dan kedokteran , menggabungkan desain dan
pemecahan masalah keterampilan teknik dengan ilmu-ilmu kedokteran dan
biologi untuk memajukan perawatan kesehatan. Dengan berkembangnya teknik
biomedis ini, banyak penelitian yang merancang pengobatan jarak jauh contohnya
tenaga medis dapat melakukan pemantauan (monitoring) tanda-tanda vital
kesehatan pasien tanpa memerlukan interaksi secara langsung dalam satu ruang
yang sama sehingga permasalahan tenaga medis dapat terminimalisir. Interaksi
I-2
dalam ruang berbeda antara tenaga medis dan pasien dikenal dengan istilah
telemedis (telemedicine).
Dalam menghadapi perkembangan ilmu pengetahuan dan teknologi,
khususnya di bidang Teknologi Informasi dan Elektronika, dan juga dalam
kaitannya untuk memberikan image terhadap pelayanan kesehatan yang bervisi
maju serta mengedepankan kenyamanan, dilakukan pengembangan “Aplikasi
Pelayanan Kesehatan" dengan berbasis pada smart card [2]. Di tengah-tengah
kemajuan teknologi informasi dewasa ini, telah dilakukan berbagai pendekatan
untuk melakukan peningkatan pelayanan kesehatan dengan mengintegrasikan baik
sistem pengobatan jarak jauh (telemedicine) maupun pengelolaan data pasien
secara elektronik. Studi yang dilakukan kali ini merupakan upaya untuk
mengembangkan pendayagunaan salah satu aplikasi teknologi informasi,
khususnya smart card ke dalam sistem pelayanan kesehatan yang ada di
Indonesia.
Berdasarkan penelitian Implementasi Aplikasi Smart Health Pada Smart
card UI Berbasis Java Card [3]; Health Care Recording System Using Smart card
Technology [4]; Patient Healthcare Smart card System : A Unified Medical
Record For Access And Analytics [5], ketiga penelitian tersebut mengembangkan
proses perekaman data medis dengan menggunakan smart card berjenis Java
Card dan Unified Medical Record Access and Analytics (UMRAA) sehingga
klinik atau rumah sakit tidak perlu lagi menyimpan data pasien dalam bentuk
kertas. Metode yang digunakan pun berbeda-beda, ada yang menggunakan sistem
Integrated Electronics Health Record System (IEHRS) sebagai database tempat
penyimpanan rekam medis pasien dan ada yang menggunakan database US
Health Care System yang dihubungkan dengan UMRAA card. Berkaitan dengan
hal tersebut, alangkah baiknya smart card berisi data atau informasi pasien yang
terinput langsung secara online juga dapat melakukan transaksi pembayaran
secara elektronik sehingga lebih memudahkan pengelola rumah sakit maupun
klinik dalam memberikan pelayanan kepada pasien. Oleh karena itu, pada tugas
akhir kali ini penulis akan merancang suatu sistem pembayaran berbasis web
I-3
service yang terintegrasi dengan smart card guna memperkuat peran smart
campus dalam hal memudahkan mahasiswa Fakultas Teknik Gowa Universitas
Hasanuddin memeriksakan kesehatan mereka tanpa harus mengunjungi Rumah
Sakit Umum Pendidikan Universitas Hasanuddin yang berada di Tamalanrea
Makassar. Adapun judul dari tugas akhir kali ini adalah Transaksi Layanan
Medis Real-Time dengan Menggunakan Smart card untuk Mendukung Peran
Smart Campus.
I.2 IDENTIFIKASI MASALAH
Berdasarkan uraian latar belakang diatas, maka identifikasi masalah dari
tugas akhir ini adalah :
1. Jarak rumah sakit yang terlalu jauh.
2. Minimnya akses transportasi dari daerah Gowa ke Tamalanrea Makassar.
3. Banyaknya antrian di rumah sakit membuat waktu menjadi tidak efisien
baik bagi dokter maupun pasien.
4. Ketidakpastian jadwal dokter berada di rumah sakit.
5. Riwayat kesehatan pasien cenderung masih menerapkan sistem
pengarsipan paper based.
6. Kalkulasi biaya pemeriksaan terkadang masih manual
I.3 RUMUSAN MASALAH
Berdasarkan uraian pada latar belakang maka rumusan masalah pada
penelitian ini adalah :
1. Bagaimana membuat sistem manajemen database pasien dan dokter yang
dilakukan oleh administrator?
2. Bagaimana cara pembayaran konsultasi pemeriksaan kesehatan secara
online?
I.4 TUJUAN PENELITIAN
Adapun tujuan yang akan dicapai dari penelitian ini adalah :
I-4
1. Merancang sistem monitoring kesehatan jarak jauh berbasis web service
yang terintegrasi dengan smart card dengan manajemen database yang
baik.
2. Merancang sistem pembayaran pemeriksaan dengan menggunakan e-
payment yang berbasis smart card.
I.5 MANFAAT PENELITIAN
Penelitian ini memiliki beberapa manfaat seperti yang diuraikan berikut
ini.
1. Bagi masyarakat atau mahasiswa, penelitian ini bermanfaat dalam
memberikan kemudahan untuk melakukan transaksi layanan medis tanpa
harus berada di Rumah Sakit Umum Universitas Hasanuddin.
2. Bagi tenaga medis, mengakses riwayat kesehatan pasien maupun kalkulasi
biaya pemeriksaan menjadi lebih mudah, jelas, dan lengkap.
3. Bagi peneliti, penelitian ini berguna untuk menambah wawasan dan
kemampuan dalam merancang dan membuat sistem web service yang
terintegrasi dengan masyarakat yang berguna untuk masyarakat.
4. Bagi institusi pendidikan Departemen Teknik Elektro & pada bidang
Teknologi Telekomunikasi Informasi, penelitian ini dapat digunakan
sebagai referensi ilmiah dalam pengembangan sistem transaksi layanan
kesehatan telemedis dengan menggunakan smart card.
I.6 BATASAN MASALAH
Berdasarkan tujuan penelitian yang telah diuraikan di atas, maka batasan
masalah dari tugas akhir ini adalah :
1. Pemeriksaan kesehatan yang di lakukan hanya sebatas pemeriksaan suhu
tubuh, tekanan darah, fisik (sakit kepala, sakit perut/lambung, asma,
batuk/tenggorokan, muntah berak, diare, nyeri dada, alergi), cek
laboratorium darah dan urine.
I-5
2. Proses pembayaran e-payment hanya menggunakan smart card dan
transaksi top-up saldonya menggunakan uang tunai.
3. Perancangan sistem ini menggunakan smart card dengan spesifikasi iRFC
1.0 yang terhubung dengan Web Site Klinik Unhas.
4. Sistem operasi jaringan yang digunakan untuk mengakses Web Site Klinik
Unhas adalah jaringan seluler yaitu Simpati dan XL serta Wireless Fidelity
(Wi-fi)
I.7 METODE PENELITIAN
Dalam mengerjakan tugas skhir ini diperlukan prosedur berupa langkah-
langkah pengerjaan sebagai berikut :
1. Studi Literatur
Pengambilan dasar teori untuk dijadikan sebagai acuan dalam
penyelesaian tugas akhir dimana merujuk pada referensi berupa buku-
buku, jurnal-jurnal nasional maupun internasional seperti yang tertera pada
daftar tinjauan pustaka dan referensi dari berbagai tugas akhir yang
berhubungan dalam penyelesaian tugas akhir ini.
2. Pembuatan Sistem
Pembuatan sistem web site dengan menggunakan bahasa
pemograman PHP , database MySQL dan Apache sebagai web server
yang bertanggung jawab pada request-response HTTP.
3. Pengujian sistem
Tahap akhir dari penelitian ini adalah menguji coba sistem untuk
mengetahui kesalahan dan kekurangan pada sistem agar dapat dilakukan
perbaikan dan penyempurnaan sistem.
I.8 SISTEMATIKA PENULISAN
Adapun sistematika penulisan yang digunakan dalam penulisan dan
penyusunan tugas akhir ini adalah sebagai berikut :
I-6
BAB I PENDAHULUAN
Pada bab ini berisikan gambaran umum penelitian yang dilakuakan
meliputi latar belakang, identifikasi masalah, rumusan masalah, tujuan penelitian,
manfaat penelitian, batasan masalah penelitian dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Bab ini membahas tentang teori serta fakta-fakta yang diambil seabgai
bahan referensi terkait dengan penelitian yang dilakukan yang berguna dalam
pembangunan system nantinya.
BAB III PERANCANGAN DAN PEMBUATAN SISTEM
Pada bab ini menjelaskan mengenai tahap-tahap perancangan dan
pembuatan sistem website yang menggunakan bahasa pemograman PHP dan
MySQL
BAB IV HASIL DAN PEMBAHASAN
Dalam bab ini akan dijelaskan mengenai hasil penelitian, masalah, dan
pemecahannya.
BAB V PENUTUP
Pada bab ini berisi tentang kesimpulan dari hasil penelitian yang diperoleh
pada bab sebelumnya dan saran-saran yang dapat berguna dalam pengembangan
dari sistem pada tugas akhir ini di masa akan datang.
II-1
BAB II
TINJAUAN PUSTAKA
II.1 Elemen-Elemen Sistem Telemedis Berbasis Smart Card
II.1.1. Telemedicine
Ide tentang pemeriksaan dan evaluasi kesehatan dengan menggunakan
perangkat jaringan telekomunikasi atau jaringan internet bukanlah hal yang baru.
Setelah diperkenalkan internet oleh dunia, percobaan telemedicine telah dilakukan
pertama kali dengan mentransmisikan rekaman melalui jaringan internet via
satelit. Walaupun jarak tempuh transmisi hanya beberapa kilometer, namun nilai
klinisnya tidak begitu bermakna. Setelah itu, telah beberapa kali dilakukan
percobaan untuk melakukan transmisi suara jantung dan napas antar dokter dan
pasien. Hal tersebut adalah merupakan praktek dari telematika dalam bidang
kedokteran atau yang biasa disebut dengan telemedicine.
Jadi Telemedicine merupakan suatu layanan kesehatan antara dokter
dengan pasien jarak jauh guna mengirimkan data medik pasien menggunakan
infrastruktur telekomunikasi yang sudah ada misalnya menggunakan internet,
satelit dan lain sebagainya. Telemedicine bukanlah teknologi yang benar-benar
baru, telemedicine modern bahkan sudah ada sejak telepon digunakan.
Telemedicine masa kini akan lebih mengacu pada pemanfaatan Teknologi
Informasi Komputer yang lebih canggih. Antara pasien dengan praktisi kesehatan
harus memiliki jaringan internet yang terhubung secara global sehingga pasien
bisa menggunakan jasa telemedicine. Sejalan dengan kemajuan teknologi
komputer dan sistem digital saat ini, perkembangan telemedicine semakin
berkembang. Peralatan kedokteran dapat menghasilkan gambar digital secara
langsung, selain itu juga dapat mengubah citra video menjadi citra digital [6].
Kini, penggunaan telemedicine sangat luas sampai sekarang berlaku di
berbagai negara. Di Indonesia sendiri teknologi telemedicine telah berkembang
II-2
walaupun masih dalam tingkat yang terbatas. Sehingga sangat perlu untuk
mengembangkan teknologi telemedicine ini untuk keperluan dan kepentingan
pasien itu sendiri. Karena Indonesia adalah negara kepulauan maka teknologi
telemedicine sangat diperlukan sekali.
II.1.2. Wireless network
Wireless network atau jaringan nirkabel adalah bidang yang berkaitan
dengan komunikasi antar sistem komputer dan beberapa macam peralatan
telekomunikasi tanpa menggunakan kabel. Jaringan nirkabel ini sering dikenal
sebagai jaringan telekomunikasi, dan banyak dipakai untuk jaringan komputer
baik pada jarak yang dekat (beberapa meter, memakai alat/pemancar bluetooth)
maupun pada jarak jauh (lewat satelit). Jaringan nirkabel biasanya
menghubungkan satu sistem komputer dengan sistem telekomunikasi yang lain
dengan menggunakan beberapa macam media transmisi tanpa kabel, seperti:
gelombang elektromagnetik, gelombang radio, gelombang mikro, gelombang
satelit, maupun gelombang inframerah [7] .
II.1.3. Web Server
Web server adalah software yang menjadi tulang belakang dari world wide
web (www) yang pertama kali tercipta sekitar tahun 1980an. Web server
menunggu permintaan dari client yang menggunakan browser seperti Netscape
Navigator, Internet Explorer, Mozilla Firefox, dan program browser lainnya. Jika
ada permintaan dari browser, maka web server akan memproses permintaan itu
kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke
browser.
Data ini mempunyai format yang standar, disebut dengan format SGML
(Standar General Markup Language). Data yang berupa format ini kemudian
akan ditampilkan oleh browser sesuai dengan kemampuan browser tersebut.
Contohnya, bila data yang dikirim berupa gambar, browser yang hanya mampu
menampilkan teks (misalnya Links) tidak akan mampu menampilkan gambar
tersebut, dan jika ada akan menampilkan alternatifnya saja.
II-3
Web server untuk berkomunikasi dengan client-nya (web browser)
mempunyai protokol sendiri, yaitu HTTP (hypertext transfer protocol). Dengan
protokol ini, komunikasi antar web server dengan client-nya dapat saling
dimengerti dan lebih mudah. Seperti telah dijelaskan diatas, format data pada
world wide web adalah SGML. Tapi para pengguna internet saat ini lebih banyak
menggunakan format HTML (hypertext markup language) karena penggunaannya
lebih sederhana dan mudah dipelajari [8] .
II.1.4. Web Browser
Web browser adalah program aplikasi yang menterjemahkan kode HTML
dan merepresentasikan halaman web site. Aplikasi inilah yang paling sering
digunakan setiap hari untuk melakukan browsing di dunia maya. Jenis browser
saat ini semakin banyak dan berkembang dengan pesat diantaranya adalah Internet
Explorer, Mozilla Firefox, Opera, Google Chrome, Safari, Netscape, Flock, Avant
Browser, dll [9].
II.1.5. PHP
PHP adalah singkatan dari Personal Home Page yang merupakan bahasa
standar yang digunakan dalam dunia website. PHP adalah bahasa pemrograman
yang berbentuk script yang diletakkan didalam web server. PHP dapat diartikan
sebagai Hypertext Preeprocessor. Ini merupakan bahasa yang hanya dapat
berjalan pada server yang hasilnya dapat ditampilkan pada klien. Interpreter PHP
dalam mengeksekusi kode PHP pada sisi server disebut serverside, berbeda
dengan mesin maya Java yang mengeksekusi program pada sisi klien (client-
server) [10].
II.1.6. MySQL
Database secara sederhana dapat disebut sebagai gudang data. Secara
teori, database adalah kumpulan data atau informasi yang kompleks, data-data
tersebut disusun menjadi beberapa kelompok dengan tipe data yang sejenis
disebut table atau entity, di mana setiap datanya dapat saling berhubungan satu
II-4
sama lain atau dapat berdiri sendiri, sehingga mudah diakses. MySQL merupakan
database yang awalnya hanya berjalan pada sistem Unix dan Linux. Seiring
berjalannya waktu dan banyaknya peminat yang menggunakan database ini,
MySQL merilis versi yang dapat diinstal pada hampir semua platform, termasuk
Windows. Lisensi dari MySQL adalah freeware yang artinya pengguna dapat
mendownload dan menggunakannya tanpa harus membayar [10].
Terdapat perbedaan antara SQL dan MySQL. SQL merupakan
kependekan dari kata "Structured Query Language" yaitu suatu bahasa
permintaan yang terstruktur yang melekat pada satu database atau SMBD
tertentu, sedangkan MySQL merupakan databasenya. Dengan kata lain, MySQL
merupakan SMBD-nya dan SQL adalah perintah atau bahasa yang melekat di
dalam SMBD tersebut. Struktur dasar dari ekspresi SQL terdiri dari tiga klausa,
yaitu :
a. Select
Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai
hasil suatu query.
b. From
Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu query.
c. Where
Operasi ini terdiri dari sebuah predikat yang menyangkut atribut-atribut dari relasi
yang muncul dalam klausa from [11].
II.1.7. Transaksi Elektronik atau E-payment
Di zaman perkembangan arus teknologi informasi yang sangat pesat
seperti saat ini, Indonesia sebagai negara berkembang harus selalu mengikuti tren
pemanfaatan teknologi yang ada. Selain untuk mengejar ketertinggalan dalam
bidang teknologi dengan negara-negara maju, juga untuk bertahan dalam
persaingan bisnis dalam skala yang lebih luas atau global. Internet sebagai salah
II-5
satu media teknologi informasi yang modern, telah menyebar dan berkembang
pesat dalam segala aspek kehidupan masyarakat di Indonesia dan seluruh dunia.
Tak terkecuali dalam bidang perekonomian. Dengan adanya transaksi elektronik
atau e-payment memudahkan dalam hal transaksi secara cepat dan tepat [12].
Transaksi elektronik adalah transaksi yang melibatkan pertukaran nilai keuangan.
Ada nilai uang yang berkurang dan bertambah pada pihak tertentu. Pertukaran
nilai keuangan berarti ada kegiatan pembayaran di dalamnya. Ada banyak cara
pembayaran yang mendukung transaksi elektronik dan e-commerce, di antaranya
adalah kartu pembayaran elektronik (baik debit maupun kredit), e-wallets/e-
purses (dompet elektronik), smart cards, pembayaran nirkabel (wireless
payments), Stored-value card payments, Loyalty cards, Person-to-person payment
methods, dan pembayaran elektronik pada kios – kios khusus.
II.1.8. Spesifikasi Smart card Konsorsium Smart card Indonesia
Smart card sering disebut sebagai chip card atau integrated circuit (IC)
card . Definisi chip card sendiri yaitu kategori umum yang mencakup smart card
dan memory card. Smart card adalah plastic card yang mengandung memory chip
dan microprocessor.
Kartu ini bisa menambah, menghapus, mengubah informasi yang
terkandung. Keunggulannya adalah smart card tidak perlu mengakses database di
server karena sudah ada sebagian terkandung di kartu. Sedangkan memory card
dipasangi memory silicon tanpa microprocessor.
Fungsi dasar suatu smart card adalah untuk mengidentifikasi card holder ke
sistem komputer. Cardholder disini adalah pemilik asli kartu tersebut. Identifikasi
ini menyangkut otentifikasi organisasi yang membuat kartu tersebut dan
cardholder dan hak aksesnya.
Beberapa hal yang harus dipertimbangkan dalam metode identifikasi kartu
adalah apakah kartu dapat :
Mengkonfirmasi identitas cardholder sebelum mengakses data
II-6
Memberikan data untuk konfirmasi ke alat eksternal, sistem atau
perorangan.
Menyediakan data ke sistem tanpa pengecekan orang yang
menggunakan.
Untuk itu harus didefinisikan tingkat keamanan yang diperlukan. Tingkat
keamanan paling tinggi, sedang, atau hanya cukup untuk mengatasi pencuri amatir
saja.
Berdasarkan kategorinya smart card dapat dibagi menjadi 2 jenis, yaitu
contact dan contactless
1. Contact Smart card
Pada jenis contact membutuhkan sentuhan fisik antara kartu dengan
reader agar dapat terhubung. Dimana kartu dimasukkan ke dalam
reader agar reader bersentuhan dengan conductive contact plate
pada permukaan kartu.
2. Contactless Smart card
Pada jenis contactless tidak dibutuhkan sentuhan fisik agar kartu
dengan reader dapat terhubung. Hal ini karena komunikasi yang
terjadi antara kartu dengan reader menggunakan frekuensi radio.
Pada konsorsium smart card Indonesia telah ditentukan spesifikasi smart
card yang akan digunakan. Dimensi smart card pada spesifikasi ini mengikuti
standard ISO 7810 seukuran kartu kredit/kartu ATM diharapkan dapat menjadi
media pembawa informasi yang muda dibawa oleh penggunanya. Idealnya,
interoperabilitas dapat diwujudkan secara offline dengan memanfaatkan data yang
tersimpan di dalam smart card, sedangkan untuk data-data yang tidak dapat
diakomodasi secara offline harus dapat dilayani secara terbatas menggunakan
metode online yang dilakukan antar lembaga . Berikut spesifikasi data identitas
yang telah disepakati oleh Konsorsium Smart card Indonesia :
II-7
Tabel 2.1 Spesifikasi Data Identitas
No Item Keterangan Format Contoh
0 Field Map + Length
Map
Bagian Existensi Data
1010 0000 0000 0000
0000 0000 (3 Bytes)
Bagian Length Data
0000 0000 0000 1000 =
f1
0000 0000 0000 0000 =
f2
0000 0000 0111 1011 =
f3
.
.
.
.
0000 0000 0000 0000 =
f23
0000 0000 0000 0000 =
f24
(48 Bytes)
Field Map
merepresentasika
n keberadaan
data. Pada
spesifikasi ini
terdapat 17 field
(2 byte + 1 bit).
Adapun 7 bit
terakhir adalah
reserved untuk
ekspansi data (7
field tambahan)
Binary(51
Byte) (M)
Binary = 1111
1101 1110 1111
1000 0000
0xFD 0xEF
0x80
Menandakan
bahwa data yang
tersedia adalah
field 1 s/d 6, 8
s/d 11, 13 s/d 17.
Dengan
demikian Host
tidak perlu
mengambil data
untuk field-field
yang dinyatakan
tidak ada
datanya.(Lihat
Bagian 3.1 -
Akses Data
Identitas)
1 Local Card ID Kode Card ID
yang tersimpan di
dalam Card
Management
institusi (Max 32
Byte)
LLLLVA
R (M)
1234567890123
45678
2 Kode Institusi Kode PT / NISN
(Max 32). Harus
mengacu ke Kode
PDDikti
(http://forlap.dikti
.go.id)
LLLLVA
R (M)
380044
II-8
No Item Keterangan Format Contoh
3 Nomor Identitas Nomor Identitas
Siswa / Staf /
Dosen (NPM /
NIP / NPSN / dll)
(Max 32)
LLLLVA
R (M)
0806444524
4 Nama Lengkap Nama Lengkap
(Max 64)
LLLLVA
R (M)
AHMAD
SUPENDI
UTAMA
5 Kode Organisasi Kode Internal
Lembaga
Pendidikan.
(Max 32)
LLLLVA
R (M)
135 =>
Informatika ITB,
atau
03.00.12.01 =>
Magister Ilmu
Komputer UI,
dll
6 Nama Sekolah /
Universitas / Lembaga
Pendidikan
Nama institusi
(Max 64)
LLLLVA
R (M)
TELKOM
UNIVERSITY
7 Nama Fakultas / Kelas Nama Sub-
Institus
(Max 48)i
LLLLVA
R (M)
FILKOM atau
cth lain:
FAKULTAS
ILMU SOSIAL
DAN ILMU
POLITIK
8 Nama Program Studi /
Peminatan
Informasi sub-
institusi tambahan
(Max 48)
LLLLVA
R (O)
IPA atau cth
lain:
MANAJEMEN
INFORMASI
9 Peran Peran card holder
(Max 1)
CHAR(1)
(M)
0: Mahasiswa
1: Dosen
2: Staff
II-9
No Item Keterangan Format Contoh
10 Atribut Primer sesuai
standard ICAO 9303-4
(Kode Dokumen,
Issuer, Nama)
Field sesuai
standard ICAO
9303-4 (4.2.2.1
Data structure of
the upper
machine readable
line)
(Max 44)
CHAR(44)
(O)
Lihat bagian
2.1.1 - ICAO
compliance
upper machine
readable data
11 Atribut Sekunder sesuai
standard ICAO 9303-4
(ID Dokumen/Passport
Number, Nationality,
Date of Birth, Sex,
Expiration Date,
Optional Data Element)
Field sesuai
standard ICAO
9303-4 (4.2.2.2
Data structure of
the lower machine
readable line)
(Max 44)
CHAR(44)
(O)
Lihat bagian
2.1.2 - ICAO
compliance
lower machine
readable data
12 Foto Foto binary
Maksimum 4096
byte
LLLLVA
R (O)
13 Sidik Jari Template binary
Maksimum 4096
byte
LLLLVA
R (O)
14 Alamat Alamat
(Max 200)
LLLLVA
R (O)
JL Majalah B28,
Komp. PWI
Cipinang Muara,
Jakarta Timur
15 Nomor Telpon Nomor telpon
(Max 32)
LLLLVA
R (O)
16 Issue Date (Max 6) CHAR (6)
(M)
YYMMD
D
Cth: 160118
II-10
No Item Keterangan Format Contoh
17 Status Status kartu
(Max 1)
CHAR(1)
(M)
0: Aktif
1: Expired
2: Blokir
18 Email Alamat Email
(Max 32)
LLVAR(
M)
Cth:
19
s/d
24
Reserved Informasi bebas
(Max 100)
LLLLVA
R (O)
Spesifikasi data ini disusun dari hasil penggabungan konsep, model dan
pemetaan yang diambil dari protokol transaksi perbankan ISO8583 dan data
identitas standar ICAO 9303-4. Definisi yang dipergunakan terdiri dari 2 (dua)
model yaitu Fix-Length dan Header-Length. Fix-Length menyimpan data dengan
panjang yang sudah ditentukan. Apabila data lebih pendek dari panjang field akan
diisi dengan karakter spasi. Header-Length menyimpan data sejumlah Header-
nya. Di dalam spesifikasi ini, Header-Length yang digunakann adalah
menggunakan 2 (LLVAR) s/d 4 (LLLLVAR) digit numerik yang
merepresentasikan panjang data pada field tersebut. Walaupun Header-Length
memungkinkan untuk mendefinisikan panjang data yang sangat banyak, tetap
dilakukan pembatasan panjang data khususnya untuk foto dan sidik jari .
Selain spesifikasi data identitas, dibutuhkan akses untuk membaca dan
menulis kartu yang bergantung terhadap profile kartu. Profile kartu merupakan
informasi yang terdefinisi di dalam Konsorsium Smart card Indonesia sebagai
kartu yang dikenal dan dapat digunakan. Tujuannya adalah untuk menjelaskan
kepada Aplikasi dalam memilih strategi akses penulisan data [5]. Berikut
II-11
spesifikasi akses data identitas yang telah disepakati oleh Konsorsium Smart card
Indonesia [13] :
Tabel 2.2 Spesifikasi Akses Data Identitas
No Item APDU (READ) APDU (WRITE) Contoh
0 Field Map + Length
Map
Akses ke MF (3F
00), DF (10 01),
dan EF (01 00).
(Max 51 Bytes)
Akses ke MF (3F
00), DF (10 01),
dan EF (01 00).
Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu
1 Local Card ID Akses ke MF (3F
00), DF (10 01),
dan EF (01 01).
Max (353 Bytes)
Pembacaan
membutuhkan
SAM (Acquirer)
untuk melakukan
otentikasi
sebelum
pembacaan data
dari dalam kartu
Akses ke MF (3F
00), DF (10 01),
dan EF (01 01).
Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu
2 Kode Institusi
3 Nomor Identitas
4 Nama Lengkap
5 Kode Organisasi
6 Nama Sekolah /
Universitas / Lembaga
Pendidikan
7 Nama Fakultas / Kelas
8 Nama Program Studi /
Peminatan
9 Peran
II-12
No Item APDU (READ) APDU (WRITE) Contoh
10 Atribut Primer sesuai
standard ICAO 9303-4
(Kode Dokumen, Issuer,
Nama)
Akses ke MF (3F
00), DF (10 01),
dan EF (01 02)
(Max 44 Bytes)
Akses ke MF (3F
00), DF (10 01),
dan EF (01 02).
Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu
11 Atribut Sekunder sesuai
standard ICAO 9303-4
(ID Dokumen/Passport
Number, Nationality,
Date of Birth, Sex,
Expiration Date,
Optional Data Element)
Akses ke MF (3F
00), DF (10 01),
dan EF (01 03)
(Max 44 Bytes)
Akses ke MF (3F
00), DF (10 01),
dan EF (01 03).
Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu
12 Foto Akses ke MF (3F
00), DF (10 01),
dan EF (01 04)
(Max 4096 Bytes)
Pembacaan
membutuhkan
SAM (Acquirer)
untuk melakukan
otentikasi
sebelum
pembacaan data
dari dalam kartu
Akses ke MF (3F
00), DF (10 01),
dan EF (01 04).
Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu
II-13
No Item APDU (READ) APDU (WRITE) Contoh
13 Sidik Jari Akses ke MF (3F
00), DF (10 01),
dan EF (01 05)
(Max 4096 Bytes)
Pembacaan
membutuhkan
SAM (Acquirer)
untuk melakukan
otentikasi
sebelum
pembacaan data
dari dalam kartu
Akses ke MF (3F
00), DF (10 01),
dan EF (01 05).
Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu
14 Alamat Akses ke MF (3F
00), DF (10 01),
dan EF (01 06)
(Max 238 Bytes)
Pembacaan
membutuhkan
SAM (Acquirer)
untuk melakukan
otentikasi
sebelum
pembacaan data
dari dalam kartu
Akses ke MF (3F
00), DF (10 01),
dan EF (01 06).
Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu
15 Nomor Telpon
16 Issue Date
II-14
No Item APDU (READ) APDU (WRITE) Contoh
17 Status Akses ke MF (3F
00), DF (10 01),
dan EF (01 07)
(Max 1 Byte)
Akses ke MF (3F
00), DF (10 01),
dan EF (01 07).
Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu
MF ini sengaja
dipisah dengan
data lainnya untuk
membatasi
perubahan data
yang dapat
dilakukan oleh
Acquirer (dengan
pengiriman
APDU secara
online dari Issuer
ke Acquirer, Lihat
Bagian 5.3)
18 Email Akses ke MF (3F
00), DF (10 01),
dan EF (01 08)
Akses ke MF (3F
00), DF (10 01),
dan EF (01 08).
Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu
II-15
No Item APDU (READ) APDU (WRITE) Contoh
19
s/d
24
Reserved Akses ke MF (3F
00), DF (10 01),
dan EF (01 08)
Akses ke MF (3F
00), DF (10 01),
dan EF (01 08).
Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu
II-16
II.2 Penelitian Transaksi Layanan Kesehatan Berbasis Smart Card
Perbandingan beberapa penelitian terkait dengan tugas akhir yang akan
peneliti lakukan dapat dilihat pada tabel di bawah ini:
Tabel 2.3 Perbandingan Lingkup Pengkajian dari Sejumlah
Penelitian Terkait
Res
earc
h y
an
g s
ud
ah
dil
ak
uk
an
PENELITI JUDUL
PENELITIAN TAHUN HASIL PENELITIAN
Donny (Skripsi Tugas Akhir Departemen
Teknik Elektro Universitas Indonesia)
Implementasi Aplikasi Smart Health Pada Smart card UI Berbasis Java Card
2008 Menyimpan dan membaca catatan medis dengan
menggunakan smart card berbasis java card
Aryanti Zainuddin ; Tri Supriady Amir (Skripsi Tugas Akhir Jurusan Elektro Universitas
Hasanuddin)
Sistem Informasi Laboratorium Uji
Kesehatan Pada Balai Besar Laboratorium
Kesehatan (BBLK) Makassar
2015 Membuat aplikasi sistem informasi laboratorium uji
kesehatan yang dapat diimplementasikan di BBLK
Makassar
V. Ramesh Kumar; S. Dayanidhi; K.Vignesh
Health Care Recording System Using Smart card
Technology
2016 Membantu mengakses dan menyimpan data tentang
proses diagnosis serta membantu dalam perekaman
parameter seperti tekanan darah, analisa klinis, dan detak jantung dengan menggunakan
smart card
Sadath Hussain; Thilini Ariyachandra; Mark
Frolick (Management
Information System Xavier University)
Patient Healthcare Smart card System : A Unified Medical Record for Access
and Analytics
2016 Membuat database sistem informasi kesehatan yang menyinkronkan informasi untuk semua pasien yang
menelusuri berbagai layanan di sistem perawatan kesehatan
AS menggunakan kartu Unified Medical Record Access and
Analysis (UMRAA).
MUZHIR SHABBAN AL-ANI ; RABAH NOORY ; DUA'A YASEEN AL-ANI
Billing System Design Based On Internet
Environment
2012 Mengimplementasikan Sistem Billing dengan mengkonstruksi
sistem virtual bank untuk meproses pembayaran
II-17
Berdsarkan tabel perbandingan beberapa penelitian di atas, maka peneliti
akan membuat suatu perancangan web site untuk memudahkan pengiriman data
pasien dari klinik Fakultas Teknik Gowa ke Rumah Sakit Umum Pendidikan
Universitas Hasanuddin yang berada di Tamalanrea Makassar yang juga
dilengkapi dengan sistem billing dengan memanfaatkan smart card sebagai alat
pembayaran layanan kesehatan.
III-1
BAB III
METODE PENELITIAN
III.1 Kerangka Pikir
Jauhnya jarak antara kampus Fakultas Teknik Unhas yang berlokasi di
Jalan Poros Malino Km. 6, Bontomarannu Kabupaten Gowa dengan Rumah Sakit
Umum Pendidikan Unhas yang berlokasi di Jalan Perintis Kemerdekaan Km. 10,
Tamalanrea Makasssar, membuat mahasiswa yang ingin memeriksa kesehatannya
mengalami kendala karena minimnya akses transportasi. Untuk mempermudah
pelayanan kesehatan para mahasiswa. Untuk itu dapat dilakukan pemeriksaan
pada klinik di Kampus Teknik Gowa Unhas dimana pada klinik tersebut data
pemeriksaan dapat dikirim ke web site rumah sakit dimana sebelumnya pasien
melakukan pembayaran administrasi biaya pemeriksaan di Klinik Kampus dengan
menggunakan smart card yang terintegrasi dengan web site sehingga pasien tidak
perlu lagi datang ke rumah sakit untuk memeriksakan kesehatannya dan
membayar biaya pengobatannya. Adapun untuk kerangka pikir penelitian ini
ditunjukkan pada blok diagram sebagai berikut :
III-2
MASALAH
DI SISI RUMAH SAKIT
1. Terdapat banyak antrian pasien sehingga membuat waktu pemeriksaan menjadi
tidak efisien.
2. Antrian yang panjang biasanya disebabkan karena ketidakpastian jadwal dokter
berada di Rumah Sakit.
3. Transaksi biaya pemeriksaan terkadang juga menimbulkan antrian dan
menimbulkan ketidaktepatan admin dalam menghitung biaya pemeriksaan yang
terkadang kalkulasi biaya pemeriksaan masih bersifat manual.
4. Data riwayat pasien terkadang masih ada yang berbentuk kertas.
DI SISI PASIEN
1. Pasien yang berada diluar daerah sehingga jarak Rumah Sakit yang cukup jauh
dari tempat tinggal pasien.
2. Biaya transportasi yang cukup mahal khususnya masyarakat yang berada
didaerah.
SOLUSI
Merealisasikan sebuah web site yang didalamnya sudah terdapat data pasien, data dokter
maupun data poli. Web site tersebut juga terintegrasi dengan smart card guna sebagai alat
transaksi pembayaran layanan kesehatan agar pasien dapat berkonsultasi dan memeriksa
kesehatan dengan dokter walaupun tidak berada dalam suatu ruangan yang sama.
PROSES
Perancangan web site dengan menggunakan bahasa pemograman PHP, pembuatan
database MySQL dan Apache web server yang bertanggung jawab pada request-response
HTTP.
HASIL
Pengujian sistem, analisa dan kesimpulan
III-3
III.2 Perancangan Sistem Layanan Medis Kampus
Mulai
Perancangan website
Konfigurasi website dengan smart card
Membuat database untuk website
Apakah data pada smart card dapat
terbaca pada website?
TidakPerbaikan
konfigurasi smart card pada website
Ya
Uji coba penelitian
Pembuatan laporan
Selesai
III-4
Gambar 3.1 Flowchart Perancangan Sistem
Gambar 3.2 Gambaran Sistem Secara Umum
Sistem pemeriksaan di Klinik Unhas yang terdapat di Kampus Teknik
Gowa dapat dilihat pada gambar diatas dimana ketika pasien datang untuk
memeriksakan kesehatannya harus membawa smart card ke klinik. Sesampainnya
III-5
pasien di klinik, pertugas medis dalam hal ini berlaku juga sebagai admin
melayani pasien dengan cara meminta smart card dan memasukkannya pada
reader untuk mengakses data pasien pada website Klinik Unhas.
Apabila pasien adalah pasien baru atau belum pernah melakukan
pemeriksaan di klinik maka admin akan mendaftarkan pasien terlebih dahulu ke
dalam sistem dengan cara mengisi form data pasien baru. Namun jika pasien
adalah pasien lama atau sudah pernah melakukan pemeriksaan di klinik
sebelumnya maka ketika petugas medis atau admin memasukkan smart card pada
reader, informasi mengenai pasien tersebut akan langsung muncul pada sistem
website Klinik Unhas.
Setelah informasi mengenai pasien telah terbaca, barulah pasien dibantu
oleh petugas medis untuk mencentang atau memilih pemeriksaan apa yang
diinginkan, lalu pasien membayar pemeriksaan tersebut dengan menggunakan
smart cardnya. Jika pasien tidak mempunyai saldo yang cukup untuk melakukan
transaksi pembayaran, maka pasien harus mentop up saldo smart cardnya terlebih
dahulu dengan cara membayar tunai pada petugas , lalu petugas akan mentop up
melalui sistem.
Ketika proses pembayaran selesai, barulah pasien akan diperiksa oleh
petugas medis yang berjaga di klinik sesuai dengan pemeriksaan yang telah dipilih
sebelumnya. Lalu petugas medis tersebut akan mengisi parameter pemeriksaan
dan kesimpulan pemeriksaan yang diinput melalui sistem web site Klinik Unhas
agar dokter yang menangani penyakit tersebut dapat melihat hasil pemeriksaan
dari petugas dan memberikan diagnosanya walaupun dokter tersebut sedang tidak
berada di Klinik Unhas.
Petugas kesehatan atau admin dapat mencetak seluruh hasil pemeriksaan
pasien dan struk pembayaran setelah menerima hasil diagnosa dari dokter ahli.
Dan pemeriksaan telah selesai. Berikut di bawah ini, flowchart alur sistem
pemeriksaan pasien di Klinik Unhas Gowa.
III-6
Mulai
Pasien datang ke klinik
Pasien memberikan smart card ke petugas medis
untuk di scan di smart card reader
Apakah pasien pernah melakukan pemeriksaan di
klin ik?
Ya
Validasi kartu pasien dengan RFID reader
TidakMengisi form pasien baru di website RSUP
Pasien telah memiliki akun
Data valid?
Ya
Pasien memilih jenis
pemeriksaan di website RSUP
Tidak
Apakah saldo pasien mencukupi untuk
melakukan pemeriksaan?Tidak
Pasien melakukan top up saldo
Pasien melakukan pembayaran tagihan
pemeriksaan di website RSUP
Tindakan pemeriksaan dan pengobatan oleh petugas
medis di klinik
Petugas medis di klinik menginput parameter hasil
pemeriksaan pasien di website
RSUP
Dokter di RSUP menerima dan
memeriksa hasil pemeriksaan di klinik melalui website RSUP
Dokter menginput hasil diagnosa pasien klinik di website
RSUP
Pasien menerima hasil diagnosa
dari dokter melalui website
RSUP
selesai
A
Ya
A
Gambar 3.3 Flowchart Alur Sistem
III-7
III.3 Perancangan Perangkat Keras
Secara garis besar, perancangan perangkat keras yang kami lakukan
meliputi rangkaian perangkat keras dalam hal ini Laptop atau Personal Computer
(PC) , Contact Smart card Reader, dan Smart card itu sendiri. Sistem yang akan
dirancang seperti gambar dibawah ini.
Gambar 3.4 Perancangan Perangkat Keras
1. Laptop atau Personal Computer (PC)
Laptop atau Personal Computer (PC) berguna untuk sebagai
tempat pengolahan data yang terbaca dari smart card. Personal Computer
(PC) juga berfungsi untuk mengirimkan setiap data dari pasien yang
melakukan pemeriksaan di klinik Fakultas Teknik Gowa Universitas
Hasanuddin. Untuk laptop atau PC dapat menggunakan spesifikasi yang
paling terendah.
2. Smart card Reader
Card reader yang akan kami gunakan pada penelitian kali ini
adalah jenis ACR1281 1S Dual Reader ICC 0. Card reader ini akan
berfungsi sebagai alat pembaca kartu smart card.
3. Smart card
Smart card yang akan diterapkan pada Fakultas Teknik Gowa
Universitas Hasanuddin akan berupa kartu identitas, baik itu kartu
mahasiswa maupun kartu pegawai yang mana di dalamnya terdapat
LAPTOP/PC SMART CARD
READER
SMART CARD
III-8
informasi tentang identitas pemegang kartu baik secara fisik yang tercetak
pada kartu maupun yang tersimpan di dalam chip yang berfungsi sebagai
tempat penyimpanan dan pengolahan data spesifik pemilik kartu tersebut
dan memiliki sifat sangat rahasia. Smart card yang kami rancang akan
berisi data-data pemegang kartu seperti identitas, rekam medis, serta saldo
kartu. Smart card yang digunakan pada penelitian ini adalah smart card
yang berstandar pada konsorsium smart card v. 1.0
III.4 Perancangan Perangkat Lunak dan Penginstallasian XAMPP
Software yang dibutuhkan selama tahap pengembangan sistem ini antara lain:
XAMPP Control Panel v. 3.2.2
Kami menggunakan perangkat lunak bebas XAMPP. Karena XAMPP
mendukung banyak sistem informasi yaitu Apache, MySQL, PHP, dan
Perl. Sehingga lebih memudahkan peneliti dalam pembuatan system.
Apache
Dalam perancangan penelitian ini, peneliti menggunakan apache sebagai
web server yang bertanggung jawab pada request-response HTTP .
MySQL
Peneliti menggunakan MySQL sebagai database manajemen sistem
(DBMS) dan dapat digunakan untuk mendemonstrasikan proses replikasi
basis data.
PHP 5.6
PHP atau Hypertext Preprocessor adalah bahasa pemrograman script
server-side yang didesain untuk pengembangan web.
Adob e Dreamweaver CS6
Peneliti menggunakan Adobe dreamweaver untuk mendesain web dan
membuat template.
III-9
Dalam memudahkan peneliti untuk merancang dan membuat sistem, maka
digunakan software XAMPP. XAMPP adalah perangkat lunnak bebas yang
mendukung banyak sistem operasi dan mempunyai fungsi sebagai server yang
berdiri sendiri (localhost). XAMPP terdiri dari program MySQL database,
Apache HTTP Server, dan penerjemah ditulis dalam bahasa pemograman PHP
dan Perl. Untuk menginstall perangkat lunak XAMPP, terlebih dahulu buka
halaman website https://www.apachefriends.org/index.html pada browser. Setelah
itu pilih XAMPP for Windows untuk memulai proses download.
1. Setelah proses download selesai, langkah selanjutnya adalah menginstall
aplikasi XAMPP dengan cara membuka file yang telah didownload
sebelumnya. Setelah itu Non-aktifkan anti-virus karena dapat menyebabkan
beberapa komponen XAMPP tidak dapat diinstall. Klik “Yes” untuk
melanjutkan proses penginstallan.
III-10
2. Untuk pengguna Windows, akan muncul jendela pop up sebagai peringatan
tentang User Account Control (UAC) yang aktif pada sistem. Klik “OK”
untuk melanjutkan proses instalasi.
4. Setelah itu klik “Next” pada jendela Setup
5. Memilih komponen yang ingin diinstall. Pilih pilihan default dan klik “Next”.
III-11
6. Pilih folder untuk menyimpan file XAMPP dalam PC. Klik “Next” untuk
melanjutkan.
7. Setelah itu akan muncul jendela seperti di bawah ini. Klik “Next” untuk
melanjutkan.
III-12
8. Klik “Next” untuk memulai proses penginstallan XAMPP pada PC.
9. Setelah itu tunggu beberapa saat sampai proses instalasi selesai. Klik “Next”
untuk melanjutkan.
III-13
10. Ketika proses instalasi selesai maka akan muncul jendela seperti di bawah ini.
Klik “Finish”.
11. Pilih bahasa yang akan digunakan.
III-14
12. Klik kanan pada ikon XAMPP dan pilih “Run as Administrator” untuk
menjalankan aplikasi XAMPP, setelah itu akan muncul jendela seperti di
bawah ini.
Gambar 3.5 Installasi XAMPP
III.5 Perancangan Basis Data
Rancangan basis data dibuat dalam beberapa tabel dengan fieldnya
masing-masing serta menentukan tipe data dan ukuran karakter setiap fieldnya. Ini
dimaksudkan agar dapat memberikan gambaran secara jelas mengenai apa-apa
saja yang muncul dalam halaman web site klinik. Masing-masing tabel tersebut
terdiri dari :
Nomor;
III-15
Field Name; berisi nama-nama field apa saja yang ada pada setiap halaman
web site. Contoh tabel untuk halaman Admin, terdapat id admin, nama,
alamat, date of birth, sex, telp, email, status, password, dan foto.
Tipe data; berisi tipe data masing-masing field. Tipe data yang dipakai
pada penelitian kali ini adalah sebagai berikut.
- Varchar adalah tipe data untuk menampung data yang bertipe karakter
atau alphabetic (a-z).
- Integer atau sering di singkat Int adalah tipe data yang digunakan untuk
menampung data yang bertipe angka atau numeric (0-9).
- Date adalah tipe data yang digunakan untuk menampung data yang
bertipe tanggal, bulan, dan tahun.
- Text adalah tipe data yang bisa diisi dengan kombinasi nilai antara
alphabetic dan numeric.
Range; berisi panjang karakter masing-masing field. Contoh untuk field
nama terdapat 50 karakter yang dapat diisi.
Untuk lebih jelasnya dapat dilihat pada tabel di bawah ini.
Tabel 3.1 Basis Data untuk Admin
field dari basis data untuk admin dapat dilihat seperti gambar di atas yang mana
nantinya field tersebut akan dipakai untuk meregister atau mendaftar admin baru
pada sistem web site Klinik Unhas.
NO NAMA FIELD TIPE DATA RANGE
1 Admin_id int 11
2 Card_id varchar 20
3 Nama varchar 50
4 Alamat varchar 200
5 dob date
6 sex varchar 20
7 telp Varchar 12
8 email varchar 50
9 status varchar 6
10 password varchar 100
11 foto text
III-16
Tabel 3.2 Basis Data untuk Parameter Pemeriksaan Darah
NO NAMA FIELD TIPE DATA RANGE
1 id int 11
2 status varchar 10
3 Kode pemeriksaan varchar 10
4 Hemoglobin varchar 10
5 Hematocrit varchar 10
6 Entrosit varchar 10
7 MCV varchar 10
8 MCH varchar 10
9 MCHC varchar 10
10 RDW_CV varchar 10
11 Trombosit varchar 10
12 Leukosit varchar 10
13 Basofil varchar 10
14 Eosinofil varchar 10
15 Neutrofil varchar 10
16 Limfosit varchar 10
17 Monosit varchar 10
18 LED varchar 10
19 ketHemoglobin text
20 ketHematokrit text
21 ketEntrosit text
22 ketMCV text
23 ketMCH text
24 ketMCHC text
25 ketRDW_CV text
26 ketTrombosit text
27 ketLeukosit text
28 ketBasofil text
29 ketEosinofil text
30 ketNeutrofil text
31 ketLimfosit text
32 ketMonosit text
33 ketLED text
Tabel basis untuk darah digunakan untuk mengisi parameter pemeriksaan darah
yang nantinya akan diinput oleh petugas di klinik.
Tabel 3.3 Basis Data untuk Dokter
NO NAMA FIELD TIPE DATA RANGE
1 dokter_id Int
2 Card_id varchar 20
3 Nama varchar 50
III-17
4 Divisi varchar 50
5 alamat varchar 200
6 Dob Date
7 Sex varchar 20
8 Telp varchar 12
9 Email varchar 50
10 Status varchar 6
11 Password varchar 100
12 foto text
Ketika admin ingin mendaftarkan dokter baru ke dalam sistem maka admin akan
mengisi informasi-informasi dokter tersebut seperti yang ada pada tabel basis
dokter di atas.
Tabel 3.4 Basis Data untuk Pasien
NO NAMA FIELD TIPE DATA RANGE
1 Pasien_id int 11
2 Card_id Varchar 20
3 regdate Date
4 nama varchar 50
5 alamat varchar 200
6 dob Date
7 sex varchar 20
8 ktp varchar 30
9 tinggi varchar 6
10 berat varchar 6
11 telp varchar 13
12 email varchar 50
13 status varchar 6
14 password varchar 100
15 foto Text
16 Dokter_id int 11
17 odontogram varchar 96
18 saldo varchar 100
Ketika admin ingin mendaftarkan pasien baru ke dalam sistem maka admin akan
mengisi informasi-informasi pasien tersebut seperti yang ada pada tabel basis data
pasien di atas.
Tabel 3.5 Basis Data untuk Riwayat Pasien
NO NAMA FIELD TIPE DATA RANGE
1 Id int 11
2 Kode_pemeriksaan varchar 10
III-18
3 Id_pasien varchar 11
4 Nama varchar 50
5 Tanggal Date
6 Bayar Date
7 Pemeriksaan Varchar 50
8 Kesimpulan Text
9 Total Varchar 20
10 status varchar 10
Ketika pasien telah selesai melakukan pemeriksaan maka data-data pemeriksaan
pasien tersebut akan tersimpan di halaman riwayat pasien yang mana di dalamnya
tertera jelas kode pemeriksaan, id pasien, nama pasien, tanggal pemeriksaan, total
bayar, kesimpulan dokter, nama pemeriksaan, hingga status.
Tabel 3.6 Basis Data untuk Pemeriksaan Suhu Tubuh
NO NAMA FIELD TIPE DATA RANGE
1 Id Int 11
2 Status Varchar 10
3 Kode_pemeriksaan Varchar 10
4 Hasil Decimal 10,0
5 keterangan text
Tabel basis pemeriksaan suhu tubuh digunakan untuk mengisi parameter suhu
tubuh pasien jika pasien memilih pemeriksaan tersebut.
Tabel 3.7 Basis Data untuk Tarif
NO NAMA FIELD TIPE DATA RANGE
1 Id Int 11
2 Nama Varchar 50
3 tarif decimal 10,0
Tabel basis data untuk tarif menujukkan kepada pasien berapa biaya pemeriksaan
yang akan dibayar oleh pasien.
Tabel 3.8 Basis Data untuk Pemeriksaan Tensi
NO NAMA FIELD TIPE DATA RANGE
1 Id Int 11
2 Status Varchar 10
3 Kode_pemeriksaan Varchar 10
4 Hasil Varchar 10
5 keterangan text
III-19
Tabel basis data untuk pemeriksaan tensi digunakan untuk mengisi parameter
pemeriksaan tensi jika pasien memilih pemeriksaan tersebut.
Tabel 3.9 Tabel Basis Data untuk Pemeriksaan Urine
NO NAMA FIELD TIPE DATA RANGE
1 Id Int 11
2 Status varchar 10
3 Kode_pemeriksaan varchar 10
4 Warna varchar 20
5 Kerjernihan varchar 20
6 Berat_jenis varchar 20
7 pH varchar 20
8 Leukosit Esterase varchar 20
9 Nitrit varchar 20
10 Albumin varchar 20
11 Glukosa varchar 20
12 Keton varchar 20
13 Urobilinogen varchar 20
14 Bilirubin varchar 20
15 Darah_blood varchar 20
16 Eritrosit varchar 20
17 Leukosit varchar 20
18 Silinder_Hyalin varchar 20
19 Silinder_lain_lain varchar 20
20 Epithel_Gepeng varchar 20
21 Ephitel_Transitional varchar 20
22 Ephitel_Tubulus_Ginjal varchar 20
23 Bakteri varchar 20
24 Kristal_Normal varchar 20
25 Kristal_Abnormal varchar 20
26 Lain_lain varchar 20
27 ketWarna text
28 ketKejernihan text
29 ketBerat_Jenis text
30 ketpH text
31 ketLeukosit_Esterase text
32 ketNitrit text
33 ketAlbumin text
34 ketGlukosa text
35 ketKeton text
36 ketUrobilinogen text
37 ketBilirubin text
38 ketDarah_Blood text
39 ketEritrosit text
III-20
40 ketLeukosit text
41 ketSilinder_Hyalin text
42 ketSilinder_Lain_lain text
43 ketEphitel_Gepeng text
44 ketEphitel _Transitional text
45 ketEphitel_Tubulus_Ginjal text
46 ketBakteri text
47 ketKristal_Normal text
48 ketKristal_Abnormal text
49 ketLain_Lain text
Tabel basis data untuk pemeriksaan urine digunakan untuk mengisi parameter
pemeriksaan urine jika pasien memilih pemeriksaan tersebut.
IV-1
BAB IV
HASIL DAN PEMBAHASAN
IV.1 Halaman Web Site Klinik Unhas
Untuk membuat sebuah sistem Web Site Klinik Unhas terlebih dahulu
dibuatlah source code yaitu util.php dan spesifikasi konsorsium.php (lihat pada
lampiran halaman 54-63) yang memiliki tujuan dalam hal pembacaan smart card.
Setelah kedua source code utama yaitu util.php dan spesifikasi konsorsium.php
dibuat, maka dilakukanlah pembuatan source code lainnya yang bertujuan untuk
menampilkan halaman-halaman Web Site Klinik Unhas. Berikut adalah gambaran
halaman Web Site Klinik Unhas setelah sebelumnya dilakukan perancangan
sistem dan untuk source codenya dapat dilihat pada bagian lampiran halaman 1-
53:
Halaman Utama Web Site Klinik Unhas
Untuk mengakses Web Site Klinik Unhas, ketik www.klinik-
unhas.com pada web browser. Lalu akan muncul seperti gambar 4.1.
Setelah mengakses www.klinik-unhas,com , akan muncul kolom ID,
Password dan Peran pada halaman utama.
IV-2
Gambar 4.1 Halaman Utama Klinik Unhas
Menu Utama Tanpa Ada Reader atau Smart Card
Beginilah tampak halaman Menu Utama Web Site Klinik Unhas,
selama beberapa detik akan loading untuk mengkoneksikan reader dan
smart card. Namun apabila setelah beberapa detik tidak terhubung dengan
reader akan ada keterangan bahwa “tidak ada reader” seperti gambar 4.2.
Dan jika tidak ada smart card pada reader akan muncul keterangan “tidak
ada kartu” seperti gambar 4.3.
Gambar 4.2 Menu Utama Tanpa Ada Reader
IV-3
Gambar 4.3 Menu Utama Tanpa Ada Smart Card
Menu Utama Ada Smart Card
Gambar 4.4 merupakan tampilan halaman menu utama apabila web
site terhubung dengan reader dan juga smart card pasien. Dalam halaman
menu utama ini, muncul profil dan riwayat medis pasien.
Gambar 4.4 Menu Utama Ada Smart Card
IV-4
Rekam Medis
Tampilan halaman web site rekam medis ditujukan untuk melihat
pemeriksaan-pemeriksaan yang telah dilakukan pasien. Di tampilan
halaman tersebut berisikan kode pemeriksaan, nama, tanggal check up,
status, dan detail. Kolom status berfungsi untuk melihat status
pemeriksaan pasien apakah sudah lunas, belum lunas ataukah sudah
selesai. Sedangkan kolom detail untuk melanjutkan pemeriksaan.
Gambar 4.5 Rekam Medis
Jenis-Jenis Pemeriksaan
Dalam halaman ini, terdapat jenis-jenis pemeriksaan yang pasien
dapat pilih seperti suhu tubuh, tensi, darah, urine, sakit kepala, sakit
perut/lambung, asma, batuk/tenggorokan, muntah/berak, diare, nyeri dada,
alergi, dan jenis pemeriksaan emergency. Pada jenis pemeriksaan
emergency ini, dapat dipilih jika pasien memang dalam keadaan darurat
yang membutuhkan petolongan segera. Dan pasien dapat membayar biaya
pengobatannya setelah dilakukan penanganan oleh petugas medis atau
dokter.
IV-5
Gambar 4.6 Jenis-Jenis Pemeriksaan
Parameter dan Hasil Pemeriksaan
Tampilan parameter dan hasil pemeriksaan menampilkan beberapa
kolom seperti suhu dan tensi, darah, urine, fisik, kesimpulan dokter dan
resep dokter yang bertujuan untuk mengisi hasil pemeriksaan beserta
parameter-parameternya.
Gambar 4.7 Parameter dan Hasil Pemeriksaan
IV-6
Top Up
Di halaman Menu Utama Web Site Klinik, terdapat Rekam Medis
pasien dengan berbagai menu tambahan seperti Riwayat, Tindakan dan
Top Up. Menu Top Up itu sendiri bertujuan untuk menambah saldo pada
kartu sesuai keinginan pemegang smart card. Untuk saat ini, jika pasien
ingin menambahkan saldo smart card maka harus menggunakan uang
tunai yang dibayar pada petugas administrasi di Klinik Unhas Gowa.
Gambar 4.8 Top Up
Invoice
Halaman Invoice merupakan Struk Pembayaran dari jenis
pemeriksaan yang telah dilakukan. Invoice ini dapat dicetak maupun tidak,
tergantung kebutuhan pasien.
IV-7
Gambar 4.9 Invoice
Tampilan Chatting pada Halaman Web Admin
Halaman ini berfungsi untuk melakukan konsultasi antara pasien
dengan petugas medis yang sedang berada di Klinik Unhas Gowa. Selain
itu, juga berfungsi jika pasien dalam keadaan darurat dalam hal ini pasien
tidak dapat melakukan pemeriksaan kesehatan di klinik, maka dapat
mengirim pesan darurat ke halaman chatting ini.
Gambar 4.10 Tampilan Halaman Chatting
IV-8
Admin Baru
Gambar 4.11 merupakan halaman untuk pendaftaran petugas
administrasi baru. Di halaman ini, admin akan mengisi nama petugas
administrasi baru, alamat, tanggal lahir, jenis kelamin, nomor telepon atau
handphone, email dan foto. Sedangkan untuk penomoran ID akan terisi
secara otomatis dari sistem.
Gambar 4.11 Admin Baru
Data Admin
Pada halaman Data Admin akan muncul data-data petugas
administrasi Klinik Unhas yang akan bertanggung jawab dalam
mengoperasikan Web Site Klinik Unhas. Di halaman ini hanya akan
muncul kolom nama, alamat, tanggal lahir, nomor telepon, dan detail.
IV-9
Gambar 4.12 Data Admin
Pasien Baru
Untuk mendaftarkan pasien baru, akan muncul halaman seperti ini.
Di dalam halaman pasien baru, data-data yang diperlukan seperti kode
institusi, NIM/NIK/NIDN/NO.Passport, asuransi, peran, nama, kode
organisasi, nama universitas, nama fakultas, nama program studi, foto,
alamat, tanggal lahir, jenis kelamin, email, tinggi, berat, nomor telepon,
dan email. Sebelum mengklik tombol register, pastikan reader dan smart
card sudah tersambung. Sementara untuk pilihan SAM Card Reader dan
USER Card Reader diubah menjadi ACS ACR1281 1S Dual Reader ICC
0. Jika pasien baru yang memiliki NIM/NIK/NIDN/NO.Passport yang
sama dengan pasien yang telah terdaftar maka pasien baru tersebut tidak
dapat melanjutkan pendaftaran.
IV-10
Gambar 4.13 Pasien Baru
Data Pasien
Pada halaman Data Pasien akan muncul data-data pasien Klinik
Unhas. Di halaman ini hanya akan muncul kolom id, nama pasien, alamat,
tanggal lahir, jenis kelamin, nomor telepon, tanggal registrasi, dan detail.
Kolom detail ini berfungsi untuk melihat riwayat rekam medis pasien.
Gambar 4.14 Data Pasie
IV-11
Tampilan Rekam Medis pada Halaman Web Pasien
Pada saat pasien telah login di halaman web site www.klinik-
unhas.com, tampilan Rekam Medis adalah yang paling utama ditampilkan.
Halaman ini berisiskan profile pasien dan rekam medis pasien. Dimana
pada rekam medis terdapat kolom kode pemeriksaan, nama, tanggal check
up, status, dan action. Kolom status berfungsi untuk mengetahui status
pemeriksaan pasien dan status yang terlihat hanya pemeriksaan yang telah
selesai. Sedangkan kolom action terdapat detail yang berfungsi untuk
melihat hasil pemeriksaan, hasil diagnosa pasien dari petugas medis dan
dokter, serta resep dokter.
Gambar 4.15 Rekam Medis pada Halaman Web Pasien
Tampilan Hasil Pemeriksaan dan Resep Dokter pada Halaman Web Pasien
Di halaman ini, pasien akan melihat seluruh hasil pemeriksaan baik yang
dilakukan di dalam klinik dan juga hasil diagnosa dari dokter serta resep
dokter. Pasien tidak memiliki akses untuk mengubah apapun hasil
pemeriksaan dan resep dokter.
IV-12
Gambar 4.16 Tampilan Hasil Pemeriksaan dan Resep Dokter pada
Halaman Web Pasien
Tampilan Ubah Password pada Halaman Web Pasien
Pada halaman ini pasien dapat mengganti password yang terdiri
atas kolom sandi lama, sandi baru, dan ulangi sandi baru.
Gambar 4.17 Halaman Ubah Password Pasien
IV-13
Tampilan Konsultasi Dokter pada Halaman Web Pasien
Di halaman konsultasi dokter, pasien dapat berkonsultasi dengan
admin atau petugas medis yang sedang berada di klinik. Selain itu halaman
ini juga berfungsi jika pasien membutuhkan pertolongan cepat oleh
petugas medis atau dalam kondisi darurat pasien tidak dapat melakukan
pemeriksaan ke klinik, pasien cukup mengetik pesan dan admin beserta
petugas medis lainnya akan segera menuju lokasi pasien.
Gambar 4.18 Konsultasi Dokter pada Halaman Web Pasien
Dokter Baru
Gambar 4.19 merupakan halaman untuk Pendaftaran Dokter Baru.
Di halaman ini, admin akan mengisi nama dokter baru, alamat, tanggal
lahir, jenis kelamin, nomor telepon atau no. hp, email dan foto. Sedangkan
untuk penomoran ID akan terisi secara otomatis oleh sistem.
IV-14
Gambar 4.19 Dokter Baru
Data Dokter
Pada halaman Data Dokter akan muncul data-data dokter yang
akan bertugas memeriksa pasien-pasien di Klinik Unhas. Di halaman ini
hanya akan muncul kolom id, nama dokter, alamat, tanggal lahir dan
nomor telepon.
Gambar 4.20 Data Dokter
IV-15
Tampilan Data Pasien pada Halaman Web Dokter
Gambar 4.21 Merupakan tampilan halaman utama web klinik
setelah dokter melakukan login. Di halaman web ini yang pertama terlihat
ialah data pasien yang telah terdaftar pada Web Site Klinik Unhas sehingga
memudahkan dokter memilih pasien mana yang akan diperiksa
kesehatannya. Dokter hanya perlu mengklik tombol detail pada nama
pasien yang ingin diperiksa.
Gambar 4.21 Tampilan Data Pasien pada Halaman Web Dokter
Tampilan Rekam Medis Pasien pada Halaman Web Dokter
Rekam medis pasien pada halaman web dokter akan terlihat jika
dokter telah mengklik detail. Halaman ini berfungsi untuk melihat riwayat-
riwayat pasien yang telah diperiksa di klinik. Di halaman ini terdapat
kolom status untuk melihat status pasien apakah pasien tersebut sudah
diperiksa atau belum. Dan untuk melanjutkan pemeriksaan, dokter
mengklik action.
IV-16
Gambar 4.22 Tampilan Riwayat Medis Pasien pada Halaman Web Dokter
Tampilan Hasil Diagnosa pada Halaman Web Dokter
Di tampilan hasil diagnosa akan muncul hasil pemeriksaan
petugas medis yang berada di Klinik Unhas pada kolom suhu/tensi dan
fisik seperti Gambar 4.23. Sedangkan gambar 4.24 berisikan kolom
kesimpulan dimana dokter akan mengisi hasil diagnosanya setelah
membaca hasil pemeriksaan dari Klinik Unhas, serta mengisi kolom resep
dokter jika pasien membutuhkan obat untuk penyakitnya. Pada pengisian
ini , dokter harus berhati-hati karena hasil pemeriksaan dan resep dokter
yang telah di ketik dan disimpan tidak dapat diubah lagi.
IV-17
Gambar 4.23 Tampilan halaman pemeriksaan petugas medis di klinik unhas
Gambar 4.24 Tampilan halaman diagnosa dokter
Tampilan Catatan Dokter Pada Halaman Web Dokter
Catatan dokter ini bersifat rahasia sebab hanya dokter yang
menangani pasien tersebut yang dapat membuat catatan rahasia ini. Tidak
ada yang dapat melihat atau membaca catatan ini sekalipun pasien tersebut
hanya dokter yang membuat catatan rahasia dapat melihatnya.
IV-18
Gambar 4.25 Tampilan Catatan Dokter Pada Halaman Web Dokter
Tampilan Menu Ubah Password Pada halaman Web Dokter
Pada halaman ini dokter dapat mengganti password yang terdiri
atas kolom sandi lama, sandi baru, dan ulangi sandi baru.
Gambar 4.26 Tampilan Halaman Ubah Password Dokter
IV-19
IV.2 Alur Sistem Transaksi Di Web Site Klinik Unhas
Gambaran alur sistem transaksi layanan medis di Klinik Unhas yang bertempat di
Gowa adalah sebagai berikut :
Sisi Admin
1. Klik kanan pada ikon XAMPP, lalu pilih Run As Administrator. Setelah
itu pilih Start pada Apache dan MySQL. Lihat pada Gambar 3.5 Installasi
XAMPP.
2. Admin mengakses web site Klinik Unhas yaitu www.klinik-unhas.com
yang tampilan halaman utamanya dapat dilihat pada Gambar 4.1 halaman
IV-2. Admin mengisi kolom ID dan password serta bagian perannya
memilih “administrasi” untuk sign in. Lihat pada Gambar 4.1 Halaman
Utama Klinik Unhas.
3. Pasien menyerahkan smart card pada Admin, lalu admin akan menscan
smart card tersebut dengan menggunakan reader ACS Unified MSI 4060.
Setelah itu data pasien akan terbaca pada menu utama web site seperti
pada Gambar 4.4 halaman IV-3. Pasien akan dibantu admin memilih jenis
pemeriksaan pada bagian tindakan, lalu mengklik Periksa pada bagian
bawah halaman web. Lihat pada Gambar 4.11 halaman IV-8.
4. Setelah itu akan muncul halaman invoice seperti Gambar 4.12. Invoice ini
merupakan rincian biaya pemeriksaan yang telah dipilih oleh pasien. Lalu
klik Bayar untuk melanjutkan pemeriksaan.
5. Setelah melakukan proses pembayaran, klik rekam medis di bagian kiri
pada halaman menu, lalu akan muncul tampilan seperti Gambar 4.5
halaman IV-4. Klik detail pada bagian action untuk melanjutkan proses
pemeriksaan.
6. Setelah dilakukan pemeriksaan, petugas medis akan mengisi kolom
parameter pemeriksaan dan kesimpulan hasil yang dapat dilihat pada
Gambar 4.6 halaman IV-5. Lalu klik Simpan dan pemeriksaan telah
selesai. Jika pasien ingin mencetak hasil pemeriksaannya dapat mengklik
print all.
IV-20
7. Apabila pasien belum pernah melakukan pemeriksaan di Klinik Unhas
sebelumnya, maka admin akan mendaftarkan pasien tersebut terlebih
dahulu sebelum melakukan pemeriksaan dengan cara klik bagian Pasien
Baru lalu mengisi form seperti pada Gambar 4.13 halaman IV-10. Untuk
melanjutkan pemeriksaan, maka melakukan kembali step nomor 3-6.
8. Jika pasien yang bersangkutan tidak memiliki saldo yang cukup untuk
melakukan pemeriksaan, maka dapat mentop-up saldo kartunya pada
bagian Rekam Medis dan memilih Top Up seperti Gambar 4.14 Top Up.
Sisi Dokter
1. Saat dokter ingin melihat hasil pemeriksaan pasien di Klinik Unhas yang
berada di Gowa, dokter mengakses web site www.klinik-unhas.com , lalu
log in dengan ID dan password serta memilih bagian peran dengan
“Dokter” . Lihat pada Gambar 4.1 Halaman Utama Klinik Unhas.
2. Setelah log in akan mucul tampilan Data Pasien seperti Gambar 4.21 yang
telah diperiksa oleh petugas medis di Klinik Unhas Gowa. Dokter
kemudian memilih pasien mana yang akan diperiksa lalu klik detail.
3. Rekam Medis pasien yang telah dipilih akan muncul setelah dokter
mengklik detail. Lalu memilih kode pemeriksaan apa yang akan diperiksa
dengan cara mengklik detail.
4. Setelah itu akan muncul parameter hasil pemeriksaan dan kesimpulan
awal dari petugas medis yang bertugas di Klinik Unhas Gowa yang dapat
dilihat pada Gambar 4.23 halaman IV-17.
5. Untuk memberikan diagnosa, dokter mengisi kolom kesimpulan dokter
dan resep dokter. Lalu klik simpan, dan pemeriksaan dokter telah selesai.
Perlu diketahui jika kolom kesimpulan dokter dan resep dokter telah
disimpan maka tidak dapat diubah lagi.
6. Jika dokter mempunyai catatan yang bersifat rahasia mengenai pasien
tersebut, dokter dapat mengisinya di kolom catatan dokter. Catatan rahasia
ini tidak dapat diubah lagi. Diharapkan kepada dokter yang ingin mengisi
catatan dokter tersebut berhati-hati dalam mengisi diagnosanya.
IV-21
7. Gambar 4.25 halaman IV-18 adalah tampilan halaman profil dokter. Pada
halaman ini dokter dapat mengganti password jika diperlukan.
Sisi Pasien
1. Saat Pasien ingin melihat hasil pemeriksaannya kembali (sedang tidak
berada di klinik), pasien dapat mengakses web site www.klinik-unhas.com
, lalu log in dengan ID dan password serta memilih bagian peran dengan
“Pasien” . Lihat pada Gambar 4.1 Halaman Utama Klinik Unhas.
2. Setelah log in maka akan muncul tampilan Rekam Medis pasien seperti
pada Gambar 4.15. Klik Detail pada kolom action untuk melihat hasil
pemeriksaan dan resep dokter yang dapat dilihat pada Gambar 4.16
halaman IV-12.
3. Apabila pasien ingin berkonsultasi dengan dokter yang sedang berada di
klinik ataupun di luar klinik, maka pasien dapat mengklik menu konsultasi
dokter seperti Gambar 4.18.
IV.3 Operasi Pengujian Sistem
Pada sistem web www.klinik-unhas.com hingga saat ini telah dilakukan
pengujian dengan mendaftar pasien baru sebanyak 10 orang dan telah berhasil
terdaftar sebagai pasien. Ketika admin berhasil mendaftarkan pasien pada sistem
maka akan muncul dua comments seperti gambar di bawah ini.
Gambar 4.27 Comment Sukses Tulis Kartu
IV-22
Gambar 4.28 Comment Pasien Berhasil Diregister
Apabila ada salah satu comment tidak muncul artinya ada kesalahan saat proses
registrasi. Berikut tabel pengujian sistem pada 10 pasien hingga selesainya
pemeriksaan.
Tabel 4.1 Tabel Pengujian Sistem
NO ID NAMA PASIEN KETERANGAN
1 8691463827 Aisyah Nurjannah Suyuti Berhasil
2 8119499516 Rahmat Rizaldi Berhasil
3 2711542334 Andi Arung Berhasil
4 1323669199 Wardah Berhasil
5 6271528588 Henry Pasodung Berhasil
6 3943917936 Elyas Palantei, M.Eng, PhD Berhasil
7 4656358962 Dr.Eng.Ir.Dewiani, MT Berhasil
8 6287881533 Prof. Andani Ahmad, MT Berhasil
9 3851657666 Galang Ananta Putra Berhasil
10 1258354995 Misa Amira Azwar Berhasil
Sebanyak 10 pasien telah terdaftar sebagai pasien di Web Site Klinik
Unhas Gowa dan sudah berhasil melakukan transaksi pembayaran dan
IV-23
pemeriksaan hingga selesai. Pemeriksaan ini dilakukan oleh peneliti dan juga
sebanyak 5 orang mahasiswa dan pegawai Fakultas Teknik Gowa telah mencoba
melakukan pendaftaran pasien serta transaksi pemeriksaan sesuai Langkah-
Langkah Pengoperasian Sistem Web Site Klinik Unhas yang ada pada lampiran
halaman 69.
Tabel 4.2 Pengujian Sistem Web Site Klinik Unhas Selain Peneliti
NO NAMA STATUS KETERANGAN
1 Andi Muhammad Arung Mahasiswa Berhasil
2 Henry Pasodung Mahasiswa Berhasil
3 Aisyah Nurjannah Suyuti Mahasiswa Berhasil
4 Wardah Mahasiswa Berhasil
5 Zulkifli Sam Alumni Berhasil
6 Nompo Pegawai Berhasil
Selain itu, dibutuhkan jaringan internet berkonektivitas cepat agar
memudahkan mengakses Web Site Klinik Unhas. Koneksivitas internet yang cepat
berpengaruh terhadap waktu, provider yang digunakan, dan tempat saat
mengakses internet. Apabila waktu pemakaian internet tinggi dan tempat yang
tidak mendukung adanya jaringan provider yang baik maka untuk mengakses
Web Site Klinik Unhas terkadang lambat. Oleh karena itu, dilakukan pengujian
kecepatan jaringan uplink dan downlink pada provider Xl, Simpati, WiFi
Indihome dan WiFi Teknik Unhas Gowa di berbagai tempat untuk mengetahui
kecepatan setiap provider dalam mengakses Web Site Klinik Unhas. Berikut
adalah tabel pengujian kecepatan internet.
IV-24
Tabel 4.3 Pengujian Kecepatan Internet
NO. TEMPAT PROVIDER WAKTU DOWNLINK UPLINK
1
Fakultas Teknik
Gowa
Universitas
Hasanuddin
WiFi Teknik 14.40
Wita 0,71 Mbps 0,56 Mbps
XL 14.42
Wita 0,23 Mbps 0,69 Mbps
Simpati 14.50
Wita 0,02 Mbps 0,16 Mbps
2 Jalan Sunu
Kompleks Unhas
WiFi IndiHome 18.11
Wita 20,37 Mbps 2,94 Mbps
XL 17.56
Wita 1,40 Mbps 1,11 Mbps
Simpati 18.06
Wita 8,01 Mbps 6,14 Mbps
3
Jalan Kakatua
Asrama
Mattoangin
XL 09.28
Wita 2.29 Mbps 8.06 Mbps
Simpati 09.50
Wita 18.87 Mbps 4.89 Mbps
4
Dunkin Donuts,
Jalan Sultas
Hasanuddin
WiFi 19.15
Wita 2.39 Mbps 0.59 Mbps
Setelah diketahui kecepatan downlink dan uplink masing-masing provider
dalam mengakses Web Site Klinik Unhas, maka perlu juga diketahui apakah jarak
antara dokter dan pasien dalam mengakses Web Site Klinik Unhas mempengaruhi
berhasil tidaknya proses pemeriksaan di web site pada waktu yang sama. Berikut
tabel pengujian jarak antar dokter dengan pasien.
IV-25
Tabel 4.4 Pengujian Jarak Dokter dengan Pasien
NO.
NAMA
DOKTER
BESERTA
ID
LOKASI
DOKTER
NAMA
PASIEN
BESERTA
ID
LOKASI
PASIEN
JARAK
LOKASI
DOKTER
DAN
PASIEN
KETERANGAN
1.
dr. Idar
Mappangara,
Sp.PD, Sp.JP
(2135293622)
Jalan Sunu
Kompleks
Unhas
Misa Amira
Azwar
(1258354995)
Jalan Sunu
Kompleks
Unhas
0 Km Berhasil
2.
Dr. dr. Fardah
Akil, Sp.PD,
K-GEH
(2981376581)
Jalan Sunu
Kompleks
Unhas
Galang
Ananta Putra
(3851657666)
Jalan
Kakatua
Asrama
Mattoangin
6,7 Km Berhasil
3.
Dr. dr. Fardah
Akil, Sp.PD,
K-GEH
(2981376581)
Dunkin
Donuts,
Jalan Sultas
Hasanuddin
Aisyah
Nurjannah
Suyuti
(9153158336)
Jalan Sunu
Kompleks
Unhas
4,1 Km Berhasil
4.
dr. Idar
Mappangara,
Sp.PD, Sp.JP
(2135293622)
Fakultas
Teknik
Gowa
Universitas
Hasanuddin,
Jalan Poros
Malino
Rahmat
Rizaldi
(9219943269)
Jalan Sunu
Kompleks
Unhas
20,3 Km Berhasil
5.
Dr. dr. Harun
Iskandar,
Sp.P (K),.
Sp.PD, Sp.P
(K)
(1614964488)
Jalan
Kakatua
Asrama
Mattoangin
Andi
Muhammad
Arung
(8592884983)
Fakultas
Teknik
Gowa
Universitas
Hasanuddin,
Jalan Poros
Malino
14,1 Km Berhasil
Dari pengujian jarak yang telah dilakukan, semua pemeriksaan berhasil
dilakukan maka dapat disimpulkan bahwa pemeriksaan ini dapat dilakukan antara
pasien dan dokter baik dekat maupun jauh sehingga memudahkan pasien dalam
memeriksakan kesehatannya.
IV-26
IV.4 Perbandiangan Kelebihan Sistem Web Site Klinik Unhas dengan
Aplikasi Kesehatan Lainnya.
Terdapat berbagai macam aplikasi mengenai kesehatan, seperti halnya
aplikasi mengenai cara berkonsultasi dengan dokter, artikel-artikel tentang
kesehatan, dan apotek antar. Tetapi dengan banyaknya aplikasi seperti itu,
masyarakat juga ingin memeriksa kesehatannya secara langsung atau face-to-face
dengan petugas medis. Dengan adanya Klinik Unhas yang bertempat di Kampus
Fakultas Teknik Unhas Gowa ini maka akan menjadi sarana yang tepat untuk
memeriksa kesehatan apalagi untuk mahasiswa, dosen, dan staff Fakultas Teknik
yang memiliki kesulitan dalam hal mengakses rumah sakit. Berikut kelebihan
aplikasi-aplikasi kesehatan dan Web Site Klinik Unhas.
Tabel 4.5 Perbandiangan Kelebihan Sistem Web Site Klinik Unhas dengan
Aplikasi Kesehatan Lainnya.
NO. APLIKASI KESEHATAN LAINNYA WEBSITE KLINIK
UNHAS
1. GoDoc : Tanya Dokter Gratis
Menyediakan layanan kesehatan
profesional dengan membuka portal
Setiap dokter umum dan dokter spesialis
Go Dok yang berasal dari berbagai kota
besar di Indonesia yang teregristasi di IDI
dan memiliki pengalaman selama bertahun-
tahun sebagai dokter praktek baik di rumah
sakit maupun klinik kesehatan.
Layanan kesehatan yang ditawarkan Go
Doc bebas dari pungutan biaya apapun
Sistem Web Site Klinik
Unhas dapat
menyimpan rekam
medis pasien dalam
jangka waktu yang
lama.
Memiliki fitur Chatting
untuk memudahkan
pasien dalam
berkonsultasi dengan
pihak klinik dan
petugas medis. Dan
IV-27
2. Apa Sakitku?
Menyediakan informasi berbagai penyakit
yang ada di tubuh manusia dengan cara
memasukkan info keluhan kesehatan user.
Di Aplikasi ApaSakitKu, kita dapat
berkonsultasi dengan dokter untuk
menanyakan penyakit dan biayanya pun
gratis. Tapi kekurangannya adalah dokter
jarang online.
Terdapat juga fitur maps untuk
mengetahui sarana pelayanan kesehatan
yang ada di sekitar kita. Sarana pelayanan
kesehatan yang bisa dideteksi adalah lokasi
praktik dokter, klinik umum, klinik gigi,
rumah sakit dan apotek yang berada di
sekitar lokasi Anda.
Diaplikasi ApaSakitKu juga terdapat
artikel-artikel kesehatan.
jika terjadi hal-hal
darurat maka petugas
medis dapat segera
menuju ke lokasi
pasien.
Pasien dapat
memeriksakan
kesehatnnya di klinik
yang akan ditangani
langsung oleh petugas
medis dan dapat
melakukan
pemeriksaan
laboratorium seperti
Tes Urine Rutin dan
Darah.
Proses Pembayaran
juga sangat mudah
dengan menggunakan
smart card yang mana
smartcard tersebut
berupa Kartu
Mahasiswa, Kartu
Dosen, maupun Kartu
Pegawai yang
terintegrasi dengan
layanan yang ada
kantin, perpustakaan
dan Bus BRT.
3. Alodokter: Chat Bersama Dokter
Berbincang langsung bersama dokter
secara gratis melalui chat.
Aplikasi ini berisi informasi tentang
ratusan penyakit, obat, dan gejala berbagai
penyakit.
Aplikasi ini mempunyai majalah Alodokter
guna mendapatkan informasi tentang
kesehatan, kesejahteraan, dan keluarga.
IV-28
4. Halo Doc
Aplikasi ini memudahkan pasien untuk
berkonsultasi dengan dokter melalui via
chatting, voice call, dan video call tetapi
pasien harus membayar biaya konsultasi.
HaloDoc juga menyediakan menu Apotek
Antar (Pharmacy Delivery) untuk memesan
kebutuhan obat atau vitamin dan diantar
langsung ke rumah dengan cepat, aman,
dan nyaman.
Mahasiswa yang
memiliki asuransi
kesehatan tidak perlu
membayar biaya
pemeriksaan di Klinik
Unhas (gratis).
Dokter Spesialis yang
mendiagnosa pasien
dapat memberikan
resep obat sesuai
dengan penyakit yang
diderita pasien dan
resep tersebut
tersimpan pada rekam
medis.
Berdasarkan tabel 4.4 dapat disimpulkan bahwa Web Site Klinik Unhas
yang peneliti rancang memiliki perbedaan dengan aplikasi-aplikasi kesehatan
yang saat ini sudah ada di Indonesia. Web Site ini peneliti rancang dengan tujuan
untuk mendukung peran smart campus Fakultas Teknik Gowa. Kedepannya, web
site yang terhubung dengan smart card ini akan menjadi kartu multifungsi dalam
artian tidak hanya dapat dipakai pada Klinik Unhas Gowa, melainkan dapat pula
digunakan pada sarana lain seperti kantin, perpustakaan, maupun pada bus BRT
yang ada pada Fakultas Teknik Gowa.
V-1
BAB V
PENUTUP
V.1 Kesimpulan
Setelah penelitian dilakukan maka dapat disimpulkan sebagai berikut:
1. Monitoring kesehatan jarak jauh pada sistem Web Site Klinik Unhas
dengan cara melihat parameter hasil pemeriksaan pasien yang diinput
langsung oleh admin atau petugas medis klinik dan selanjutnya dokter
yang tidak berada di klinik dapat memberikan diagnosa dan resep obat
sesuai dengan parameter hasil pemeriksaan pasien tersebut.
2. Konsultasi antara petugas medis atau admin di klinik dengan pasien dapat
dilakukan melalui fitur chatting pada Web Site Klinik Unhas sehingga
memudahkan dalam berkonsultas jikalau pasien mengalami keadaan
darurat yang tidak memungkinkan untuk mengunjungi klinik.
3. Pengelolaan dan penyimpanan database PHPmyAdmin dilakukan oleh
admin secara online.
4. Web Site Klinik Unhas dapat diakses oleh admin, pasien, dan dokter di
mana saja selama masih terhubung dengan internet sehingga pemantauan
dan konsultasi dapat dilakukan di manapun.
5. Sistem pembayaran, top up saldo kartu, dan penyimpanan data medis
pasien di Web Site Klinik Unhas dengan cara menggunakan smart card.
6. Pasien yang memiliki asuransi kesehatan tidak perlu membayar biaya
pemeriksaan di klinik.
7. Pasien yang mengalami keadaan darurat seperti halnya kecelakan dapat
dilakukan pemeriksaan terlebih dahulu tanpa melalui proses administrasi.
V-2
V.2 Saran
Untuk pengembangan lebih lanjut dari skripsi ini diberikan beberapa saran
sebagai berikut :
1. Sistem pembayaran pada Web Site Klinik Unhas kedepannya dapat diganti
dengan mengintegrasikan akun bank dan sistem yang telah ada sehingga
tidak perlu lagi menggunakan uang tunai.
2. Untuk menghasilkan sistem telemedis interaktif yang lebih berkualitas,
maka penelitian selanjutnya harus memperhatikan aspek penting seperti
keamanan data rekam medik pasien dan juga hal-hal penting lainnya yang
berhubungan dengan rumah sakit maupun klinik.
DAFTAR PUSTAKA
[1] Amil A. Ilham, Elyas Palantei, Santi, “Optimasi Sistem Basis Data Pada
Komputasi Mobile Dalam Jaringan Telemedis Interaktif,” Universitas
Hasanuddin Makassar, 2014.
[2] V. Mustafa Sarinanto, Afrias Sarotama, “Pengembangan program smart
card pada rumah sakit.”
[3] Donny, “IMPLEMENTASI APLIKASI SMART HEALTH PADA
SMART CARD UI BERBASIS JAVACARD,” pp. 19–24, 2008.
[4] V. R. Kumar, S. Dayanidhi, and K. Vignesh, “Health Care Recording
System Using Smart Card Technology,” vol. 3, no. 3, pp. 1697–1699,
2016.
[5] S. Hussain, T. Ariyachandra, and M. Frolick, “Patient Healthcare Smart
Card System : A Unified Medical Record for Access and Analytics,” 2016
Proc. Conf. Inf. Syst. Appl. Res., pp. 1–14, 2016.
[6] B. T. Joko, “Manfaat Telemedicine bagi Masyarakat,” 2016.
[7] A. Pusparini, “PERBANDINGAN MEDIA TRANSMISI WIRELESS
DAN SATELITE,” no. 9061002004, 2009.
[8] E. Nurmiati, U. Islam, N. Syarif, and H. Jakarta, “Analisis Dan
Perancangan Web Server Pada,” vol. 5, no. 2, pp. 1–17, 2012.
[9] D. Setiawan, R. Setiawan, R. Karunia, and I. W. S. Wicaksana,
“Membandingkan Kinerja Web Browser,” Web Brows., pp. 1–6, 2009.
[10] A. Solichin, “Pemrograman Web dengan PHP dan MySQL,” Jakarta, 2005.
[11] R. Sovia and J. Febio, “Membangun Aplikasi E-Library Menggunakan
Html, Php Script, Dan Mysql Database,” J. Teknol. Inf. Pendidik., vol. 3,
x
no. 1, pp. 86–101, 2011.
[12] M. S. Al-ani, “Billing System Design Based on Internet Environment,” vol.
3, no. 9, pp. 224–230, 2012.
[13] “iRFC1-
SpesifikasiDataMappingInteroperabilitasBerbasisSmartCardUntukFungsiN
on-FinansialAntarLembagaPendidikanDiIndonesia.” Konsorsium Smart
Card Indonesia.
[14] Amil A. Ilham, Elyas Palantei, dan Santi. Pengembangan Tampilan Visual
Data Medis Pada Jaringan Telemedis Interaktif. Program Studi Teknik
Elektro Konsentasi Teknik Informatika, Fakultas Teknik Universitas
Hasanuddin. Makassar, 2014.
LAMPIRAN
1 | L a m p i r a n
1. Source Code Halaman Utama Web Site Klinik Unhas
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Klinik | Universitas Hasanuddin</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-
scalable=no" name="viewport">
<!-- Bootstrap 3.3.7 -->
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="bower_components/font-awesome/css/font-
awesome.min.css">
<!-- Ionicons -->
<link rel="stylesheet" href="bower_components/Ionicons/css/ionicons.min.css">
<!-- Theme style -->
<link rel="stylesheet" href="dist/css/AdminLTE.min.css">
<!-- iCheck -->
<link rel="stylesheet" href="plugins/iCheck/square/blue.css">
<link rel="icon" type="image/png" href="dist/img/favicon.png">
<!-- 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/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Google Font -->
<link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300ita
lic,400italic,600italic">
</head>
<body class="hold-transition" background='dist/img/photo1.jpg'>
<div class="login-box">
<div class="login-logo">
<a href="index.php"><b>Rekam</b> Medis</a>
</div>
<!-- /.login-logo -->
<div class="login-box-body" style="opacity:0.9">
2 | L a m p i r a n
<?php include 'db_access/login.php';?>
<p class="login-box-msg">Silakan Login</p>
<form action="#" method="post">
<div class="form-group has-feedback">
<input type="text" class="form-control" placeholder="Masukkan ID Anda"
name="id" onkeypress="return isNumber(event)" required>
<span class="glyphicon glyphicon glyphicon-user form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" class="form-control" name = "pass"
placeholder="Masukkan Password" required>
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-8">
<div class="form-group has-feedback">
<select class="form-control" name="role" id="role" onChange="btn()">
<option disabled selected>Peran</option>
<option value="dokter">Dokter</option>
<option value="admin">Administrasi</option>
<option value="pasien">Pasien</option>
</select>
<span class="glyphicon form-control-feedback"></span>
</div>
</div>
<div class="col-xs-4">
<button type="submit" name="login" id="login" class="btn btn-primary btn-block
btn-flat" disabled>Sign In</button>
</div>
<!-- /.col -->
</div>
</form>
</div>
<!-- /.login-box-body -->
</div>
<!-- /.login-box -->
<!-- jQuery 3 -->
<script src="bower_components/jquery/dist/jquery.min.js"></script>
<!-- Bootstrap 3.3.7 -->
<script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
3 | L a m p i r a n
<!-- iCheck -->
<script src="plugins/iCheck/icheck.min.js"></script>
<script>
$(function () {
$('input').iCheck({
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
increaseArea: '20%' // optional
});
});
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
function btn()
{
if(document.getElementById("role").value!="")
document.getElementById("login").disabled=false;
else
document.getElementById("login").disabled=true;
}
</script>
</body>
</html>
2. Source Code Write Card
<?php
require_once('util.php');
require_once('spesifikasi_konsorsium.php');
if (!extension_loaded('pcsc')) {
//dl('pcsc.so');
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
4 | L a m p i r a n
$nama_card_reader = $_POST['card_reader'];
//$nama_sam_reader = $_POST["sam_reader"];
$context_card = scard_establish_context();
//$context_sam = scard_establish_context();
$conn_card = scard_connect($context_card, $nama_card_reader,
SCARD_PROTOCOL_T0);
//$conn_sam = scard_connect($context_sam, $nama_sam_reader,
SCARD_PROTOCOL_T0);
// Select MF
$apdu = "00 A4 00 00 02 3F 00";
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
if($resp['sw1'] == NULL && $resp['sw2'] == NULL){
scard_disconnect($conn_card);
$output = array("status" => "error", "reason" => "Kartu Tidak Terpasang");
echo array2json($output);
die;
}
// Select DF
$apdu = "00 A4 00 00 02 10 01";
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
$field_map = "";
$length_map = "";
$data1 = "";
if(isset($_POST["local_card_id"])){
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($_POST["local_card_id"]));
$data1 .= $_POST["local_card_id"];
} else {
$field_map .= "0";
$length_map .= "0000";
}
if(isset($_POST["kode_institusi"])){
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($_POST["kode_institusi"]));
$data1 .= $_POST["kode_institusi"];
} else {
5 | L a m p i r a n
$field_map .= "0";
$length_map .= "0000";
}
if(isset($_POST["nomor_identitas"])){
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($_POST["nomor_identitas"]));
$data1 .= $_POST["nomor_identitas"];
} else {
$field_map .= "0";
$length_map .= "0000";
}
if(isset($_POST["nama_lengkap"])){
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($_POST["nama_lengkap"]));
$data1 .= $_POST["nama_lengkap"];
} else {
$field_map .= "0";
$length_map .= "0000";
}
if(isset($_POST["kode_organisasi"])){
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($_POST["kode_organisasi"]));
$data1 .= $_POST["kode_organisasi"];
} else {
$field_map .= "0";
$length_map .= "0000";
}
if(isset($_POST["nama_universitas"])){
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($_POST["nama_universitas"]));
$data1 .= $_POST["nama_universitas"];
} else {
$field_map .= "0";
$length_map .= "0000";
}
if(isset($_POST["nama_fakultas"])){
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($_POST["nama_fakultas"]));
$data1 .= $_POST["nama_fakultas"];
6 | L a m p i r a n
} else {
$field_map .= "0";
$length_map .= "0000";
}
if(isset($_POST["nama_prodi"])){
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($_POST["nama_prodi"]));
$data1 .= $_POST["nama_prodi"];
} else {
$field_map .= "0";
$length_map .= "0000";
}
if(isset($_POST["peran"])){
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($_POST["peran"]));
$data1 .= $_POST["peran"];
} else {
$field_map .= "0";
$length_map .= "0000";
}
if(isset($_POST["icao_primer"])){
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($_POST["icao_primer"]));
$icao1 = $_POST["icao_primer"];
// Select EF
$apdu = "00 A4 00 00 02 01 02";
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
// Write ICAO Primer
$apdu = "00 D0 00 00 " . dec2hex(strlen($icao1)) . " " . asc2hex($icao1);
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
} else {
$field_map .= "0";
$length_map .= "0000";
}
if(isset($_POST["icao_sekunder"])){
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($_POST["icao_sekunder"]));
$icao2 = $_POST["icao_sekunder"];
// Select EF
$apdu = "00 A4 00 00 02 01 03";
7 | L a m p i r a n
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
// Write ICAO Sekunder
$apdu = "00 D0 00 00 " . dec2hex(strlen($icao2)) . " " . asc2hex($icao2);
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
} else {
$field_map .= "0";
$length_map .= "0000";
}
// Foto
$filename = 'dist/img/foto.jpg';
if(!file_exists($filename)){
$filename = 'dist/img/person.jpg';
}
$fp = fopen($filename, 'r');
$i = 0;
while (!feof($fp)) {
$foto_arr[$i] = bin2hex(fread($fp,1));
$i++;
}
fclose($fp);
array_pop($foto_arr);
// unlink('/home/smartcard/apps/uploads/foto.jpg');
$totalLen = count($foto_arr);
$field_map .= "1";
$length_map .= lengthMapGenerator($totalLen);
// Foto
$loop = intval($totalLen / 51);
$remainder = dec2hex($totalLen % 51);
$offset = "0000";
$strOffset = 0;
$str = "";
// Select EF
$apdu = "00 A4 00 00 02 01 04";
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
while($loop != 0){
$part = implode("", array_slice($foto_arr, $strOffset, 51));
8 | L a m p i r a n
$str .= $part;
$getDataApdu = "00 D0 " . $offset . " 33 " . $part;
$resp = parseAPDU(scard_transmit2($conn_card, $getDataApdu), $getDataApdu);
$offset = changeOffset($offset, "33");
$strOffset += 51;
$loop -= 1;
}
$part = implode("", array_slice($foto_arr, $strOffset, $totalLen % 51));
$str .= $part;
$getDataApdu = "00 D0 " . $offset . " " . $remainder . $part;
$resp = parseAPDU(scard_transmit2($conn_card, $getDataApdu), $getDataApdu);
$odontogram =
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa";
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($odontogram));
// Select EF
$apdu = "00 A4 00 00 02 01 05";
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
// Write Odontogram
$apdu = "00 D0 00 00 " . dec2hex(strlen($odontogram)) . " " .
asc2hex($odontogram);
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
$saldo = "0000000000";
$field_map .= "1";
$length_map .= lengthMapGenerator(strlen($saldo));
// Select EF
$apdu = "00 A4 00 00 02 01 06";
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
// Write Odontogram
$apdu = "00 D0 00 00 " . dec2hex(strlen($saldo)) . " " . asc2hex($saldo);
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
// Write Data1
$totalLen = strlen($data1);
$loop = intval($totalLen / 51);
$remainder = dec2hex($totalLen % 51);
$offset = "0000";
$strOffset = 0;
// Select EF
9 | L a m p i r a n
$apdu = "00 A4 00 00 02 01 01";
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
while($loop != 0){
$part = substr($data1, $strOffset, 51);
$getDataApdu = "00 D0 " . $offset . " 33 " . asc2hex($part);
$resp = parseAPDU(scard_transmit2($conn_card, $getDataApdu), $getDataApdu);
$offset = changeOffset($offset, "33");
$strOffset += 51;
$loop -= 1;
}
$part = substr($data1, $strOffset, $totalLen % 51);
$getDataApdu = "00 D0 " . $offset . " " . $remainder . asc2hex($part);
$resp = parseAPDU(scard_transmit2($conn_card, $getDataApdu), $getDataApdu);
// update field map & length map
$field_map .= "0000000000";
$length_map .= "0000000000000000000000000000000000000000";
$fm_lm = fieldMapGenerator($field_map) . $length_map;
// Select EF
$apdu = "00 A4 00 00 02 01 00";
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
// Write Field Map + Length Map
$apdu = "00 D0 00 00 33 " . $fm_lm;
$resp = parseAPDU(scard_transmit2($conn_card, $apdu), $apdu);
scard_disconnect($conn_card);
$output = array("status" => "ok");
echo array2json($output);
}
?>
3. Source Code Pasien
<?php include 'header.php';
include 'db_access/pasien.php';?>
<?php
$sesiumum = "disabled";
10 | L a m p i r a n
$sql="SELECT * FROM riwayat WHERE id_pasien = '$local_card_id'
ORDER BY id DESC";
if ($_SESSION['role'] == "Pasien") {
$sesiumum = "disabled";
}
if ($_SESSION['role'] != "Admin") {
$sql="SELECT * FROM riwayat WHERE id_pasien =
'$local_card_id' AND status='selesai' ORDER BY id DESC";
$sesiumum = "disabled";
}
?>
<!-- Sidebar Menu -->
<ul class="sidebar-menu" data-widget="tree">
<!-- Optionally, you can add icons to the links -->
<?php
if ($_SESSION['role'] != "Pasien") {
echo "<li><a href='home.php'><i class='fa fa-home'></i> <span>Menu
Utama</span></a></li>";
}?>
<?php if ($_SESSION['role'] == "Admin") {
echo "
<li class='treeview'>
<a href='#'><i class='fa fa-user'></i> <span>Admin</span>
<span class='pull-right-container'>
<i class='fa fa-angle-left pull-right'></i>
</span>
</a>
<ul class='treeview-menu'>
<li><a href='admin_baru.php'><i class='fa fa-user-plus'></i> Admin
Baru</a></li>
<li><a href='data_admin.php'><i class='fa fa-users'></i> Data Admin</a></li>
</ul>
</li>"; }
?>
<li class="treeview active">
<a href="#"><i class="fa fa-user"></i> <span>Pasien</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
11 | L a m p i r a n
</a>
<ul class="treeview-menu">
<?php if ($_SESSION['role'] == "Admin") {
echo "
<li><a href='pasien_baru.php'><i class='fa fa-user-plus'></i> Pasien
Baru</a></li>";}?>
<?php if ($_SESSION['role'] != "Pasien") {
echo "<li class='treeview active'>
<a href='data_pasien.php'><i class='fa fa-user'></i> Data Pasien
<span class='pull-right-container'>
<i class='fa fa-angle-left pull-right'></i>
</span>
</a>
<ul class='treeview-menu'>
<li class='active'><a href='detail_pasien.php'><i class='fa fa-medkit'></i>
Rekam Medis</a></li>
</ul>
</li>
";}?>
</ul>
<?php if ($_SESSION['role'] == "Admin") {
echo "
<li class='treeview'>
<a href='#'><i class='fa fa-user-md'></i> <span>Dokter</span>
<span class='pull-right-container'>
<i class='fa fa-angle-left pull-right'></i>
</span>
</a>
<ul class='treeview-menu'>
<li><a href='dokter_baru.php'><i class='fa fa-user-plus'></i> Dokter
Baru</a></li>
<li><a href='data_dokter.php'><i class='fa fa-users'></i> Data
Dokter</a></li>
</ul>
</li>
</ul>";
}?>
<!-- /.sidebar-menu -->
</section>
<!-- /.sidebar -->
</aside>
12 | L a m p i r a n
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper" id="loading">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Rekam Medis
<small>Rekam medis smartcard.</small>
</h1>
<ol class="breadcrumb">
<li class="active"><a href="home.php"><i class="fa fa-user"></i> Pasien</a></li>
<li><a href="data_pasien.php"><i class="fa fa-user"></i> Data Pasien</a></li>
<li class="active"> <i class="fa fa-medkit"></i> Rekam Medis</li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-md-3">
<!-- Profile Image -->
<div class="box box-primary">
<div class="box-body box-profile">
<img class="profile-user-img img-responsive img-circle" src="<?php echo $foto
?>" alt="User profile picture">
<h3 class="profile-username text-center"><?php echo $nama_lengkap?></h3>
<p class="text-muted text-center"><?php echo $local_card_id?></p>
<ul class="list-group list-group-unbordered">
<li class="list-group-item">
<i class="fa fa-birthday-cake"></i><b> Usia</b> <a class="pull-
right"><?php echo $dob?></a>
</li>
<li class="list-group-item">
<i class="fa fa-venus-mars"></i><b> Sex</b> <a class="pull-right"><?php
echo $sex?></a>
</li>
<li class="list-group-item">
<i class="fa fa-male"></i><b> Tinggi</b> <a class="pull-right"><?php echo
$tinggi?></a>
13 | L a m p i r a n
</li>
<li class="list-group-item">
<i class="fa fa-tachometer"></i><b> Berat</b> <a class="pull-right"><?php
echo $berat?></a>
</li>
<li class="list-group-item">
<i class="fa fa-calendar-check-o"></i><b> Member Sejak</b> <a
class="pull-right"><?php echo $regdate?></a>
</li>
<li class="list-group-item">
<i class="fa fa-history"></i><b> Status</b> <a class="pull-right"><?php
echo $status?></a>
</li>
</ul>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
<!-- About Me Box -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">About Me</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<strong><i class="fa fa-map-marker margin-r-5"></i> Alamat</strong>
<p class="text-muted"><?php echo $alamat ?></p>
<hr>
<strong><i class="fa fa-phone margin-r-5"></i> Telp</strong>
<p class="tect-muted">
<?php echo $telp ?>
</p>
<hr>
<strong><i class="fa fa-envelope margin-r-5"></i> eMail</strong>
14 | L a m p i r a n
<p class="tect-muted">
<?php echo $email ?>
</p>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
<div class="col-md-9">
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active"><a href="#riwayat" data-toggle="tab">Riwayat</a></li>
<?php if ($_SESSION['role'] == "Admin") {
echo "<li><a href='#tindakan' data-
toggle='tab'>Tindakan</a></li>";}?>
<?php if ($_SESSION['role'] == "Pasien") {
echo "<li><a href='#password' data-toggle='tab'>Update
Password</a></li>";}?>
</ul>
<div class="tab-content">
<div class="tab-pane" id="tindakan">
<style>
.example-modal .modal {
position: relative;
top: auto;
bottom: auto;
right: auto;
left: auto;
display: block;
z-index: 1;
}
.example-modal .modal {
background: transparent !important;
}
</style>
<div class="row">
<div class="col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
15 | L a m p i r a n
<h3 class="box-title">Pilih Pemeriksaan</h3>
<span class="box-title pull-right" id="sumcekup"> 0</span>
<span class="box-title pull-right">Total = Rp. </span>
</div>
<div class="box-body">
<form action="#" method="post" name="cekup" id="formcekup">
<div class="modal-body col-xs-12">
<div class="col-xs-4">
<ul class="modal-ul">
<?php
include 'koneksi.php';
$sqltarif = "SELECT * FROM tarif";
$querytarif = mysqli_query($conn, $sqltarif);
while ($row = mysqli_fetch_assoc($querytarif)) {
$id = $row['id'];
$nama = $row['nama'];
$tarif = $row['tarif'];
echo "<li class='modal-li'>
<input type='checkbox' id='tarif$id' name='cekup[]' value='$id|$tarif|$nama'
class='$id'/>
<label for='$nama' class='modal-label'>$nama</label></li>
<script>
$('#tarif$id').change(function() {
if($(this).prop('checked') == true) {
document.getElementById('bt_cekup').disabled = false;
var table = document.getElementById('total');
var nam1 = document.getElementById('tarif$id');
var row = table.insertRow(-1);
var nama = row.insertCell(0);
var tarif = row.insertCell(1);
row.id = 'row$id';
nama.innerHTML = $('.$id:checked').val().split('|')[2]
tarif.innerHTML = $('.$id:checked').val().split('|')[1];
} else if($(this).prop('checked') == false){
var tr$id = document.getElementById('row$id');
tr$id.parentNode.removeChild(tr$id);
}
if($('#formcekup input:checkbox:checked').length == 0 ){
document.getElementById('bt_cekup').disabled = true;
16 | L a m p i r a n
}
});
var inputs = document.getElementsByClassName('$id');
tot = document.getElementById('sumcekup');
for (var i=0; i < inputs.length; i++) {
inputs[i].onchange = function() {
var add = this.value.split('|')[1] * (this.checked ? 1 : -1);
tot.innerHTML = parseFloat(tot.innerHTML) + add;
}
}
</script>";
}
?></ul>
</div>
<div class="col-xs-8">
<div class="box">
<!-- /.box-header -->
<div class="box-body no-padding">
<table class="table table-condensed" id="total">
<tr>
<th>Nama Pemeriksaan</th>
<th>Tarif</th>
</tr>
</table>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
</div>
</div>
</div>
17 | L a m p i r a n
</div>
</div>
<div class="box-footer">
<button type="submit" class="btn btn-primary pull-right" name="bt_cekup"
id="bt_cekup" disabled> Periksa</button>
</form></div>
<!-- END odntogram item -->
</div>
<!-- /.tab-pane -->
<div class="active tab-pane" id="riwayat">
<!--/.anamnesa-->
<div class="row">
<div class="col-md-12">
<!-- Horizontal Form -->
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">Riwayat Medis</h3>
</div>
<!-- /.box-header -->
<!-- form start -->
<form class="form-horizontal" action="#" target="_blank" method="POST"
enctype="multipart/form-data">
<div class="box-body">
<div class="form-group col-sm-12">
<?php
include 'koneksi.php';
$query = mysqli_query($conn, $sql);?>
<table id="example1" class="table table-bordered table-striped">
<thead>
<tr>
<th>Kode Pemeriksaan</th>
<th>Nama</th>
<th>Tanggal Cek-Up</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
18 | L a m p i r a n
<?php while ($row=mysqli_fetch_assoc($query)):?>
<tr>
<form id="detaildokter" action="#" method="post" target="_blank">
<td><?php echo $row['kode_pemeriksaan']; ?></td>
<td><?php echo $row['nama']; ?></td>
<td><?php echo $row['tanggal']; ?></td>
<td><?php if ($row['status']=="belum") {
echo "Belum Lunas";
} else { echo $row['status'];
}?></td>
<td><input type="hidden" name="card_id" value="<?php echo
$row['id_pasien']?>">
<input type="hidden" name="inv_id" value="<?php echo
$row['kode_pemeriksaan']?>">
<?php if ($row['status']=="Lunas") {
echo "<button type='submit' name='update' id='update' class='btn btn-info'
data-toggle='update' title='Detail'><i class='fa fa-indent'></i></button>";
echo "<button type='submit' name='print' id='print'
class='btn btn-info' data-toggle='print' title='Print Invoice'><i class='fa fa-
print'></i></button>";
}?>
<?php if ($row['status']=="Selesai") {
echo "<button type='submit' name='update' id='update' class='btn btn-info'
data-toggle='update' title='Detail'><i class='fa fa-indent'></i></button>";
echo "<button type='submit' name='print' id='print'
class='btn btn-info' data-toggle='print' title='Print Invoice' $sesiumum><i class='fa fa-
print'></i></button>";
}?>
<?php if ($row['status']=="belum") {
echo "<button type='submit' name='bayar'
id='bayar' class='btn btn-info' data-toggle='bayar' title='Bayar Pemeriksaan'><i class='fa
fa-money'></i></button>";
}?>
</td></form>
<?php endwhile;?>
</tr>
</tbody>
<tfoot>
<tr>
<th>Kode Pemeriksaan</th>
<th>Nama</th>
<th>Tanggal Cek-Up</th>
<th>Status</th>
<th>Action</th>
19 | L a m p i r a n
</tr>
</tfoot>
</table>
</div>
</div>
<!-- /.box-body -->
<!-- /.<div class="box-footer">
<button type="submit" name="bt_anamnesa" id="bt_anamnesa" class="btn
btn-info pull-right">Perbarui</button>
</div>-->
<!-- /.box-footer -->
</form>
<!-- END anamnesa item -->
</div>
</div></div>
<!-- /.tab-pane -->
</div>
<div class="tab-pane" id="password">
<!--/.anamnesa-->
<div class="row">
<div class="col-md-12">
<!-- Horizontal Form -->
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">Perbarui Sandi</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="col-xs-12">
<form class="form-horizontal" action="#" method="post">
<div class="form-group">
<label for="password1" class="col-sm-4 control-label">Sandi Lama</label>
<div class="col-sm-8">
<input type="password" class="form-control" id="password1"
name="password1" placeholder="Password lama" required>
20 | L a m p i r a n
</div>
</div>
<div class="form-group">
<label for="password2" class="col-sm-4 control-label">Sandi Baru</label>
<div class="col-sm-8">
<input type="password" class="form-control" id="password2"
name="password2" placeholder="Password baru" required>
</div>
</div>
<div class="form-group">
<label for="password3" class="col-sm-4 control-label">Ulangi</label>
<div class="col-sm-8">
<input type="password" class="form-control" id="password3"
name="password3" placeholder="Ulangi password baru"required>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" name="updatepsw" id="updatepsw" class="btn btn-
info">Perbarui</button>
</div>
<!-- /.box-footer -->
</form>
</div>
</div>
</div> <!-- /.tab-content -->
</div>
<!-- /.nav-tabs-custom -->
</div>
<!-- /.col -->
</div>
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?php include 'footer.php' ?>
<script src="dist/js/myscript.js"></script>
<script>
$(document).ready(function(){
$('[data-toggle="print"]').tooltip();
21 | L a m p i r a n
});
$(document).ready(function(){
$('[data-toggle="detail"]').tooltip();
});
$(document).ready(function(){
$('[data-toggle="update"]').tooltip();
});
$(document).ready(function(){
$('[data-toggle="bayar"]').tooltip();
});
</script>
</body>
</html>
4. Source Code Dokter
<?php include 'header.php';
include 'koneksi.php';
$id = $_GET['card_id'];
$sql = "SELECT * FROM dokter WHERE card_id = '$id'";
$query = mysqli_query ($conn, $sql);
$row = mysqli_fetch_assoc($query);
$nama = $row['nama'];
$sex = $row['sex'];
$alamat = $row['alamat'];
$telp = $row['telp'];
$email = $row['email'];
$status = $row['status'];
$foto = $row['foto'];
$birthDate = $row['dob'];
//$hashpsw = $row['password'];
$birthDate = explode("-", $birthDate);
$dob = (date("md", date("U", mktime(0, 0, 0, $birthDate[2], $birthDate[1],
$birthDate[0]))) > date("md") ? ((date("Y")-$birthDate[0])-1):(date("Y")-
$birthDate[0]));?>
22 | L a m p i r a n
<?php if ($_SESSION['role'] == "Pasien") {
echo "<script type='text/javascript'>alert('Anda tidak memiliki
akses ke-halaman ini');window.location.href='home.php';</script>";
}?>
<!-- Sidebar Menu -->
<ul class="sidebar-menu" data-widget="tree">
<!-- Optionally, you can add icons to the links -->
<li><a href="home.php"><i class="fa fa-home"></i> <span>Menu
Utama</span></a></li>
<li class='treeview'>
<a href='#'><i class='fa fa-user'></i> <span>Admin</span>
<span class='pull-right-container'>
<i class='fa fa-angle-left pull-right'></i>
</span>
</a>
<ul class='treeview-menu'>
<?php if ($_SESSION['role'] == "Admin") {
echo "
<li><a href='admin_baru.php'><i class='fa fa-user-plus'></i> Admin
Baru</a></li>";
}?>
<li><a href='data_admin.php'><i class='fa fa-users'></i> Data Admin</a></li>
</ul>
</li>
<li class="treeview">
<a href="#"><i class="fa fa-user"></i> <span>Pasien</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href="pasien_baru.php"><i class="fa fa-user-plus"></i> Pasien
Baru</a></li>
<li><a href="data_pasien.php"><i class="fa fa-users"></i> Data Pasien</a></li>
</ul>
</li>
<li class="treeview">
23 | L a m p i r a n
<a href="#"><i class="fa fa-user-md"></i> <span>Dokter</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<?php if ($_SESSION['role'] == "Admin") {
echo "<li><a href='dokter_baru.php'><i class='fa fa-user-
plus'></i> Dokter Baru</a></li>";
}?>
<li><a href="data_dokter.php"><i class="fa fa-users"></i> Data Dokter</a></li>
</ul>
</li>
</ul>
<!-- /.sidebar-menu -->
</section>
<!-- /.sidebar -->
</aside>
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Profil
<small>Apa mo ditulis disini?.</small>
</h1>
<ol class="breadcrumb">
<li class="active"><a href="profil.php"><i class="fa fa-user"></i> Profil</a></li>
</ol>
</section>
<!-- Main content -->
<section class="content container-fluid">
<div class="row">
<div class="col-md-12">
<!-- Profile Image -->
<div class="box box-info">
<div class="box-body box-profile">
<div class="form-group col-sm-3">
<img class="profile-user-img img-responsive img-circle" src="<?php echo
$foto?>" alt="User profile picture">
<h3 class="profile-username text-center"><?php echo $nama?></h3>
24 | L a m p i r a n
<p class="text-muted text-center"><?php echo $id?></p>
<ul class="list-group list-group-unbordered">
<li class="list-group-item">
<i class="fa fa-user"></i><b> Peran</b> <a class="pull-right"> Dokter</a>
</li>
<li class="list-group-item">
<i class="fa fa-birthday-cake"></i><b> Usia</b> <a class="pull-
right"><?php echo $dob?></a>
</li>
<li class="list-group-item">
<i class="fa fa-venus-mars"></i><b> Sex</b> <a class="pull-right"><?php
echo $sex?></a>
</li>
</ul>
</div>
<!-- /.box-body -->
<!-- /.box -->
<!-- About Me Box -->
<div class="form-group col-sm-4">
<div class="box-header with-border">
<h3 class="box-title">Tentang Saya</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="col-xs-12">
<strong><i class="fa fa-map-marker margin-r-5"></i> Alamat</strong>
<p class="text-muted"><?php echo $alamat?></p>
<hr>
<strong><i class="fa fa-phone margin-r-5"></i> No Telp</strong>
<p class="text-muted">
<?php echo $telp?>
</p>
<hr>
<strong><i class="fa fa-envelope margin-r-5"></i> Email</strong>
25 | L a m p i r a n
<p>
<?php echo $email?>
</p>
<hr>
<strong><i class="fa fa-history margin-r-5"></i> Status</strong>
<p><?php echo $status?></p>
</div></div></div>
<!-- /.box-body -->
<!-- /.box -->
<!-- Horizontal Form -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?php include 'footer.php' ?>
</body>
</html>
5. Source Code Admin
<?php include 'header.php';
include 'koneksi.php';
$id = $_GET['card_id'];
$sql = "SELECT * FROM admin WHERE card_id = '$id'";
$query = mysqli_query ($conn, $sql);
$row = mysqli_fetch_assoc($query);
$nama = $row['nama'];
$sex = $row['sex'];
$alamat = $row['alamat'];
$telp = $row['telp'];
$email = $row['email'];
$status = $row['status'];
$foto = $row['foto'];
26 | L a m p i r a n
$birthDate = $row['dob'];
//$hashpsw = $row['password'];
$birthDate = explode("-", $birthDate);
$dob = (date("md", date("U", mktime(0, 0, 0, $birthDate[2], $birthDate[1],
$birthDate[0]))) > date("md") ? ((date("Y")-$birthDate[0])-1):(date("Y")-
$birthDate[0]));?>
<?php if ($_SESSION['role'] == "Pasien") {
echo "<script type='text/javascript'>alert('Anda tidak
memiliki akses ke-halaman ini');window.location.href='home.php';</script>";
}?>
<!-- Sidebar Menu -->
<ul class="sidebar-menu" data-widget="tree">
<!-- Optionally, you can add icons to the links -->
<li><a href="home.php"><i class="fa fa-home"></i> <span>Menu
Utama</span></a></li>
<li class='treeview'>
<a href='#'><i class='fa fa-user'></i> <span>Admin</span>
<span class='pull-right-container'>
<i class='fa fa-angle-left pull-right'></i>
</span>
</a>
<ul class='treeview-menu'>
<?php if ($_SESSION['role'] == "Admin") {
echo "
<li><a href='admin_baru.php'><i class='fa fa-user-plus'></i> Admin
Baru</a></li>";
}?>
<li><a href='data_admin.php'><i class='fa fa-users'></i> Data
Admin</a></li>
</ul>
</li>
<li class="treeview">
<a href="#"><i class="fa fa-user"></i> <span>Pasien</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
27 | L a m p i r a n
<ul class="treeview-menu">
<li><a href="pasien_baru.php"><i class="fa fa-user-plus"></i> Pasien
Baru</a></li>
<li><a href="data_pasien.php"><i class="fa fa-users"></i> Data
Pasien</a></li>
</ul>
</li>
<li class="treeview">
<a href="#"><i class="fa fa-user-md"></i> <span>Dokter</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<?php if ($_SESSION['role'] == "Admin") {
echo "<li><a href='dokter_baru.php'><i class='fa fa-
user-plus'></i> Dokter Baru</a></li>";
}?>
<li><a href="data_dokter.php"><i class="fa fa-users"></i> Data
Dokter</a></li>
</ul>
</li>
</ul>
<!-- /.sidebar-menu -->
</section>
<!-- /.sidebar -->
</aside>
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Profil
<small>Apa mo ditulis disini?.</small>
</h1>
<ol class="breadcrumb">
<li class="active"><a href="profil.php"><i class="fa fa-user"></i>
Profil</a></li>
</ol>
</section>
<!-- Main content -->
28 | L a m p i r a n
<section class="content container-fluid">
<div class="row">
<div class="col-md-12">
<!-- Profile Image -->
<div class="box box-info">
<div class="box-body box-profile">
<div class="form-group col-sm-3">
<img class="profile-user-img img-responsive img-circle" src="<?php
echo $foto?>" alt="User profile picture">
<h3 class="profile-username text-center"><?php echo $nama?></h3>
<p class="text-muted text-center"><?php echo $id?></p>
<ul class="list-group list-group-unbordered">
<li class="list-group-item">
<i class="fa fa-user"></i><b> Peran</b> <a class="pull-right">
Dokter</a>
</li>
<li class="list-group-item">
<i class="fa fa-birthday-cake"></i><b> Usia</b> <a class="pull-
right"><?php echo $dob?></a>
</li>
<li class="list-group-item">
<i class="fa fa-venus-mars"></i><b> Sex</b> <a class="pull-
right"><?php echo $sex?></a>
</li>
</ul>
</div>
<!-- /.box-body -->
<!-- /.box -->
<!-- About Me Box -->
<div class="form-group col-sm-4">
<div class="box-header with-border">
<h3 class="box-title">Tentang Saya</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="col-xs-12">
<strong><i class="fa fa-map-marker margin-r-5"></i> Alamat</strong>
29 | L a m p i r a n
<p class="text-muted"><?php echo $alamat?></p>
<hr>
<strong><i class="fa fa-phone margin-r-5"></i> No Telp</strong>
<p class="text-muted">
<?php echo $telp?>
</p>
<hr>
<strong><i class="fa fa-envelope margin-r-5"></i> Email</strong>
<p>
<?php echo $email?>
</p>
<hr>
<strong><i class="fa fa-history margin-r-5"></i> Status</strong>
<p><?php echo $status?></p>
</div></div></div>
<!-- /.box-body -->
<!-- /.box -->
<!-- Horizontal Form -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?php include 'footer.php' ?>
</body>
</html>
6. Source Code Tindakan
<?php include 'header.php';
include 'db_access/tindakan.php';?>
<!-- Sidebar Menu -->
30 | L a m p i r a n
<ul class="sidebar-menu" data-widget="tree">
<!-- Optionally, you can add icons to the links -->
<?php
if ($_SESSION['role'] == "Admin") {
echo "<li><a href='home.php'><i class='fa fa-home'></i> <span>Menu
Utama</span></a></li>";
}?>
<?php if ($_SESSION['role'] == "Admin") {
echo "
<li class='treeview'>
<a href='#'><i class='fa fa-user'></i> <span>Admin</span>
<span class='pull-right-container'>
<i class='fa fa-angle-left pull-right'></i>
</span>
</a>
<ul class='treeview-menu'>
<li><a href='admin_baru.php'><i class='fa fa-user-plus'></i> Admin
Baru</a></li>
<li><a href='data_admin.php'><i class='fa fa-users'></i> Data Admin</a></li>
</ul>
</li>"; }
?>
<li class="treeview active">
<a href="#"><i class="fa fa-user"></i> <span>Pasien</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<?php if ($_SESSION['role'] == "Admin") {
echo "
<li><a href='pasien_baru.php'><i class='fa fa-user-plus'></i> Pasien
Baru</a></li>";}?>
<?php if ($_SESSION['role'] != "Pasien") {
echo "<li class='treeview active'>
<a href='data_pasien.php'><i class='fa fa-user'></i> Data Pasien
<span class='pull-right-container'>
<i class='fa fa-angle-left pull-right'></i>
</span>
</a>
<ul class='treeview-menu'>
31 | L a m p i r a n
<li class='active'><a href='detail_pasien.php'><i class='fa fa-medkit'></i>
Rekam Medis</a></li>
</ul>
</li>
";}?>
</li></ul>
<?php if ($_SESSION['role'] == "Admin") {
echo "
<li class='treeview'>
<a href='#'><i class='fa fa-user-md'></i> <span>Dokter</span>
<span class='pull-right-container'>
<i class='fa fa-angle-left pull-right'></i>
</span>
</a>
<ul class='treeview-menu'>
<li><a href='dokter_baru.php'><i class='fa fa-user-plus'></i> Dokter
Baru</a></li>
<li><a href='data_dokter.php'><i class='fa fa-users'></i> Data
Dokter</a></li>
</ul>
</li>
</ul>";
}?>
<!-- /.sidebar-menu -->
</section>
<!-- /.sidebar -->
</aside>
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper" id="loading">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Rekam Medis
<small>No Pemeriksaan : <?php echo $invoice_id?></small>
</h1>
<ol class="breadcrumb">
<a href="print_data.php?inv_id=<?php echo $invoice_id?>&card_id=<?php echo
$local_card_id?>" class="btn btn-primary btn-xs" target="_blank" > <i class="fa fa-
print"></i> Print All</a>
32 | L a m p i r a n
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-md-3">
<!-- Profile Image -->
<div class="box box-primary">
<div class="box-body box-profile">
<img class="profile-user-img img-responsive img-circle" src="<?php echo $foto
?>" alt="User profile picture">
<h3 class="profile-username text-center"><?php echo $nama_lengkap?></h3>
<p class="text-muted text-center"><?php echo $local_card_id?></p>
<ul class="list-group list-group-unbordered">
<li class="list-group-item">
<i class="fa fa-birthday-cake"></i><b> Usia</b> <a class="pull-
right"><?php echo $dob?></a>
</li>
<li class="list-group-item">
<i class="fa fa-venus-mars"></i><b> Sex</b> <a class="pull-right"><?php
echo $sex?></a>
</li>
<li class="list-group-item">
<i class="fa fa-male"></i><b> Tinggi</b> <a class="pull-right"><?php echo
$tinggi?></a>
</li>
<li class="list-group-item">
<i class="fa fa-tachometer"></i><b> Berat</b> <a class="pull-right"><?php
echo $berat?></a>
</li>
<li class="list-group-item">
<i class="fa fa-calendar-check-o"></i><b> Member Sejak</b> <a
class="pull-right"><?php echo $regdate?></a>
</li>
<li class="list-group-item">
<i class="fa fa-history"></i><b> Status</b> <a class="pull-right"><?php
echo $status?></a>
</li>
33 | L a m p i r a n
</ul>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
<!-- About Me Box -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">About Me</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<strong><i class="fa fa-map-marker margin-r-5"></i> Alamat</strong>
<p class="text-muted"><?php echo $alamat ?></p>
<hr>
<strong><i class="fa fa-phone margin-r-5"></i> Telp</strong>
<p class="tect-muted">
<?php echo $telp ?>
</p>
<hr>
<strong><i class="fa fa-envelope margin-r-5"></i> eMail</strong>
<p class="tect-muted">
<?php echo $email ?>
</p>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
<div class="col-md-9">
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li><a href="#tabsuhu" data-toggle="tab">Suhu & Tensi</a></li>
34 | L a m p i r a n
<?php if ($tabdarah == "y") {
echo "<li><a href='#tabdarah' data-
toggle='tab'>Darah</a></li>";
}
?>
<?php if ($taburine == "y") {
echo "<li><a href='#taburine' data-
toggle='tab'>Urine</a></li>";
}
?>
<li><a href="#tabfisik" data-toggle="tab">Fisik</a></li>
<li><a href="#tabkesdok" data-toggle="tab">Kesimpulan Dokter</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane" id="tabsuhu">
<div class="row">
<div class="col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">Suhu Tubuh & Tensi Darah</h3>
</div>
<div class="box-body">
<div class="modal-body col-xs-12">
<!-- /.box-header -->
<div class="table-responsive">
<table class="table table-bordered">
<tr>
<th>Pemeriksaan</th>
<th>Hasil</th>
<th>Nilai Rujukan</th>
<th>Satuan</th>
<th>Keterangan</th>
<th>Action</th>
</tr>
<tr id='rowsuhu'><?php include 'tab_suhu.php';?></tr>
<tr id='rowtensi'><?php include 'tab_tensi.php';?></tr>
</table>
<!-- /.box-body -->
<!-- /.box -->
</div>
</div>
</div>
35 | L a m p i r a n
</div>
</div>
</div>
</div>
<!--/.darah-->
<div class="tab-pane" id="tabdarah">
<div class="row">
<div class="col-md-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">Darah Lengkap</h3>
</div>
<div class="box-body">
<div class="modal-body col-xs-12">
<!-- /.box-header -->
<div class="table-responsive">
<table class='table' id='rowdarah'>
<?php include 'tab_darah.php';?>
</table>
<!-- /.box-body -->
<!-- /.box -->
</div>
<div class='box-footer'>
<input type='submit' name='bt_darah' value='Simpan' id='bt_darah' class='btn btn-
primary pull-right' <?php echo $bt_darahdis?>>
</form>
</div>
</div>
</div>
<!-- /.tab-pane -->
<!-- /.tab-pane -->
</div>
<!-- /.tab-content -->
</div>
<!-- /.nav-tabs-custom -->
</div>
</div>
36 | L a m p i r a n
<div class="tab-pane" id="taburine">
<div class="row">
<div class="col-md-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">Urine Lengkap</h3>
</div>
<div class="box-body">
<div class="modal-body col-xs-12">
<!-- /.box-header -->
<div class="table-responsive">
<?php include 'tab_urine.php'?>
<!-- /.box-body -->
<!-- /.box -->
</div>
<div class="box-footer">
<input type="submit" name="bt_urine" value="Simpan" id="bt_urine" class="btn
btn-primary pull-right" <?php echo $bt_urinedis?>>
</form>
</div>
</div>
<!-- /.tab-pane -->
<!-- /.tab-pane -->
</div>
<!-- /.tab-content -->
</div>
<!-- /.nav-tabs-custom -->
</div>
</div>
</div>
<div class="tab-pane" id="tabfisik">
<div class="row">
<div class="col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">Kesimpulan Hasil</h3>
</div>
<div class="box-body">
<div class="modal-body col-xs-12" id="fsk">
37 | L a m p i r a n
<?php include "tab_fisik.php"?></div>
<div class="box-footer">
<button class="btn btn-primary pull-right" name="bt_fisik" id="bt_fisik" <?php
echo $bt_fisikdis?>>Simpan</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="tabkesdok">
<div class="row">
<div class="col-xs-12">
<div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">Kesimpulan Dokter</h3>
</div>
<div class="box-body">
<div class="modal-body col-xs-12" id="ksd">
<?php include "tab_kesdok.php"?></div>
<div class="box-footer">
<button class="btn btn-primary pull-right" name="bt_kesdok" id="bt_kesdok"
disabled>Simpan</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /.col -->
<!-- /.row -->
<div id="loader" style="position: absolute; left: 25%; top: 35%;"><img
src="dist/img/loading.gif" /></div>
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?php include 'footer.php' ?>
38 | L a m p i r a n
<script src="dist/js/myscript.js">
</script>
</body>
</html>
7. Source Code Top Up
<div class="tab-pane" id="topup">
<!--/.anamnesa-->
<div class="row">
<div class="col-md-12">
<!-- Horizontal Form -->
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">Topup Saldo</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="col-xs-12">
<form class="form-horizontal" action="#" method="post">
<div class="form-group">
<label for="password1" class="col-sm-4 control-label">Nominal
Topup</label>
<div class="col-sm-8">
<input list="topuplist" class="form-control" id="nominal" name="nominal"
placeholder="Masukkan Nominal">
<datalist id="topuplist">
<option value="100000"/>
<option value="200000"/>
<option value="500000"/>
<option value="1000000"/>
</datalist>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" name="topup" id="topup" class="btn btn-
info">Topup</button>
</div>
<!-- /.box-footer -->
39 | L a m p i r a n
</form>
</div>
</div>
</div> <!-- /.tab-content --></div></div></div>
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?php include 'footer.php';?>
<script src="dist/js/myscript.js"></script>
</body>
</html>
8. Source Code Invoice
<?php include 'header.php';
include 'db_access/invoice.php';?>
<?php if ($_SESSION['role'] == "Pasien") {
echo "<script type='text/javascript'>alert('Anda tidak memiliki
akses ke-halaman ini');window.location.href='home.php';</script>";
}?>
<!-- Sidebar Menu -->
<ul class="sidebar-menu" data-widget="tree">
<!-- Optionally, you can add icons to the links -->
<li><a href="home.php"><i class="fa fa-home"></i> <span>Menu
Utama</span></a></li>
<li class='treeview'>
<a href='#'><i class='fa fa-user'></i> <span>Admin</span>
<span class='pull-right-container'>
<i class='fa fa-angle-left pull-right'></i>
</span>
</a>
<ul class='treeview-menu'>
<?php if ($_SESSION['role'] == "Admin") {
echo "
<li><a href='admin_baru.php'><i class='fa fa-user-plus'></i> Admin
Baru</a></li>";
}?>
<li><a href='data_admin.php'><i class='fa fa-users'></i> Data Admin</a></li>
</ul>
40 | L a m p i r a n
</li>
<li class="treeview active">
<a href="#"><i class="fa fa-user"></i> <span>Pasien</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href="pasien_baru.php"><i class="fa fa-user-plus"></i> Pasien
Baru</a></li>
<li class="treeview active">
<a href="data_pasien.php"><i class="fa fa-user"></i> Data Pasien
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li class="active"><a href="detail_pasien.php"><i class="fa fa-medkit"></i>
Rekam Medis</a></li>
</ul>
</li></ul>
<li class="treeview">
<a href="#"><i class="fa fa-user-md"></i> <span>Dokter</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<?php if ($_SESSION['role'] == "Admin") {
echo "<li><a href='dokter_baru.php'><i class='fa fa-user-
plus'></i> Dokter Baru</a></li>";
}?>
<li><a href="data_dokter.php"><i class="fa fa-users"></i> Data Dokter</a></li>
</ul>
</li>
</ul>
<!-- /.sidebar-menu -->
</section>
<!-- /.sidebar -->
</aside>
41 | L a m p i r a n
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper" id="loading">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
Invoice
<small>No. <?php echo $invoice_id?></small>
</h1>
<ol class="breadcrumb">
<li class="active"><a href="home.php"><i class="fa fa-user"></i> Pasien</a></li>
<li><a href="data_pasien.php"><i class="fa fa-user"></i> Data Pasien</a></li>
<li class="active"> <i class="fa fa-medkit"></i> Rekam Medis</li>
</ol>
</section>
<!-- Main content -->
<div class="pad margin no-print">
<div class="callout callout-<?php echo $banner?>" style="margin-bottom:
0!important;">
<h4><i class="fa fa-info"></i> Saldo anda : <?php echo "Rp
".number_format(intval($saldo),0,",",".");?></h4>
<small><?php echo $pesan?></small>
</div>
</div>
<section class="invoice">
<!-- title row -->
<div class="row">
<div class="col-xs-12">
<h2 class="page-header">
<i class="fa fa-stethoscope"></i> Klinik Universitas Hasanuddin.
<small class="pull-right">Date: <?php echo $tanggal_inv?></small>
</h2>
</div>
<!-- /.col -->
</div>
<!-- info row -->
<div class="row invoice-info">
<div class="col-sm-4 invoice-col">
Dari
<address>
<strong>Klinik Universitas Hasanuddin.</strong><br>
Jl. Poros Malino, Borongloe, Bontomarannu,<br>
Kabupaten Gowa, Sulawesi Selatan 92119<br>
42 | L a m p i r a n
Telp: (0411) 586200<br>
Email: [email protected]
</address>
</div>
<!-- /.col -->
<div class="col-sm-4 invoice-col">
Kepada
<address>
<strong><?php echo $nama_lengkap?></strong><br>
<?php echo $alamat?>
Telp: <?php echo $telp ?><br>
Email: <?php echo $email?>
</address>
</div>
<!-- /.col -->
<div class="col-sm-4 invoice-col">
<b>Invoice No: <?php echo $invoice_id?></b><br>
<br>
<b>Status:</b> <?php echo $status ?><br>
<b>Tanggal Pembayaran:</b> <?php echo $tanggal_bayar?><br>
<b>ID Pasien:</b> <?php echo $local_card_id?>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<!-- Table row -->
<div class="row">
<div class="col-xs-12 table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>No</th>
<th>Pemeriksaan</th>
<th>ID - Pemeriksaan</th>
<th>Harga</th>
</tr>
</thead>
<tbody>
<?php $i = 1;
foreach ($pemeriksaan as $pemeriksaan) {
$sqltarif = "SELECT * FROM tarif WHERE id =
'$pemeriksaan'";
43 | L a m p i r a n
$querytarif = mysqli_query($conn,$sqltarif);
$rowtarif = mysqli_fetch_assoc($querytarif);
$num = $i;$i++;
$id_pemeriksaan = $rowtarif['id'];
$nama_pemeriksaan = $rowtarif['nama'];
$tarif_pemeriksaan = $rowtarif['tarif'];
echo "<tr>" ;
echo "<td>$num</td>";
echo "<td>$nama_pemeriksaan</td>";
echo "<td>$id_pemeriksaan</td>";
echo "<td>Rp. $tarif_pemeriksaan</td>";
echo "</tr>";
}
?>
</tbody>
</table>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<div class="box-footer">
<!-- accepted payments column -->
<div class="col-xs-9">
<h3>Total Pembayaran:</h3>
</div>
<!-- /.col -->
<div class="col-xs-3">
<h3>Rp. <?php echo $total?></h3>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<!-- this row will not appear when printing -->
<div class="row no-print">
<div class="col-xs-12">
<a href="invoice-print.php?inv_id=<?php echo $invoice_id?>&card_id=<?php
echo $local_card_id?>" target="_blank" class="btn btn-default <?php echo $print?>"><i
class="fa fa-print"></i> Print</a>
<form action="#" method="POST" target="_blank">
44 | L a m p i r a n
<input type="hidden" name="total" value="<?php echo $total?>" />
<button type='submit' name='bayar' id='bayar' onclick="location.reload()"
class='btn btn-info pull-right' <?php echo $bayar?>><i class='fa fa-credit-card'></i>
Bayar</button></form>
</div>
</div>
</section>
<!-- /.content -->
<div class="clearfix"></div>
</div>
<!-- /.content-wrapper -->
<?php include 'footer.php' ?>
<script src="dist/js/myscript.js"></script>
</body>
</html>
9. Source Code Print Hasil Pemeriksaan
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Klinik UNHAS | Rekam-Medis</title>
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-
scalable=no" name="viewport">
<!-- Bootstrap 3.3.7 -->
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="bower_components/font-awesome/css/font-
awesome.min.css">
<!-- Ionicons -->
<link rel="stylesheet" href="bower_components/Ionicons/css/ionicons.min.css">
<!-- Theme style -->
<link rel="stylesheet" href="dist/css/AdminLTE.min.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]>
45 | L a m p i r a n
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<?php include 'db_access/print_data.php';?>
<style>
@media print {
section {page-break-after:always;}
body, html, { margin-top:0%;
display:block;
height:100%;
}
}
</style>
<!-- Google Font -->
<link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300ita
lic,400italic,600italic">
</head>
<body onload="window.print();">
<!-- Main content Suhu & Tensi-->
<?php include 'koneksi.php';
if (!isset($invoice_id)){
$invoice_id = $_GET['inv_id'];
}
$sqlpemeriksaansuhu = "SELECT * FROM suhu WHERE kode_pemeriksaan =
'$invoice_id'";
$querypemeriksaansuhu = mysqli_query($conn, $sqlpemeriksaansuhu);
$rowpemeriksaansuhu = mysqli_fetch_assoc($querypemeriksaansuhu);
$pemeriksaansuhu = $rowpemeriksaansuhu['status'];
$hasilsuhu = $rowpemeriksaansuhu['hasil'];
$ketsuhu = $rowpemeriksaansuhu['keterangan'];
$sqlpemeriksaantensi = "SELECT * FROM tensi WHERE kode_pemeriksaan =
'$invoice_id'";
$querypemeriksaantensi = mysqli_query($conn, $sqlpemeriksaantensi);
$rowpemeriksaantensi = mysqli_fetch_assoc($querypemeriksaantensi);
$pemeriksaantensi = $rowpemeriksaantensi['status'];
$hasiltensi = $rowpemeriksaantensi['hasil'];
$kettensi = $rowpemeriksaantensi['keterangan'];
if (($pemeriksaansuhu == 'selesai') || ($pemeriksaantensi == 'selesai' || (isset($kesklinik))
|| (isset($kesdokter)))){
46 | L a m p i r a n
echo " <section class='invoice'>
<!-- title row -->
<div class='row'>
<div class='col-xs-12'>
<h2 class='page-header'>
<i class='fa fa-globe'></i> Klinik Universitas Hasanuddin.
<small class='pull-right'>Date: $tanggal_inv</small>
</h2>
</div>
<!-- /.col -->
</div>
<!-- info row -->
<div class='row invoice-info'>
<div class='col-sm-4 invoice-col'>
Dari
<address>
<strong>Klinik Universitas Hasanuddin.</strong><br>
Jl. Poros Malino, Borongloe, Bontomarannu,<br>
Kabupaten Gowa, Sulawesi Selatan 92119<br>
Telp: (0411) 586200<br>
Email: [email protected]
</address>
</div>
<!-- /.col -->
<div class='col-sm-4 invoice-col'>
Kepada
<address>
<strong>$nama_lengkap</strong><br>
$alamat
Telp: $telp <br>
Email: $email
</address>
</div>
<!-- /.col -->
<div class='col-sm-4 invoice-col'>
<b>Invoice $invoice_id</b><br>
<br>
<b>Status:</b> $status <br>
<b>Tanggal Pembayaran:</b> $tanggal_bayar<br>
<b>ID Pasien:</b> $local_card_id
</div>
<!-- /.col -->
</div>
47 | L a m p i r a n
<!-- /.row -->
<!-- Table row -->
<div class='row'>
<div class='col-xs-12 table-responsive'>
<table class='table table-striped'>
<thead>
<tr>
<th>Pemeriksaan</th>
<th>Hasil</th>
<th>Nilai Rujukan</th>
<th>Satuan</th>
<th>Keterangan</th>
</tr>
</thead>";
}
if ($pemeriksaansuhu == 'selesai'){
echo "
<td>Suhu Tubuh</td>
<td>$hasilsuhu</td>
<td>-</td>
<td> ℃ </td>
<td>$ketsuhu </td>
</tr>";}
?>
<?php
if (!isset($invoice_id)){
$invoice_id = $_GET['inv_id'];
}
if ($pemeriksaantensi == 'selesai'){
echo "
<tr>
<td>Tensi Darah</td>
<td>$hasiltensi</td>
<td>120/80</td>
<td> mmHg </td>
<td>$kettensi </td>
</tr>
";}?>
<?php
if (($pemeriksaansuhu == 'selesai') || ($pemeriksaantensi == 'selesai')){
echo "
48 | L a m p i r a n
</table>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<div class='box-footer'>
<!-- accepted payments column -->
<!-- /.col -->
</div>
<!-- /.row -->
";}
?>
<?php
if (isset($kesklinik)) {
echo "<div class='row'>
<div class='col-xs-12'>
<div class='box-header with-border'>
<h3 class='box-title'>Kesimpulan Hasil</h3>
</div>
<div class='box-body'>
<div class='modal-body col-xs-12' id='fsk'>";
include 'tab_fisik.php';
echo"</div>
</div>
</div>
</div>
</div>
";}
?>
<?php
if (isset($kesdokter)) {
echo "
<div class='row'>
<div class='col-xs-12'>
<div class='box-header with-border'>
<h3 class='box-title'>Kesimpulan Dokter</h3>
</div>
<div class='box-body'>
<div class='modal-body col-xs-12' id='ksd'>";
49 | L a m p i r a n
include "tab_kesdok.php";
echo "</div>
</div>
</div>
</div>
</div>";}
?>
<?php if (($pemeriksaansuhu == 'selesai') || ($pemeriksaantensi == 'selesai' ||
(isset($kesklinik)) || (isset($kesdokter)))){
echo "</section>";
}
?>
<!-- /.content -->
<!-- ./darah -->
<?php
include 'db_access/koneksi.php';
if (!isset($invoice_id)){
$invoice_id = $_GET['inv_id'];
}
//darah
$sqldarah = "SHOW COLUMNS FROM darah";
$querydarah = mysqli_query($conn,$sqldarah);
$coldarah = array();
while ($row = mysqli_fetch_assoc($querydarah)){
$coldarah[] = $row['Field'];
}
$sqlpemeriksaandarah = "SELECT * FROM darah WHERE kode_pemeriksaan =
'$invoice_id'";
$querypemeriksaandarah = mysqli_query($conn, $sqlpemeriksaandarah);
$rowpemeriksaandarah = mysqli_fetch_assoc($querypemeriksaandarah);
$pemeriksaandarah = $rowpemeriksaandarah['status'];
if ($pemeriksaandarah == 'selesai'){
echo "
<section class='invoice'>
<!-- title row -->
<div class='row'>
<div class='col-xs-12'>
<h2 class='page-header'>
<i class='fa fa-globe'></i> Klinik Universitas Hasanuddin.
<small class='pull-right'>Date: $tanggal_inv</small>
</h2>
50 | L a m p i r a n
</div>
<!-- /.col -->
</div>
<!-- info row -->
<div class='row invoice-info'>
<div class='col-sm-4 invoice-col'>
Dari
<address>
<strong>Klinik Universitas Hasanuddin.</strong><br>
Jl. Poros Malino, Borongloe, Bontomarannu,<br>
Kabupaten Gowa, Sulawesi Selatan 92119<br>
Telp: (0411) 586200<br>
Email: [email protected]
</address>
</div>
<!-- /.col -->
<div class='col-sm-4 invoice-col'>
Kepada
<address>
<strong>$nama_lengkap</strong><br>
$alamat
Telp: $telp <br>
Email: $email
</address>
</div>
<!-- /.col -->
<div class='col-sm-4 invoice-col'>
<b>Invoice $invoice_id</b><br>
<br>
<b>Status:</b> $status <br>
<b>Tanggal Pembayaran:</b> $tanggal_bayar<br>
<b>ID Pasien:</b> $local_card_id
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<!-- Table row -->
<div class='row'>
<div class='col-xs-12 table-responsive'>
<!-- disini -->
</div>
<!-- /.col -->
</div>
51 | L a m p i r a n
<!-- /.row -->
<div class='box-footer'>
<!-- accepted payments column -->
<!-- /.col -->
</div>
<!-- /.row -->
<table class='table'>";
include 'tab_darah.php';
echo "</table></section>";
}
?>
<!-- ./Urine -->
<?php
include 'db_access/koneksi.php';
if (!isset($invoice_id)){
$invoice_id = $_GET['inv_id'];
}
//urine
$sqlurine = "SHOW COLUMNS FROM urine";
$queryurine = mysqli_query($conn,$sqlurine);
$colurine = array();
while ($row = mysqli_fetch_assoc($queryurine)){
$colurine[] = $row['Field'];
}
$sqlpemeriksaanurine = "SELECT * FROM urine WHERE kode_pemeriksaan =
'$invoice_id'";
$querypemeriksaanurine = mysqli_query($conn, $sqlpemeriksaanurine);
$rowpemeriksaanurine = mysqli_fetch_assoc($querypemeriksaanurine);
$pemeriksaanurine = $rowpemeriksaanurine['status'];
if ($pemeriksaanurine == 'selesai'){
echo "<section class='invoice'>
<!-- title row -->
<div class='row'>
<div class='col-xs-12'>
<h2 class='page-header'>
<i class='fa fa-globe'></i> Klinik Universitas Hasanuddin.
<small class='pull-right'>Date: $tanggal_inv</small>
52 | L a m p i r a n
</h2>
</div>
<!-- /.col -->
</div>
<!-- info row -->
<div class='row invoice-info'>
<div class='col-sm-4 invoice-col'>
Dari
<address>
<strong>Klinik Universitas Hasanuddin.</strong><br>
Jl. Poros Malino, Borongloe, Bontomarannu,<br>
Kabupaten Gowa, Sulawesi Selatan 92119<br>
Telp: (0411) 586200<br>
Email: [email protected]
</address>
</div>
<!-- /.col -->
<div class='col-sm-4 invoice-col'>
Kepada
<address>
<strong>$nama_lengkap</strong><br>
$alamat
Telp: $telp <br>
Email: $email
</address>
</div>
<!-- /.col -->
<div class='col-sm-4 invoice-col'>
<b>Invoice $invoice_id</b><br>
<br>
<b>Status:</b> $status <br>
<b>Tanggal Pembayaran:</b> $tanggal_bayar<br>
<b>ID Pasien:</b> $local_card_id
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<!-- Table row -->
<div class='row'>
<div class='col-xs-12 table-responsive'>
<!-- disini -->
</div>
<!-- /.col -->
53 | L a m p i r a n
</div>
<!-- /.row -->
<div class='box-footer'>
<!-- accepted payments column -->
<!-- /.col -->
</div>
<!-- /.row -->";
include 'tab_urine.php';
echo "</section>";
}
?>
<!-- ./wrapper -->
</body>
</html>
54 | L a m p i r a n
10. Util.php
<?php
function scard_transmit2($context, $apdu) {
$apdu = preg_replace( '/\s+/', '', $apdu );
return scard_transmit($context, $apdu);
}
function parseAPDU($str, $apdu) {
$apdu = preg_replace( '/\s+/', '', $apdu );
$len = strlen($str);
$data = substr($str, 0, $len - 4);
$stat = substr($str, -4);
$sw1 = substr($stat, 0, 2);
$sw2 = substr($stat, -2);
return array (
'send' => implode(' ', str_split($apdu, 2)),
'recv' => implode(' ', str_split($str, 2)),
'data_easy_reading' => implode(' ', str_split($data, 2)),
'data' => $data, 'stat' => $stat, 'sw1' => $sw1, 'sw2' => $sw2);
}
function substrHex($str, $start, $len) {
return substr($str, $start * 2, $len * 2);
}
function asc2hex($s) {
$l = strlen($s);
55 | L a m p i r a n
$l /= 2; $l *= 2;
$s = substr($s, 0, $l);
$r = strtoupper(bin2hex($s));
$r = substr($r, 0, 2*$l);
return $r;
}
function hex2asc($h) {
$l = strlen($h);
$r = '';
for ($i=0; $i<$l; $i+=2)
$r .= chr(hexdec(substr($h, $i, 2)));
return $r;
}
function changeOffset($before, $addition) {
$offset = dechex(hexdec($before) + hexdec($addition));
return str_pad($offset, 4, '0', STR_PAD_LEFT);
}
function fieldMapGenerator($field_map) {
$hex = base_convert($field_map, 2, 16);
return str_pad($hex, 6, "0", STR_PAD_LEFT);
}
function lengthMapGenerator($len) {
return str_pad(dechex($len), 4, "0", STR_PAD_LEFT);
}
56 | L a m p i r a n
function dec2hex($num){
if(dechex($num) < 16){
return str_pad(dechex($num), 2, '0', STR_PAD_LEFT);
}
return dechex($num);
}
function toICAOFormat($text){
$text = preg_replace('/[^A-Z0-9]+/i', '<', $text);
return str_pad($text, 39, '<', STR_PAD_RIGHT);
}
function array2json($arr) {
if(function_exists('json_encode')) return json_encode($arr); //Lastest versions of PHP
already has this functionality.
$parts = array();
$is_list = false;
//Find out if the given array is a numerical array
$keys = array_keys($arr);
$max_length = count($arr)-1;
if(($keys[0] == 0) and ($keys[$max_length] == $max_length)) {//See if the first key is
0 and last key is length - 1
$is_list = true;
for($i=0; $i<count($keys); $i++) { //See if each key correspondes to its position
if($i != $keys[$i]) { //A key fails at position check.
$is_list = false; //It is an associative array.
break;
57 | L a m p i r a n
}
}
}
foreach($arr as $key=>$value) {
if(is_array($value)) { //Custom handling for arrays
if($is_list) $parts[] = array2json($value); /* :RECURSION: */
else $parts[] = '"' . $key . '":' . array2json($value); /* :RECURSION: */
} else {
$str = '';
if(!$is_list) $str = '"' . $key . '":';
//Custom handling for multiple data types
if(is_numeric($value)) $str .= $value; //Numbers
elseif($value === false) $str .= 'false'; //The booleans
elseif($value === true) $str .= 'true';
else $str .= '"' . addslashes($value) . '"'; //All other things
// :TODO: Is there any more datatype we should be in the lookout for? (Object?)
$parts[] = $str;
}
}
$json = implode(',',$parts);
if($is_list) return '[' . $json . ']';//Return numerical JSON
return '{' . $json . '}';//Return associative JSON
}
58 | L a m p i r a n
?>
11. Spesifikasi Konsorsium.php
<?php
function parse_standard_v1_1($apdu) {
$apdu = str_replace(' ', '', $apdu); // hapus spasi (kalau ada)
$tmp = substrHex($apdu, 0, 3);
$offsetData1 = "00";
$offsetData2 = "00";
$d['field_map'] = parse_field_map($tmp);
if($d['field_map'][0] == 1) {
$tmp = substrHex($apdu, 3, 2);
$len = substr($tmp, -2);
$d['local_card_id'] = $offsetData1 . " " . $len;
$offsetData1 = changeOffset($offsetData1, $len);
}
if($d['field_map'][1] == 1) {
$tmp = substrHex($apdu, 5, 2);
$len = substr($tmp, -2);
$d['kode_institusi'] = $offsetData1 . " " . $len;
$offsetData1 = changeOffset($offsetData1, $len);
}
if($d['field_map'][2] == 1) {
$tmp = substrHex($apdu, 7, 2);
$len = substr($tmp, -2);
$d['nomor_identitas'] = $offsetData1 . " " . $len;
$offsetData1 = changeOffset($offsetData1, $len);
}
59 | L a m p i r a n
if($d['field_map'][3] == 1) {
$tmp = substrHex($apdu, 9, 2);
$len = substr($tmp, -2);
$d['nama_lengkap'] = $offsetData1 . " " . $len;
$offsetData1 = changeOffset($offsetData1, $len);
}
if($d['field_map'][4] == 1) {
$tmp = substrHex($apdu, 11, 2);
$len = substr($tmp, -2);
$d['kode_organisasi'] = $offsetData1 . " " . $len;
$offsetData1 = changeOffset($offsetData1, $len);
}
if($d['field_map'][5] == 1) {
$tmp = substrHex($apdu, 13, 2);
$len = substr($tmp, -2);
$d['nama_sekolah_universitas'] = $offsetData1 . " " . $len;
$offsetData1 = changeOffset($offsetData1, $len);
}
if($d['field_map'][6] == 1) {
$tmp = substrHex($apdu, 15, 2);
$len = substr($tmp, -2);
$d['nama_fakultas_kelas'] = $offsetData1 . " " . $len;
$offsetData1 = changeOffset($offsetData1, $len);
}
if($d['field_map'][7] == 1) {
$tmp = substrHex($apdu, 17, 2);
$len = substr($tmp, -2);
$d['nama_prodi_peminatan'] = $offsetData1 . " " . $len;
60 | L a m p i r a n
$offsetData1 = changeOffset($offsetData1, $len);
}
if($d['field_map'][8] == 1) {
$tmp = substrHex($apdu, 19, 2);
$len = substr($tmp, -2);
$d['peran'] = $offsetData1 . " " . $len;
$offsetData1 = changeOffset($offsetData1, $len);
}
if($d['field_map'][9] == 1) {
$tmp = substrHex($apdu, 21, 2);
$len = substr($tmp, -2);
$d['atribut_icao_1'] = $len;
}
if($d['field_map'][10] == 1) {
$tmp = substrHex($apdu, 23, 2);
$len = substr($tmp, -2);
$d['atribut_icao_2'] = $len;
}
if($d['field_map'][11] == 1) {
$tmp = substrHex($apdu, 25, 2);
// Implement Foto
$d['foto'] = $tmp;
}
if($d['field_map'][12] == 1) {
$tmp = substrHex($apdu, 27, 2);
$len = substr($tmp, -2);
// Implement Sidik Jari
$d['odontogram'] = $len;
61 | L a m p i r a n
}
if($d['field_map'][13] == 1) {
$tmp = substrHex($apdu, 29, 2);
$len = substr($tmp, -2);
$d['saldo'] = $len;
$offsetData2 = changeOffset($offsetData2, $len);
}
if($d['field_map'][14] == 1) {
$tmp = substrHex($apdu, 31, 2);
$len = substr($tmp, -2);
$d['nomor_telpon'] = $offsetData2 . " " . $len;
$offsetData2 = changeOffset($offsetData2, $len);
}
if($d['field_map'][15] == 1) {
$tmp = substrHex($apdu, 33, 2);
$len = substr($tmp, -2);
$d['issue_date'] = $offsetData2 . " " . $len;
}
if($d['field_map'][16] == 1) {
$tmp = substrHex($apdu, 35, 2);
$len = substr($tmp, -2);
// Implement Status
$d['status'] = $len;
}
return $d;
}
function parse_field_map($field_map) {
62 | L a m p i r a n
$binary_of_field_map = base_convert($field_map, 16, 2);
$binary_string = str_pad($binary_of_field_map, strlen($field_map) * 4, '0',
STR_PAD_LEFT);
return $binary_string;
}
function parse_standard_v1_2($apdu, &$conn_card){
$apdu = str_replace(' ', '', $apdu); // hapus spasi (kalau ada)
$tmp = substrHex($apdu, 0, 3);
$d['field_map'] = parse_field_map($tmp);
// Data 1
$length_map = explode(' ',implode(' ', str_split(substrHex($apdu, 3, 18), 4)));
$totalLen = 0;
foreach($length_map as &$len){
$totalLen += hexdec($len);
}
//echo $totalLen;
$loop = intval(hexdec($totalLen) / 51);
$remainder = dechex(hexdec($totalLen) % 51);
$offset = "00";
$str = "";
while($loop != 0){
$getDataApdu = "00 B0 00 " . $offset . "33";
echo $getDataApdu;
$resp = parseAPDU(scard_transmit2($conn_card, $getDataApdu), $getDataApdu);
$str = $str . hex2asc($resp['data']);
$offset = changeOffset($offset, "33");
$loop -= 1;
}
63 | L a m p i r a n
$getDataApdu = "00 B0 00 " . $offset . $remainder;
$resp = parseAPDU(scard_transmit2($conn_card, $getDataApdu), $getDataApdu);
$str = $str . hex2asc($resp['data']);
echo $str;
//00 12 00 06 00 0A 00 13 00 0B 00 11 00 21 00 13 00 01
}
?>
64 | L a m p i r a n
65 | L a m p i r a n
66 | L a m p i r a n
67 | L a m p i r a n
68 | L a m p i r a n
69 | L a m p i r a n
Langkah-Langkah Mengoperasikan Sistem Web Site Klinik Unhas
1. Persiapkan reader, smart card, laptop, dan jaringan internet.
2. Sambungkan reader pada laptop admin yang telah terhubung dengan jaringan
internet.
3. Klik kanan pada ikon XAMPP pada laptop admin lalu pilih “Run As
Administrator”
4. Klik start pada Apache dan MySQL
5. Buka web site www.klinik-unhas.com pada web browser seperti Google
Chrome atau Mozilla Firefox dan pastikan web browser telah terupgrade versi
terbaru.
6. Masukkan ID admin dan password, lalu ganti peran menjadi administrasi.
Lalu klik Login.
7. Setelah Login masukkan smart card pasien untuk melalukan pembacaan kartu.
8. Selanjutnya ikuti petunjuk Alur Sistem Transaksi di Web Site Klinik Unhas
pada bab IV halaman 18-20.
9. Pada proses pendaftaran pasien, top up saldo, dan pembayaran pastikan smart
card pasien terpasang pada reader.
10. Pada proses pemeriksaan disarankan agar selalu mengecek status pembayaran
dan pemeriksaan pasien apakah “belum lunas”, “lunas”, atau “selesai”. Jika
status pasien dinyatakan “belum lunas”, maka pasien tersebut belum
melakukan pembayaran atas pemeriksaan yang sudah dipilih. Jika pasien
berstatus “lunas”, maka pasien bersangkutan telah melakukan pembayaran
namun belum melakukan pemeriksaan. Jika pasien berstatus “selesai”, maka
pasien bersangkutan telah melakukan pembayaran dan telah menyelesaikan
proses pemeriksaan. Status pemeriksaan dan pembayaran pasien dapat dilihat
pada halaman rekam medis.
70 | L a m p i r a n
Hal-Hal Yang Perlu Di Hindari Saat Melakukan Operasi Sistem
1. Pastikan kartu terpasang pada reader selama melakukan operasi sistem.
2. Pastikan jaringan internet selalu terhubung saat transaksi.
3. Pastikan perangkat seperti laptop, reader, dan smart card jauh dari api dan
air.