Anda di halaman 1dari 156

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
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 SITTI WAHYUNI ARTINI


D411 13 310 D411 13 319

Telah diperiksa dan disetujui untuk diuji


Makassar, 2017

Pembimbing 1, Pembimbing 2,

Dr. Eng. Ir. Hj. Dewiani, M.T. Dr. Eng. Elyas Palantei, S.T., M.Eng.
NIP. 196910261994122001 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

i
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.

ii
 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

iii
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

iv
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

v
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

vi
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

vii
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

viii
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

ix
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-1
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-2
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-3
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-4
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-5
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.

I-6
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-1
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-2
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-3
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-4
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-5
 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-6
Tabel 2.1 Spesifikasi Data Identitas

No Item Keterangan Format Contoh

0 Field Map + Length Field Map Binary(51 Binary = 1111


Map merepresentasika Byte) (M) 1101 1110 1111
Bagian Existensi Data n keberadaan 1000 0000
1010 0000 0000 0000 data. Pada
0000 0000 (3 Bytes) spesifikasi ini 0xFD 0xEF
terdapat 17 field 0x80
Bagian Length Data (2 byte + 1 bit).
0000 0000 0000 1000 = Adapun 7 bit
f1 terakhir adalah Menandakan
0000 0000 0000 0000 = reserved untuk bahwa data yang
f2 ekspansi data (7 tersedia adalah
0000 0000 0111 1011 = field tambahan) field 1 s/d 6, 8
f3 s/d 11, 13 s/d 17.
.
. Dengan
. demikian Host
. tidak perlu
0000 0000 0000 0000 = mengambil data
f23 untuk field-field
0000 0000 0000 0000 = yang dinyatakan
f24 tidak ada
(48 Bytes) datanya.(Lihat
Bagian 3.1 -
Akses Data
Identitas)

1 Local Card ID Kode Card ID LLLLVA 1234567890123


yang tersimpan di R (M) 45678
dalam Card
Management
institusi (Max 32
Byte)

2 Kode Institusi Kode PT / NISN LLLLVA 380044


(Max 32). Harus R (M)
mengacu ke Kode
PDDikti
(http://forlap.dikti
.go.id)

II-7
No Item Keterangan Format Contoh

3 Nomor Identitas Nomor Identitas LLLLVA 0806444524


Siswa / Staf / R (M)
Dosen (NPM /
NIP / NPSN / dll)
(Max 32)

4 Nama Lengkap Nama Lengkap LLLLVA AHMAD


(Max 64) R (M) SUPENDI
UTAMA

5 Kode Organisasi Kode Internal LLLLVA 135 =>


Lembaga R (M) Informatika ITB,
Pendidikan. atau
(Max 32)
03.00.12.01 =>
Magister Ilmu
Komputer UI,
dll

6 Nama Sekolah / Nama institusi LLLLVA TELKOM


Universitas / Lembaga (Max 64) R (M) UNIVERSITY
Pendidikan

7 Nama Fakultas / Kelas Nama Sub- LLLLVA FILKOM atau


Institus R (M) cth lain:
(Max 48)i FAKULTAS
ILMU SOSIAL
DAN ILMU
POLITIK

8 Nama Program Studi / Informasi sub- LLLLVA IPA atau cth


Peminatan institusi tambahan R (O) lain:
(Max 48) MANAJEMEN
INFORMASI

9 Peran Peran card holder CHAR(1) 0: Mahasiswa


(M) 1: Dosen
(Max 1) 2: Staff

II-8
No Item Keterangan Format Contoh

10 Atribut Primer sesuai Field sesuai CHAR(44) Lihat bagian


standard ICAO 9303-4 standard ICAO (O) 2.1.1 - ICAO
(Kode Dokumen, 9303-4 (4.2.2.1 compliance
Issuer, Nama) Data structure of upper machine
the upper readable data
machine readable
line)
(Max 44)

11 Atribut Sekunder sesuai Field sesuai CHAR(44) Lihat bagian


standard ICAO 9303-4 standard ICAO (O) 2.1.2 - ICAO
9303-4 (4.2.2.2 compliance
(ID Dokumen/Passport Data structure of lower machine
Number, Nationality, the lower machine readable data
Date of Birth, Sex, readable line)
Expiration Date, (Max 44)
Optional Data Element)

12 Foto Foto binary LLLLVA


R (O)
Maksimum 4096
byte

13 Sidik Jari Template binary LLLLVA


R (O)
Maksimum 4096
byte

14 Alamat Alamat LLLLVA JL Majalah B28,


R (O) Komp. PWI
(Max 200) Cipinang Muara,
Jakarta Timur

15 Nomor Telpon Nomor telpon LLLLVA


R (O)
(Max 32)

16 Issue Date (Max 6) CHAR (6) Cth: 160118


(M)
YYMMD
D

II-9
No Item Keterangan Format Contoh

17 Status Status kartu CHAR(1) 0: Aktif


(Max 1) (M)
1: Expired
2: Blokir

18 Email Alamat Email LLVAR( Cth:


M)
(Max 32) ahmad@itb.ac.id

19 Reserved Informasi bebas LLLLVA


s/d (Max 100) R (O)
24

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-10
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 Akses ke MF (3F Akses ke MF (3F


Map 00), DF (10 01), 00), DF (10 01),
dan EF (01 00). dan EF (01 00).
(Max 51 Bytes) Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu

1 Local Card ID Akses ke MF (3F Akses ke MF (3F


00), DF (10 01), 00), DF (10 01),
2 Kode Institusi dan EF (01 01). dan EF (01 01).

3 Nomor Identitas
Max (353 Bytes) Penulisan
membutuhkan
4 Nama Lengkap SAM (Issuer)
untuk melakukan
Pembacaan
5 Kode Organisasi otentikasi
membutuhkan
sebelum menulis
SAM (Acquirer)
data ke dalam
6 Nama Sekolah / untuk melakukan
kartu
Universitas / Lembaga otentikasi
Pendidikan sebelum
pembacaan data
7 Nama Fakultas / Kelas dari dalam kartu

8 Nama Program Studi /


Peminatan

9 Peran

II-11
No Item APDU (READ) APDU (WRITE) Contoh

10 Atribut Primer sesuai Akses ke MF (3F Akses ke MF (3F


standard ICAO 9303-4 00), DF (10 01), 00), DF (10 01),
(Kode Dokumen, Issuer, dan EF (01 02) dan EF (01 02).
Nama)
(Max 44 Bytes) Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu

11 Atribut Sekunder sesuai Akses ke MF (3F Akses ke MF (3F


standard ICAO 9303-4 00), DF (10 01), 00), DF (10 01),
dan EF (01 03) dan EF (01 03).
(ID Dokumen/Passport
Number, Nationality, (Max 44 Bytes) Penulisan
Date of Birth, Sex, membutuhkan
Expiration Date, SAM (Issuer)
Optional Data Element) untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu

12 Foto Akses ke MF (3F Akses ke MF (3F


00), DF (10 01), 00), DF (10 01),
dan EF (01 04) dan EF (01 04).

(Max 4096 Bytes) Penulisan


membutuhkan
Pembacaan SAM (Issuer)
membutuhkan untuk melakukan
SAM (Acquirer) otentikasi
untuk melakukan sebelum menulis
otentikasi data ke dalam
sebelum kartu
pembacaan data
dari dalam kartu

II-12
No Item APDU (READ) APDU (WRITE) Contoh

13 Sidik Jari Akses ke MF (3F Akses ke MF (3F


00), DF (10 01), 00), DF (10 01),
dan EF (01 05) dan EF (01 05).

(Max 4096 Bytes) Penulisan


membutuhkan
SAM (Issuer)
untuk melakukan
Pembacaan
otentikasi
membutuhkan
sebelum menulis
SAM (Acquirer)
data ke dalam
untuk melakukan
kartu
otentikasi
sebelum
pembacaan data
dari dalam kartu

14 Alamat Akses ke MF (3F Akses ke MF (3F


00), DF (10 01), 00), DF (10 01),
15 Nomor Telpon dan EF (01 06) dan EF (01 06).

16 Issue Date
(Max 238 Bytes) Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
Pembacaan
otentikasi
membutuhkan
sebelum menulis
SAM (Acquirer)
data ke dalam
untuk melakukan
kartu
otentikasi
sebelum
pembacaan data
dari dalam kartu

II-13
No Item APDU (READ) APDU (WRITE) Contoh

17 Status Akses ke MF (3F Akses ke MF (3F


00), DF (10 01), 00), DF (10 01),
dan EF (01 07) dan EF (01 07).

(Max 1 Byte) 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 Akses ke MF (3F


00), DF (10 01), 00), DF (10 01),
dan EF (01 08) dan EF (01 08).
Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu

II-14
No Item APDU (READ) APDU (WRITE) Contoh

19 Reserved Akses ke MF (3F Akses ke MF (3F


s/d 00), DF (10 01), 00), DF (10 01),
24 dan EF (01 08) dan EF (01 08).

Penulisan
membutuhkan
SAM (Issuer)
untuk melakukan
otentikasi
sebelum menulis
data ke dalam
kartu

II-15
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

JUDUL
PENELITI TAHUN HASIL PENELITIAN
PENELITIAN

Donny (Skripsi Tugas Implementasi 2008 Menyimpan dan membaca


Akhir Departemen Aplikasi Smart Health catatan medis dengan
Teknik Elektro Pada Smart card UI menggunakan smart card
Universitas Indonesia) Berbasis Java Card berbasis java card

Aryanti Zainuddin ; Tri Sistem Informasi 2015 Membuat aplikasi sistem


Supriady Amir (Skripsi Laboratorium Uji informasi laboratorium uji
Tugas Akhir Jurusan Kesehatan Pada Balai kesehatan yang dapat
Research yang sudah dilakukan

Elektro Universitas Besar Laboratorium diimplementasikan di BBLK


Hasanuddin) Kesehatan (BBLK) Makassar
Makassar
V. Ramesh Kumar; S. Health Care 2016 Membantu mengakses dan
Dayanidhi; K.Vignesh Recording System menyimpan data tentang
Using Smart card proses diagnosis serta
Technology membantu dalam perekaman
parameter seperti tekanan
darah, analisa klinis, dan detak
jantung dengan menggunakan
smart card
Sadath Hussain; Thilini Patient Healthcare 2016 Membuat database sistem
Ariyachandra; Mark Smart card System : informasi kesehatan yang
Frolick A Unified Medical menyinkronkan informasi
(Management Record for Access untuk semua pasien yang
Information System and Analytics menelusuri berbagai layanan di
Xavier University) sistem perawatan kesehatan
AS menggunakan kartu Unified
Medical Record Access and
Analysis (UMRAA).

MUZHIR SHABBAN AL- Billing System Design 2012 Mengimplementasikan Sistem


ANI ; RABAH NOORY ; Based On Internet Billing dengan mengkonstruksi
DUA'A YASEEN AL-ANI Environment sistem virtual bank untuk
meproses pembayaran

II-16
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.

II-17
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-1
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-2
III.2 Perancangan Sistem Layanan Medis Kampus

Mulai

Perancangan website

Konfigurasi website
dengan smart card

Membuat database
untuk website

Apakah data pada Perbaikan


smart car d dapat Tidak konfigurasi smart
terbaca pada card pada website
website?

Ya

Uji coba penelitian

Pembuatan laporan

Selesai

III-3
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-4
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-5
Mulai
A

Pasien melakukan
pembayaran tagihan
Pasien datang ke klinik pemeriksaan di website
RSUP

Pasien memberikan smart Tindakan pemeriksaan dan


card ke petugas medis pengobatan oleh petugas
untuk di scan di smart card medis di klinik
reader

Petugas medis di
klinik menginput
parameter hasil
Mengisi form Apakah pasien pernah pemeriksaan
pasien baru di Tidak melakukan p emeriksaan di pasien di website
klin ik RSUP
website RSUP ?

Ya Dokter di RSUP
menerima dan
memeriksa hasil
pemeriksaan di
Validasi kartu pasien klinik melalui
Pasien telah memiliki akun website RSUP
dengan RFID reader

Tidak
Dokter
menginput hasil
diagnosa pasien
klinik di website
Data valid? RSUP

Ya
Pasien menerima
hasil diagnosa
dari dokter
Pasien memilih melalui website
jenis RSUP
pemeriksaan di
website RSUP

selesai

Apakah saldo pasien


Pasien melakukan top up
mencukupi untuk Tidak
melakukan pemeriksaan? saldo

Ya

Gambar 3.3 Flowchart Alur Sistem

III-6
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.

LAPTOP/PC SMART CARD SMART CARD


READER

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

III-7
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-8
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-9
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-10
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-11
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-12
10. Ketika proses instalasi selesai maka akan muncul jendela seperti di bawah ini.
Klik “Finish”.

11. Pilih bahasa yang akan digunakan.

III-13
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-14
 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

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

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.

III-15
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-16
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-17
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-18
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-19
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.

III-20
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-1
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-2
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-3
 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-4
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-5
 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-6
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-7
 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-8
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-9
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-10
 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-11
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-12
 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-13
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-14
 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-15
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-16
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-17
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-18
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-19
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-20
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-21
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-22
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-23
Tabel 4.3 Pengujian Kecepatan Internet

NO. TEMPAT PROVIDER WAKTU DOWNLINK UPLINK


14.40
WiFi Teknik 0,71 Mbps 0,56 Mbps
Fakultas Teknik Wita
Gowa 14.42
1 XL 0,23 Mbps 0,69 Mbps
Universitas Wita
Hasanuddin 14.50
Simpati 0,02 Mbps 0,16 Mbps
Wita
18.11
WiFi IndiHome 20,37 Mbps 2,94 Mbps
Wita
Jalan Sunu 17.56
2 XL 1,40 Mbps 1,11 Mbps
Kompleks Unhas Wita
18.06
Simpati 8,01 Mbps 6,14 Mbps
Wita
09.28
Jalan Kakatua XL 2.29 Mbps 8.06 Mbps
Wita
3 Asrama
09.50
Mattoangin Simpati 18.87 Mbps 4.89 Mbps
Wita
Dunkin Donuts,
19.15
4 Jalan Sultas WiFi 2.39 Mbps 0.59 Mbps
Wita
Hasanuddin

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-24
Tabel 4.4 Pengujian Jarak Dokter dengan Pasien

JARAK
NAMA NAMA LOKASI
DOKTER LOKASI PASIEN LOKASI DOKTER KETERANGAN
NO.
BESERTA DOKTER BESERTA PASIEN
ID ID DAN
PASIEN

dr. Idar
Jalan Sunu Misa Amira Jalan Sunu
Mappangara, 0 Km Berhasil
1. Kompleks Azwar Kompleks
Sp.PD, Sp.JP
Unhas (1258354995) Unhas
(2135293622)
Dr. dr. Fardah Jalan
Jalan Sunu Galang
Akil, Sp.PD, Kakatua 6,7 Km
2. Kompleks Ananta Putra Berhasil
K-GEH Asrama
Unhas (3851657666)
(2981376581) Mattoangin
Dr. dr. Fardah Dunkin Aisyah
Jalan Sunu
Akil, Sp.PD, Donuts, Nurjannah 4,1 Km
3. Kompleks Berhasil
K-GEH Jalan Sultas Suyuti
Unhas
(2981376581) Hasanuddin (9153158336)
Fakultas
Teknik
dr. Idar
Gowa Rahmat Jalan Sunu
Mappangara, 20,3 Km
4. Universitas Rizaldi Kompleks Berhasil
Sp.PD, Sp.JP
Hasanuddin, (9219943269) Unhas
(2135293622)
Jalan Poros
Malino
Fakultas
Dr. dr. Harun
Teknik
Iskandar, Jalan Andi
Gowa
Sp.P (K),. Kakatua Muhammad 14,1 Km
5. Universitas Berhasil
Sp.PD, Sp.P Asrama Arung
Hasanuddin,
(K) Mattoangin (8592884983)
Jalan Poros
(1614964488)
Malino
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-25
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.

WEBSITE KLINIK
NO. APLIKASI KESEHATAN LAINNYA
UNHAS
1. GoDoc : Tanya Dokter Gratis  Sistem Web Site Klinik
Unhas dapat
 Menyediakan layanan kesehatan
menyimpan rekam
profesional dengan membuka portal
medis pasien dalam
 Setiap dokter umum dan dokter spesialis jangka waktu yang
Go Dok yang berasal dari berbagai kota lama.
besar di Indonesia yang teregristasi di IDI
 Memiliki fitur Chatting
dan memiliki pengalaman selama bertahun-
untuk memudahkan
tahun sebagai dokter praktek baik di rumah
pasien dalam
sakit maupun klinik kesehatan.
berkonsultasi dengan
 Layanan kesehatan yang ditawarkan Go pihak klinik dan
Doc bebas dari pungutan biaya apapun petugas medis. Dan

IV-26
2. Apa Sakitku? jika terjadi hal-hal
 Menyediakan informasi berbagai penyakit darurat maka petugas
yang ada di tubuh manusia dengan cara medis dapat segera
memasukkan info keluhan kesehatan user. menuju ke lokasi
pasien.
 Di Aplikasi ApaSakitKu, kita dapat
 Pasien dapat
berkonsultasi dengan dokter untuk
memeriksakan
menanyakan penyakit dan biayanya pun
kesehatnnya di klinik
gratis. Tapi kekurangannya adalah dokter
yang akan ditangani
jarang online.
langsung oleh petugas
 Terdapat juga fitur maps untuk medis dan dapat
mengetahui sarana pelayanan kesehatan melakukan
yang ada di sekitar kita. Sarana pelayanan pemeriksaan
kesehatan yang bisa dideteksi adalah lokasi laboratorium seperti
praktik dokter, klinik umum, klinik gigi, Tes Urine Rutin dan
rumah sakit dan apotek yang berada di Darah.
sekitar lokasi Anda.  Proses Pembayaran

 Diaplikasi ApaSakitKu juga terdapat juga sangat mudah

artikel-artikel kesehatan. dengan menggunakan


smart card yang mana
smartcard tersebut
3. Alodokter: Chat Bersama Dokter
berupa Kartu
 Berbincang langsung bersama dokter Mahasiswa, Kartu
secara gratis melalui chat. Dosen, maupun Kartu
 Aplikasi ini berisi informasi tentang Pegawai yang
ratusan penyakit, obat, dan gejala berbagai terintegrasi dengan
penyakit. layanan yang ada
 Aplikasi ini mempunyai majalah Alodokter kantin, perpustakaan
guna mendapatkan informasi tentang dan Bus BRT.
kesehatan, kesejahteraan, dan keluarga.

IV-27
4. Halo Doc  Mahasiswa yang
memiliki asuransi
 Aplikasi ini memudahkan pasien untuk
kesehatan tidak perlu
berkonsultasi dengan dokter melalui via
membayar biaya
chatting, voice call, dan video call tetapi
pemeriksaan di Klinik
pasien harus membayar biaya konsultasi.
Unhas (gratis).
 HaloDoc juga menyediakan menu Apotek  Dokter Spesialis yang
Antar (Pharmacy Delivery) untuk memesan mendiagnosa pasien
kebutuhan obat atau vitamin dan diantar dapat memberikan
langsung ke rumah dengan cepat, aman, resep obat sesuai
dan nyaman. 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.

IV-28
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-1
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.

V-2
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,
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. 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">

1|Lampiran
<?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>

2|Lampiran
<!-- 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") {

3|Lampiran
$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 {

4|Lampiran
$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"];

5|Lampiran
} 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";

6|Lampiran
$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));

7|Lampiran
$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

8|Lampiran
$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";

9|Lampiran
$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>

10 | 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>

11 | 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>

12 | 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>

13 | 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">

14 | 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;

15 | 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>

16 | 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>

17 | 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>

18 | 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>

19 | 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();

20 | 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]));?>

21 | 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">

22 | 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>

23 | 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>

24 | 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'];

25 | 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>

26 | 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 -->

27 | 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>

28 | 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 -->

29 | 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'>

30 | 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>

31 | 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>

32 | 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>

33 | 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>

34 | 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>

35 | 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">

36 | 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' ?>

37 | 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 -->

38 | 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>

39 | 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>

40 | 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>

41 | L a m p i r a n
Telp: (0411) 586200<br>
Email: info@unhas.ac.id
</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'";

42 | 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">

43 | 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]>

44 | 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)))){

45 | 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: info@unhas.ac.id
</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>

46 | 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> &#8451 </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 "

47 | 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'>";

48 | 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>

49 | 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: info@unhas.ac.id
</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>

50 | 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>

51 | 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: info@unhas.ac.id
</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 -->

52 | 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>

53 | 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);

54 | 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);

55 | 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;

56 | 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

57 | 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);

58 | 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;

59 | 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;

60 | 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) {

61 | 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;

62 | 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

?>

63 | L a m p i r a n
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
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.

69 | 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.

70 | L a m p i r a n

Anda mungkin juga menyukai