PERUSAHAAN/INDUSTRI
Disusun oleh:
Disusun oleh:
Muhammad Alimuddien Rasyid NIM : 155150200111227
Moh. Zulfiqar Naufal Maulana NIM : 155150201111353
Mengetahui,
Ketua Jurusan Teknik Informatika
ii
PERNYATAAN ORISINALITAS
iii
KATA PENGANTAR
Puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat, taufik dan
hidayah-Nya sehingga laporan PKL yang berjudul “Pengembangan Sistem
Pelayanan Fasilitas Kesehatan Terpadu berbasis Website” ini dapat terselesaikan.
Penulis menyadari bahwa laporan ini tidak akan berhasil tanpa bantuan dari
beberapa pihak. Oleh karena itu, penulis ingin menyampaikan rasa hormat dan
terima kasih kepada:
1. Bapak Agi Putra Kharisma, S.T., M.T. selaku dosen pembimbing PKL yang telah
dengan sabar membimbing dan mengarahkan penulis sehingga dapat
menyelesaikan laporan ini Fakultas Ilmu Komputer.
2. Bapak Agus Wahyu Widodo, S.T., M.Cs. selaku Ketua Program Studi Teknik
Informatika Fakultas Ilmu Komputer.
3. Bapak Tri Astoto Kurniawan, S.T., M.T., Ph.D. selaku selaku Ketua Jurusan
Teknik Informatika Fakultas Ilmu Komputer.
4. Ayahanda dan Ibunda dan seluruh keluarga besar atas segala nasehat, kasih
sayang, perhatian dan kesabarannya di dalam membesarkan dan mendidik
penulis, serta yang senantiasa tiada henti-hentinya memberikan doa dan
semangat demi terselesaikannya laporan ini.
5. Seluruh pihak dari CV. Technobit Indonesia, Bapak Danang dan Bapak Finsa
yang telah bersedia membina dan membimbing penulis dalam menjalankan
dan menyelesaikan PKL ini.
6. Seluruh anggota dan pengurus Lembaga Kajian Islam – Al-Fatih Muslim Drenalin
yang telah membersamai penulis dalam banyak waktu selama masa kuliah dan
memberikan banyak dukungan berupa doa dan aspek non-materi lainnya.
7. Seluruh civitas akademika Teknik Informatika Universitas Brawijaya yang telah
banyak memberi bantuan dan dukungan selama penyelesaian laporan PKL ini.
iv
ABSTRAK
Kata kunci: E-Medica, fasilitas kesehatan, cloud computing, web, SOAP, XML
v
ABSTRACT
vi
DAFTAR ISI
vii
3.6.2 Use Case Diagram ....................................................................... 12
3.6.3 Use Case Scenario ....................................................................... 15
3.6.4 Sequence Diagram ...................................................................... 15
3.7 Teori Pengujian .................................................................................... 16
3.7.1 Whitebox Testing ........................................................................ 16
3.7.2 Blackbox Testing.......................................................................... 16
3.7.3 Usability Testing .......................................................................... 18
BAB 4 METODOLOGI ............................................................................................. 19
Studi Literatur ...................................................................................... 19
4.2 Analisis Kebutuhan .............................................................................. 20
4.3 Perancangan ........................................................................................ 20
4.4 Implementasi ....................................................................................... 21
4.5 Pengujian ............................................................................................. 21
4.5.1 Pengujian Unit (Whitebox Testing) ............................................. 21
4.5.2 Pengujian Validasi (Blackbox Testing) ......................................... 22
4.5.3 Pengujian Usabilitas (Usability Testing) ...................................... 22
4.6 Kesimpulan dan Saran ......................................................................... 22
BAB 5 HASIL DAN PEMBAHASAN .......................................................................... 23
5.1 Gambaran Umum Sistem ..................................................................... 23
5.2 Analisis Kebutuhan .............................................................................. 23
5.2.1 Identifikasi Aktor ......................................................................... 23
5.2.2 Kebutuhan Fungsional................................................................. 23
5.2.3 Kebutuhan Non-fungsional ......................................................... 26
5.3 Pemodelan Sistem ............................................................................... 26
5.3.1 Use Case Diagram ....................................................................... 26
5.3.2 Use Case Scenario ....................................................................... 27
5.4 Perancangan ........................................................................................ 34
5.4.1 Perancangan Arsitektur Sistem ................................................... 34
5.4.2 Perancangan Komponen ............................................................. 43
5.4.3 Perancangan Antarmuka ............................................................. 44
5.5 Spesifikasi Piranti Pendukung .............................................................. 52
5.5.1 Spesifikasi Perangkat Keras ......................................................... 52
viii
5.5.2 Spesifikasi Perangkat Lunak ........................................................ 53
5.6 Implementasi ....................................................................................... 53
5.6.1 Implementasi Algoritma.............................................................. 53
5.6.2 Implementasi Antarmuka ........................................................... 55
5.7 Pengujian ............................................................................................. 60
5.7.1 Pengujian Unit (Whitebox testing) .............................................. 60
5.7.2 Pengujian Validasi (Blackbox testing) ......................................... 66
5.7.3 Pengujian Usabilitas .................................................................... 71
BAB 6 PENUTUP .................................................................................................... 72
6.1 Kesimpulan........................................................................................... 72
6.2 Saran .................................................................................................... 72
DAFTAR PUSTAKA.................................................................................................. 73
ix
DAFTAR TABEL
x
Tabel 5.30 Rencana Pengujian Validasi ................................................................. 67
Tabel 5.31 Rencana Pengujian Validasi Kebutuhan Non-fungsional .................... 68
Tabel 5.32 Hasil Pengujian Validasi Kebutuhan Funsional.................................... 68
xi
DAFTAR GAMBAR
xii
Gambar 5.20 Perancangan Antarmuka Mengedit Detail Profil Pengguna ........... 51
Gambar 5.21 Implementasi Antarmuka Login ...................................................... 55
Gambar 5.22 Implementasi Antarmuka Daftar .................................................... 56
Gambar 5.23 Implementasi Antarmuka Melihat Daftar Dokter ........................... 57
Gambar 5.25 Implementasi Antarmuka Melihat Daftar Dokter ........................... 57
Gambar 5.26 Implementasi Antarmuka Melihat Detail Dokter............................ 58
Gambar 5.27 Implementasi Antarmuka Memantau Nomor Antrian ................... 59
Gambar 5.28 Implementasi Antarmuka Melihat Detail Profil Pengguna ............. 59
Gambar 5.29 Implementasi Antarmuka Mengedit Detail Profil Pengguna .......... 60
Gambar 5.30 Implementasi Antarmuka Mengedit Detail Profil Pengguna .......... 60
Gambar 5.31 Flow Graph booking_dokter ........................................................... 62
Gambar 5.32 Flow Graph get_data_selection ...................................................... 64
Gambar 5.33 Flow Graph index ............................................................................ 65
xiii
DAFTAR LAMPIRAN
xiv
BAB 1 PENDAHULUAN
1
1. Bagaimana hasil analisis dan spesifikasi persyaratan yang harus terwujud
pada sistem pelayanan fasilitas kesehatan terpadu berbasis website
tersebut?
2. Bagaimana rancangan sistem pelayanan fasilitas kesehatan terpadu yang
sesuai dengan spesifikasi persyaratan sistem tersebut?
3. Bagaimana hasil implementasi sistem pelayanan fasilitas kesehatan
terpadu yang sesuai dengan rancangan sistem tersebut?
4. Bagaimana hasil pengujian sistem pelayanan fasilitas kesehatan terpadu
tersebut?
1.3 Tujuan
Tujuan penelitian yang harus dicapai adalah sebagai berikut:
1. Mengetahui hasil analisis dan spesifikasi persyaratan yang harus terwujud
pada sistem pelayanan fasilitas kesehatan terpadu berbasis website.
2. Mengetahui rancangan sistem pelayanan fasilitas kesehatan terpadu yang
sesuai dengan spesifikasi persyaratan sistem
3. Mengetahui hasil implementasi sistem pelayanan fasilitas kesehatan
terpadu yang sesuai dengan rancangan sistem
4. Mengetahui hasil pengujian sistem pelayanan fasilitas kesehatan terpadu
1.5 Manfaat
Manfaat yang akan diperoleh dari Praktik Kerja Lapangan ini, antara lain:
1. Bagi penulis, manfaat yang didapatkan dalam praktik kerja lapangan ini adalah
untuk melatih dan menambah pengalaman serta wawasan kerja di lingkungan
perusahaan teknologi informasi. Penulis dapat memperoleh pengetahuan
mengenai mekanisme kerja yang secara umum terdapat pada setiap
perusahaan.
2. Bagi perusahaan CV. Technobit Indonesia, manfaat yang didapatkan adalah
untuk mengembangkan dan memperbaiki sistem yang sebelumnya telah dicoba
2
untuk dikembangkan, terlebih dari sisi tampilan antarmuka dan optimalisasi
kinerja website.
3. Bagi masyarakat secara umum, manfaat yang diperoleh adalah dapat
menghemat biaya perjalanan menuju tempat layanan fasilitas kesehatan dan
penyakit para pasien dapat tertangani dengan lebih efisien.
3
BAB 2 PROFIL OBYEK PKL
4
2.4 Struktur Organisasi Perusahaan
5
pengembangan dari sistem yang telah dibuat sebelumnya, untuk menggaji
karyawan dan juga untuk memenuhi biaya operasional.
6
BAB 3 TINJAUAN PUSTAKA
3.2 XML
Berdasarkan dokumentasi W3C (2013), Extensible Markup Language atau
biasa disingkat menjadi XML adalah bahasa yang digunakan untuk
mendeskripsikan sekumpulan data objek-objek dari sebuah kelas pada dokumen-
dokumen XML dan menjelaskan bagaimana ketentuan program dari suatu
komputer dalam memproses dokumen-dokumen tersebut.
Dokumen XML terdiri dari entitas yang merupakan unit penyimpanan data
terurai yang tersusun atas karakter-karakter yang beberapa di antaranya
membentuk data karakter dan sisanya membentuk markup, ataupun data yang
tidak terurai. Deskripsi dari tata letak penyimpanan dan struktur logika dari
dokumen XML disandikan oleh markup, sehingga pada tata letak penyimpanan
dan struktur logika dimasukkan aturan atau batasan-batasan melalui penyandian
tersebut secara paksa (W3C, 2013).
7
Gambar 3.1 Struktur Pesan pada Protokol SOAP (IBM, 2018)
Sebuah pesan SOAP dikemas dalam sebuah dokumen XML yang terdiri dari
envelope, header, body dan vault (IBM, 2018). Hal ini digambarkan pada
Gambar 3.1 dimana envelope adalah elemen yang membungkus header dan body.
Envelope merupakan elemen inti dari pesan SOAP. Header adalah sub-elemen
yang bersifat opsional yang berfungsi sebagai tempat bertukar informasi terkait
aplikasi yang nantinya akan diproses oleh node SOAP dalam jalur pesan. Body
adalah sub-elemen yang harus ada dalam pesan SOAP, karena memuat informasi
yang akan disampaikan kepada penerima pesan yang terakhir. Elemen terakhir
pada pesan SOAP adalah fault, yaitu sub-elemen dari pesan SOAP yang berfungsi
sebagai tempat untuk menyertakan laporan error.
1 <?xml version='1.0' Encoding='UTF-8' ?>
2 <env:Envelopexmlns:env="http://www.w3.org/2003/05/soap-
3 envelope">
4 <env:Header>
5 <m:reservation
6 xmlns:m="http://travelcompany.example.org/reservation"env:r
7 ole="http://www.w3.org/2003/05/soap-envelope/role/next">
8 <m:reference>uuid:093a2da1-q345-739r-ba5d-
9 pqff98fe8j7d</m:reference>
10 <m:dateAndTime>2007-11-29T13:20:00.000-
11 05:00</m:dateAndTime>
12 </m:reservation>
13 <n:passenger
14 xmlns:n="http://mycompany.example.com/employees"env:role="h
15 ttp://www.w3.org/2003/05/soap-envelope/role/next">
16 <n:name>Fred Bloggs</n:name>
17 </n:passenger>
18 </env:Header>
19 <env:Body>
20 <p:itinerary
21 xmlns:p="http://travelcompany.example.org/reservation/trave
22 l">
23 <p:departure>
24 <p:departing>New York</p:departing>
25 <p:arriving>Los Angeles</p:arriving>
26 <p:departureDate>2007-12-14</p:departureDate>
27 <p:departureTime>late afternoon</p:departureTime>
28 </p:departure>
29 <p:return>
30 <p:departing>Los Angeles</p:departing>
31 <p:arriving>New York</p:arriving>
32 <p:departureDate>2007-12-20</p:departureDate>
33 <p:departureTime>mid-morning</p:departureTime>
34 </p:return>
8
35 </p:itinerary>
36 </env:Body>
37 </env:Envelope>
9
berdasarkan komponen yang dapat digunakan kembali, seperti sistem berbasis
web. Namun kekurangan dari pendekatan ini adalah jika sistem yang lama
digantikan oleh sistem baru dan sedang dalam proses pengembangan. Pengguna
menginginkan fungsionalitas pada sistem yang lama, sementara sistem yang baru
belum selesai secara utuh dan pengguna tidak ingin mencoba sistem yang belum
selesai sehingga sulit untuk mendapatkan masukan yang berguna dari pelanggan
(Sommerville, 2011).
Secara umum, pendekatan iteratif memiliki tahapan-tahapan sebagaimana
pada Gambar 3.2 berikut.
10
serta hubungan antar elemen tersebut dan struktur internalnya (Bell, 2004). Tipe-
tipe atau classifier yang dimaksud dalam class diagram adalah class, interface, tipe
data dan komponen. Untuk lebih jelasnya mengenai gambaran struktur class
diagram dapat dilihat pada Gambar 3.3.
11
dimodelkan dengan garis utuh, panah terbuka dan di pangkal panah disertakan
belah ketupat berwarna putih. Sementara komposisi dimodelkan dengan garis
utuh, panah terbuka dan disertai belah ketupat berwarna hitam di pangkal panah
(Fowler, 2003).
Relasi pewarisan adalah relasi antara kedua class yang memiliki perbedaan
namun terdapat banyak kemiripan. Kedua class tersebut dinamakan sebagai
supertype dan subtype. Sebagai contoh, terdapat class Customer yang masih
bersifat general, memiliki class yang lebih spesifik yaitu Personal Customer dan
Corporate Customer. Pada contoh ini, class Customer adalah supertype dan kedua
kelas setelahnya adalah subtype. Sehingga properti pada class Customer
diwariskan pada masing-masing subtype (Fowler, 2003).
Multiplisitas pada setiap relasi menunjukkan berapa banyak obyek yang dapat
dimiliki (Fowler, 2003). Terdapat beberapa multiplisitas yang sering dijumpai,
yaitu:
1. 1 yang bermakna sebuah kelas setidaknya harus memiliki satu obyek
2. 0..1, yang artinya sebuah kelas bisa atau tidak memiliki satu obyek.
3. *, yang berarti sebuah kelas tidak perlu memiliki satu objek dan jika
akan dibuat sebuah objek pada kelas tersebut, tidak ada batasan
maksimal jumlah objek yang dapat dibuat.
12
yang terdiri di dalamnya. Panjang kalimat use case dapat dituliskan lebih dari satu
baris. Use case dituliskan dengan menggunakan kata kerja.
13
3.6.2.3 Relasi Antar-Use Case
Gambar 3.6 Contoh Relasi antar Use Case (Booch et al., 2005)
Terdapat beberapa relasi yang dapat dibangun pada antar use case, yaitu
generalisasi, include dan extend (Booch et al., 2005). Relasi generalisasi diartikan
sebagaimana generalisasi pada sesama kelas. Pada generalisasi antar use case,
sebuah use case dapat mewarisi makna dan perilaku dari parent use case. Use case
juga dapat memodifikasi dengan melakukan override pada parent use case dan
juga menggantikan peran parent use case pada bagian di mana parent use case
muncul jika diperlukan. Relasi generalisasi ditandai dengan panah bergaris utuh
dengan panah besar terbuka.
Relasi include dimaknai sebagai hubungan antara base use case dengan
supplier use case, dimana supplier use case digunakan pada bagian atau tahapan
tertentu pada proses yang terjadi pada base use case. Base use case tidak dapat
berdiri sendiri tanpa supplier use case. Relasi include ini digunakan untuk
mendelegasikan sebuah proses yang sama pada banyak use case menjadi satu
atau banyak use case yang berdiri sendiri, sehingga use case baru ini dapat
digunakan oleh use case lain sesuai dengan kebutuhan.
Relasi extend memiliki arti bahwa supplier use case digunakan pada bagian
atau tahapan tertentu pada proses yang terjadi pada base use case, namun hanya
bersifat opsional sehingga base use case dapat berdiri sendiri atau dijalankan
tanpa supplier use case. Relasi ini dapat diistilahkan juga sebagai ekstensi atau
perpanjangan proses yang terjadi pada use case lainnya. Use case ekstensi ini
dapat digunakan oleh use case lain, bisa juga tidak digunakan. Dalam kata lain, use
case ini bersifat opsional dari sudut pandang perilaku sistem.
Relasi include dan extend ditandai dengan panah bergaris putus-putus dengan
kepala panah tidak utuh. Perbedaan panah include dan extend terletak pada arah
panahnya. Panah include mengarah pada supplier use case, sementara panah
extend mengarah pada base use case.
14
3.6.3 Use Case Scenario
Scenario dalam use case dapat diartikan sebagai tahapan interaksi yang
dilakukan antara aktor dengan sistem secara berurutan. Use case scenario
menjelaskan cerita yang dilalui dalam menggunakan sistem, atau tahapan-
tahapan yang dilakukan untuk menuntaskan use case. Sebagai contoh, scenario
yang menjelaskan tahapan-tahapan yang harus dilalui untuk membeli barang
secara tunai, atau bagaimana scenario yang dilalui ketika gagal membeli barang
karena penolakan pembayaran kartu kredit (Larman, 2004).
Cockburn (2001) mengusulkan cara untuk mendeskripsikan use case scenario
dengan sebuah template yang terdiri dari nama use case, nama aktor, tujuan dari
use case tersebut, pre-condition yang terjadi sebelum use case tersebut berjalan
dan pemicu dijalankannya use case, scenario atau tahapan-tahapan berjalannya
use case tersebut atau biasa diistilahkan pula dengan sebutan main flow,
exception atau pengecualian jika main flow tidak berjalan sesuai dengan harapan
atau biasa disebut dengan alternative flow. Lalu diakhiri dengan post-condition
yang merupakan kondisi akhir yang akan terjadi setelah use case dijalankan.
15
3.7 Teori Pengujian
3.7.1 Whitebox Testing
Pengujian white-box adalah pengujian yang memfokuskan perhatian pada
mekanisme internal dari sebuah sistem atau komponen, sehingga untuk
melakukan pengujian ini memerlukan pemahaman pada logika pemrosesan
sistem. Salah satu teknik yang biasa digunakan dalam pengujian adalah pengujian
basis path (Gao et al., 2003).
3.7.1.1 Pengujian Basis Path
Pengujian basis path adalah pengujian yang dilakukan berdasarkan ukuran
kompleksitas yang terdapat pada logika dan prosedur suatu sistem (Pressman,
2010).
16
beberapa teknik yang biasa digunakan pada pengujian black-box, yaitu
equivalence partitioning, boundary value analysis dan cause-effect graph.
3.7.2.1 Equivalence Partitioning
Equivalence partitioning merupakan teknik yang membagi input-input yang
dapat dimasukkan ke dalam klasifikasi data sehingga dari klasifikasi tersebut dapat
dipilih kasus uji yang akan dilakukan. Dari sekian banyak kasus uji, dipilih kasus uji
yang dapat mewakili satu kelas tertentu sehingga penguji perangkat lunak tidak
perlu melakukan banyak kasus uji untuk menemukan kesalahan umum (Pressman,
2010). Klasifikasi input pada equivalence partitioning mewakili nilai valid maupun
invalid yang diharapkan. Berikut panduan yang menjadi dasar dalam
mendefinisikan kelas equivalence:
1. Jika kondisi input adalah terkategori rentang, didefinisikan satu kelas valid
dan dua kelas invalid.
2. Jika kondisi input mengharuskan ada nilai yang spesifik, didefinisikan satu
kelas valid dan dua kelas invalid.
3. Jika kondisi input adalah terkategori bagian dari sebuah rangkaian,
didefinisikan satu kelas valid dan satu kelas invalid.
4. Jika kondisi input adalah boolean, didefinisikan satu kelas valid dan satu
kelas invalid.
3.7.2.2 Boundary Value Analysis
Boundary value analysis (BVA) adalah teknik pengujian yang digunakan untuk
menguji nilai-nilai yang berada pada batas pembeda nilai input pada suatu kelas
equivalence (Pressman, 2010). Teknik ini dilakukan karena seringkali error lebih
banyak terjadi pada batas dari domain input jika dibandingkan pada tengah
domain. BVA tidak hanya memfokuskan perhatian pada input yang mempengaruhi
kasus uji, namun juga output yang dihasilkan dari kasus uji tersebut. Berikut
panduan yang menjadi dasar dalam mendefinisikan kasus uji dalam BVA:
1. Jika kondisi input memiliki rentang antara a sampai b, kasus uji harus
mencakup kasus dengan input bernilai a dan b, input bernilai sedikit di atas
a dan b serta input bernilai sedikit di bawah a dan b.
2. Jika kondisi input mencakup beberapa nilai, nilai terendah dan tertinggi
harus diuji, disertai dengan nilai yang berada sedikit di atas dan di bawah
nilai terendah dan tertinggi.
3. Terapkan dua panduan di atas untuk kondisi output, sehingga kasus uji
dapat diukur apakah dapat menghasilkan nilai tertinggi dan nilai terendah
yang dapat dicapai.
4. Jika pada struktur program ditetapkan batasan tertentu, misal ditetapkan
bahwa sebuah tabel hanya dapat menampung maksimal 100 catatan,
kasus uji dapat dibuat untuk menguji batasan tersebut.
17
3.7.3 Usability Testing
Usability Testing dilakukan untuk melakukan pengujian sistem dengan cara
menguji sistem secara langsung kepada sejumlah responden untuk mengetahui
tingkat kemudahan penggunaan sebuah sistem. Pengujian ini dilakukan setelah
sistem sudah siap digunakan sehingga diperoleh penilaian berdasarkan hasil dan
analisis responden yang dihitung berdasarkan metode yang digunakan. Dalam
pengujian usabilitas kali ini digunakan metode expert.
18
BAB 4 METODOLOGI
Studi Literatur
Literatur yang dikumpulkan dan dipelajari untuk menunjang penelitian dan
penulisan laporan telah dipaparkan sebelumnya pada bab 3. Literatur-Literatur
tersebut berkaitan dengan teori-teori berikut:
1. Web Service
2. XML
3. SOAP
19
4. Cloud Computing
5. Pengembangan Perangkat Lunak Metode Iteratif
6. Unified Modeling Language
a. Class Diagram
b. Use Case Diagram
c. Use Case Scenario
d. Sequence Diagram
7. Pengujian
a. White-Box Testing
b. Black-Box Testing
4.3 Perancangan
Perancangan adalah tahapan untuk mengadaptasi seluruh spesifikasi
kebutuhan yang telah diidentifikasi menjadi model yang siap untuk
diimplementasikan dalam bentuk kode program. Pada tahap ini, rancangan sistem
harus mewujudkan seluruh spesifikasi kebutuhan yang diinginkan pada sistem dan
tidak kontraproduktif terhadap spesifikasi tersebut. Perancangan ini dianalisis
dengan pendekatan berorientasi objek. Beberapa tahapan dalam perancangan
adalah sebagaimana pada uraian berikut.
20
1. Perancangan Arsitektur
Arsitektur sistem akan dimodelkan menggunakan sequence diagram dan class
diagram berdasarkan standar UML
2. Perancangan Komponen
Rancangan komponen didokumentasikan dalam bentuk pseudocode dari
kelas-kelas yang nantinya akan menjadi controller dari sistem ini.
3. Perancangan Antarmuka
Rancangan antarmuka sistem diatur dan disesuaikan berdasarkan kebutuhan
sistem.
4.4 Implementasi
Implementasi adalah tahapan untuk mewujudkan rancangan yang sudah
disusun sebelumnya dalam bentuk kode program. Implementasi yang dilakukan
pada sistem ini mencakup algoritma pemrosesan pada sistem (back end) dan
tampilan antarmuka sistem (front end). Implementasi sistem ini harus sesuai
dengan perancangan yang telah dibuat sebelumnya.
Terdapat dua aspek implementasi yang dilakukan, yaitu pada aspek logika yang
mengimplementasikan algoritma yang berfungsi untuk mengatur dan mengolah
jalur pemrosesan data dan informasi. Aspek yang kedua yaitu aspek antarmuka
yang diimplementasikan menggunakan bahasa pemrograman PHP versi 7.2
dengan framework CodeIgniter 3.1.4 pada back-end dan pada front-end
diimplementasikan menggunakan framework bootstrap versi 3 dan dioptimalkan
dengan Javascript.
4.5 Pengujian
Setelah implementasi sistem tuntas, dilakukan pengujian pada sistem dengan
tujuan untuk mengukur tingkat kesesuaian sistem dengan kebutuhan yang telah
dianalisis dan untuk memperbaiki kesalahan yang menyebabkan ketidaksesuaian
jika terjadi. Pengujian ini dilakukan dengan metode white box dan black box.
Pengujian yang dilakukan terdapat pengujian unit yang dilakukan dengan
whitebox testing, pengujian validasi dengan menggunakan blacbox testing, dan
pengujian usabilitas sistem.
21
4.5.2 Pengujian Validasi (Blackbox Testing)
Black-box testing adalah pengujian yang memfokuskan perhatian pada output
yang dihasilkan berdasarkan input yang dimasukkan dan kondisi eksekusi.
Pengujian ini mengabaikan bagaimana mekanisme sistem dalam memproses input
tersebut untuk menghasilkan output, dalam kata lain pengujian ini dilakukan pada
level pengujian sistem dan integrasi, yaitu berkaitan dengan fungsionalitas sistem
berikut kesesuaiannya dengan kebutuhan pengguna (Gao et al., 2003). Terdapat
beberapa teknik yang biasa digunakan pada pengujian black-box, yaitu
equivalence partitioning, boundary value analysis dan cause-effect graph.
22
BAB 5 HASIL DAN PEMBAHASAN
23
Pengguna terdaftar dapat masuk kedalam
sistem dengan menggunakan username
1 Med-01-001 Login
dan password pengguna untuk
menggunakan sistem secara keseluruhan
Melihat Daftar
Pengguna dapat melihat daftar fasilitas
4 Med-01-004 Fasilitas
kesehatan yang terintegrasi dalam sistem
Kesehatan
Melihat Detail
Pengguna dapat melihat detail fasilitas
8 Med-01-008 Fasilitas
kesehatan yang dipilihnya
Kesehatan
24
Pengguna terdaftar dapat masuk kedalam
sistem dengan menggunakan username
1 Med-01-001 Login
dan password pengguna untuk
menggunakan sistem secara keseluruhan
Melihat Daftar
Pengguna dapat melihat daftar fasilitas
4 Med-01-004 Fasilitas
kesehatan yang terintegrasi dalam sistem
Kesehatan
Melihat Detail
Pengguna dapat melihat detail fasilitas
8 Med-01-008 Fasilitas
kesehatan yang dipilihnya
Kesehatan
Melakukan
Pengguna dapat melakukan booking pada
10 Med-01-010 Booking Pada
dokter dimaksud
Dokter Dimaksud
Melihat Detail
12 Med-01-012 Pengguna dapat melihat detail profilnya
Profil Pengguna
25
Mengedit Detail
13 Med-01-013 Pengguna dapat mengedit detail profilnya
Profil Pengguna
26
Gambar 5.1 Use Case Diagram Medique
27
5. Memasukkan kata sandi
6. Sistem melakukan pengecekan username dan kata sandi pengguna.
Jika gagal masuk kedalam sistem maka akan menampilkan tulisan ‘Oh Sorry!
Alur Alternatif
Username Or Password Not Match’
Kondisi Sesudah Pengguna dapat menggunakan seluruh fungsi sistem
28
Alur Alternatif Tidak ada
Kondisi Sesudah Pengguna dapat melihat daftar dokter yang terintegrasi sistem
29
Pengguna dapat mencari fasilitas kesehatan dengan kriteria yang ditetapkan
Objektif
pengguna
1. Pengguna Terdaftar
Aktor
2. Pengguna Tamu
1. Pengguna membuka sistem
Prasyarat
2. Pengguna membuka tab ‘Fasilitas Kesehatan’
1. Pengguna memilih kriteria fasilitas kesehatan yang ingin ditampilkan
2. Pengguna memasukkan nama fasilitas kesehatan
3. Pengguna memilih kota fasilitas kesehatan berada
Alur Utama
4. Pengguna memilih klinik
5. Pengguna memilih jenis jaminan kesehatan
6. Sistem menampilkan data fasilitas kesehatan dimaksud
Apabila data tidak ditemukan, maka sistem akan menampilkan ‘Maaf! Data
Alur Alternatif
yang Anda Cari Tidak Ditemukan’
Pengguna dapat melihat daftar fasilitas kesehatan sesuai dengan kriteria
Kondisi Sesudah
masukan dari pengguna
30
1. Pengguna memilih fasilitas kesehatan yang ingin dilihat detailnya
Alur Utama
2. Sistem menampilkan data fasilitas kesehatan yang dipilih pengguna
Alur Alternatif Tidak ada
Kondisi Sesudah Pengguna dapat melihat detail fasilitas kesehatan yang dipilih
Tabel 5.14 Use Case Scenario Melakukan Booking Pada Dokter Tertentu
Melakukan Booking Pada Dokter Tertentu (Med-01-010)
Objektif Pengguna dapat melakukan booking pada dokter dan waktu tertentu
Aktor Pengguna Terdaftar
1. Pengguna membuka sistem
Prasyarat 2. Penguna telah melakukan login pada sistem
3. Pengguna masuk kedalam halaman detail dokter
1. Pengguna memilih tanggal yang diinginkan pada kolom seleksi tanggal
2. Sistem menampilkan daftar praktik pada jadwal terpilih yang dipilih
pengguna
3. Pengguna menekan tombol ‘booking’ pada bagian kanan detail jadwal
Alur Utama yang diinginkan
4. Sistem menampilkan pilihan jaminan kesehatan yang dapat digunakan
5. Pengguna memilih jenis jaminan kesehatan apa yang akan digunakan
6. Sistem menyimpan data pengguna dan dan menampilkan nomor
antrian dan nomor loket yang didapat pengguna
31
Ketika pengguna belum melakukan login maka akan muncul halaman ‘Maaf,
Alur Alternatif
permintaaan tidak dapat diproses. Silahkan lakukan login terlebih dahulu’
Kondisi Sesudah Pengguna mendapat nomor antrian pada dokter dituju
32
3. Pengguna masuk kedalam halaman profil
1. Pengguna menekan link ‘Edit Profil’
2. Sistem menampilkan menu edit profil
3. Pengguna mengisi kolom yang disediakan
4. Pengguna mengisi kolom Nama Pengguna
5. Pengguna mengisi kolom Nomor KTP
6. Pengguna mengisi kolom Tempat Lahir
7. Pengguna mengisi kolom Tanggal Lahir
Alur Utama 8. Pengguna mengisi kolom Alamat
9. Pengguna mengisi kolom Nomor Telepon
10. Pengguna Memilih Jenis Jaminan Kesehatan
11. Pengguna mengisi kolom Nomor Jaminan Kesehatan
12. Pengguna memilih Foto Profil
13. Sistem merekam semua masukan pengguna
14. Pengguna menekan tombol ‘Simpan Data’
15. Sistem menyimpan perubahan dan kembali ke halaman profil
Alur Alternatif Tidak ada
Kondisi Sesudah Pengguna dapat memperbaharui data profilnya
33
5.4 Perancangan
5.4.1 Perancangan Arsitektur Sistem
5.4.1.1 Sequence Diagram
1. Login (Med-01-001)
Gambar 5.2 merupakan alur proses login pada sistem Medique ini. Aktor
membuka halaman login sistem Medique ini kemudian memasukkan username
dan kata sandi akunnya yang kemudian diteruskan oleh controller c_login dengan
memanggil method index yang kemudian masukan dari aktor akan dilakukan
pengecekan pada entitas m_user dengan memanggil method get_data_user
dengan parameter dt, dimana dt tersebut merupakan username dan kata sandi
hasil masukan pengguna. Apabila username dan kata sandi tersebut benar, maka
sistem akan menampilkan halaman beranda dari sistem Medique ini. Namun
apabila masukan aktor salah maka akan menampilkan pesan error pada halaman
login sistem Medique ini.
2. Daftar (Med-01-002)
Gambar 5.3 merupakan alur proses dari fungsi daftar pada sistem ini. Pada
langkah pertama pengguna memilih menu daftar sekarang pada halaman v_login
yang kemudian memanggil controller c_register dengan menjalankan method
index setelah itu menampilkan halaman v_register. Selanjutnya sistem akan
meminta masukan aktor untuk mengisi data yang diperlukan berupa alamat email,
nama depan, nama belakang, username, dan kata sandi. Data tersebut akan
dibawa oleh controller c_register dengan memanggil method insert_data setelah
aktor menekan tombol daftar. Controller c_reister akan memanggil entitas m_user
34
dengan menjalankan method insert_user yang memiliki parameter dt dimana dt
merupakan hasil masukan dari aktor terhapat sistem. Apabila proses registrasi
berjalan maka selanjutnya akan ditampilkan halaman login untuk aktor kemudian
masuk kedalam sistem, namun apabila gagal maka sistem akan menampilkan
pesan eror yang terjadi.
35
Gambar 5.4 Sequence Diagram Melihat Daftar Dokter
4. Memfilter Daftar Dokter (Med-01-005)
36
dengan menjalankan method getCategory_city untuk mengambil data kota yang
terintegrasi oleh sistem Medique ini serta method getCategory_Spesialis untuk
mengambil data spesialisasi dokter yang terintegrasi oleh sistem medique ini juga.
5. Melihat Detail Dokter (Med-01-007)
Gambar 5.6 merupakan alur proses dari fungsi melihat detail dokter, dimana
aktor dapat menjalankanfungsi ini ketika aktor sudah memilih dokter yang akan
dilihat detailnya pada halaman v_dashboard yang selanjutnya akan dilakukan
pemanggilan controller c_detail_dokter dengan menjalankan method index.
Method index akan memanggil entitas m_detail dan menjalan method
get_detail_dokter yang memiliki parameter id yang mana parameter tersebut
didapatkan dari id dokter pilihan aktor. Setelah ini controller akan memanggil
entitas m_detail denganmethod get_detail_jadwal_dokter yang memiliki
parameter dt, dima dt tersebut dedapatkan dari nomor id dokter pilihan aktor.
37
Gambar 5.7 Sequence Diagram Melihat Jadwal Praktik Tertentu
7. Melakukan Booking pada Dokter Dimaksud (Med-01-010)
38
Gambar 5.8 merupakan alur proses dari fungsi melakukan booking pada dokter
dimaksud, dimana aktor dapat menjalankan fungsi tersebut dengan memilih
tanggal dimaksud terlebih dahulu. Kemudian aktor menekan tombol cari yang
selanjutnya akan memanggil controller c_detail_dokter yang akan menjalankan
method get_data_selection. Method tersebut akan memanggil entitas m_detail
dengan menjalankan method get_detail_jadwal_dokter yang memiliki parameter
dt dalam bentuk array, dimana dt tersebut merupakan gabungan data dari nomor
id dokter dan tanggal pilihan aktor. Kemudian aktor memilih tempat praktik dokter
tersebut dan menekan tombol ‘booking’ pada bagian kanan tabel dimaksud.
Tombol tersebut akan memanggil controller c_detail_dokter dengan menjalankan
method get_data_loket yang selanjutkan akan memanggil entitasm_detail yang
akan menjalankan method get_data_loket dengan parameter dt yang merupakan
array. Dt merupakan data nomor id tempat dokter tersebut melaksanakan praktik.
Kemudian data kembalian tersebut ditampilkan dalam bentuk modal untuk aktor
memilih loket pendaftaran yang tersedia. Apabila aktor telah memilih loket
pendaftaran tersebut maka selanjutnya sistem akan memanggil controller
c_detail_dokter dengan memanggil method booking_dokter yang selanjutnya
akan memanggil entitas m_detail dengan menjalankan method booking_dokter
yang memiliki parameter dt dalam bentuk array. Parameter dt tersebut
merupakan kumpulan data dari nomor id praktik, nomor id pelayanan, nomor id
pengguna, nomor id loket, nomor id jadwal praktik, dan nomor antrian saat ini.
Apabila aktor sudah melakukan login maka akan muncul nomor antrian aktor
tersebut, namun apabila aktor belum masuk kedalam sistem maka akan muncul
pesan untuk melakukan login terlebih dahulu.
8. Memantau Nomor Antrian (Med-01-011)
39
yang merupakan id dari aktor tersebut. apabila aktor telah melakukan login maka
akan menampilkan status antriannya, namun apabila belum melakukan login
maka akan muncul pesan error dan permintaan untuk melakukan login terlnbih
dahulu
9. Melihat Detail Profil Pengguna (Med-01-012)
Gambar 5.10 merupakan alur proses dari fungsi melihat detail profil pengguna,
dimana aktor dapat melakukan fungsi tersebut dengan menekan tombol yang ada
di pojok kanan atas sistem yang nantinya akan menampilkan submenu yang ada
didalamnya. Kemudian akan memanggil controller c_profil dengan menjalankan
method index yang selanjutnya akan memanggil entitas m_user dengan
menjalankan get_data_profil yang memiliki parameter id yang merupakan id dari
aktor tersebut. setelah itu kemudian akan menjalankan method get_jamkes
dengan parameter id yang merupakan id dari aktor tersebut.
40
Gambar 5.11 Sequence Diagram Mengedit Detail Profil Pengguna
11. Logout (Med-01-014)
41
5.4.1.2 Class Diagram
42
Pada Gambar 5.13 sistem Medique ini memiliki 14 kelas yang terdiri dari kelas
controller dan kelas model, dimana kelas controller terdiri dari c_login, c_antrian,
c_detail_dokter, c_dashcoard, c_profil, dan c_detail_faskes dimana kelas-kelas
tersebut meng-extends kelas MY_Controller. Kelas model pada sistem Medique ini
terdiri dari kelas m_antrian, m_doctor, m_detail, m_user, dan m_faskes dimana
kelas-kelas tersebut meng-extends kelas MY_Model.
43
13 output .= pesan error
14
15 else
16 output.= table header
17
18 foreach retVal do
19 output .= daftar praktik dokter
20 end foreach
21
22 output .= tag table
23 end if
24
25 print output
26 end
44
2 Judul halaman Header Judul halaman login
3 Username Label Label Username
4 Kolom username Textfield Digunakan untuk memasukkan
username pengguna
5 Kata sandi Label Label kata sandi
6 Kolom kata sandi Textfield Digunakan untuk memasukkan kata
sandi pengguna
7 Label daftar sekarang Link Label tulisan yang digunakan untuk
mendaftar sebagai pengguna baru
sistem
8 Masuk Button Tombol untuk masuk kedalam sistem
45
5 Nama depan Label Label nama depan
6 Nama belakang Label Label nama belakang
7 Kolom nama depan Textfield Digunakan untuk memasukkan nama
depan pengguna
8 Kolom nama belakang Textfield Digunakan untuk memasukkan nama
belakang pengguna
9 Username Label Label username
10 Kolom username Textfield Digunakan unutk memasukkan
username pengguna
11 Kata sandi Label Label kata sandi
12 Konfirmasi kata sandi Label Label konfirmasi kata sandi
13 Kolom kata sandi Textfield Digunakan untuk memasukkan kata
sandi pengguna
14 Kolom konfirmasi kata Textfield Digunakan untuk konfirmasi kata sandi
sandi pengguna
15 Label masuk Link Label tulisan yang digunakan untuk
masuk kedalam sistem Medique
16 Daftar Button Tombol untuk mendaftarkan akun
46
Tabel 5.21 Keterangan Perancangan Antarmuka Melihat Daftar Dokter
No Nama Objek Tipe Keterangan
1 Logo medique Image Logo medique yang dapat berfungsi
sebagai link membuka halaman
beranda sistem
2 Masuk/username Button Tombol yang berguna untuk membuka
pengguna halaman login atau sebagai tombol
untuk membuka halaman profil
pengguna dan keluar dari sistem
3 Judul halaman Header Judul halaman beranda
4 Menu beranda Link link yang digunakan untuk membuka
halaman beranda sistem Medique ini
5 Menu antrian Link link yang digunakan untuk membuka
halaman antrian pengguna
6 Dokter Tab Tab yang digunakan untuk melihat
daftar dokter yang terintegrasi dengan
sistem
7 Fasilitas Kesehatan Tab Tab yang digunakan untuk melihat
daftar fasilitas kesehatan yang
terintegrasi dengan sistem
8 Cari dokter Label Label cari dokter
9 Kolom cari dokter Textfield Digunakan untuk memasukkan nama
dokter yang dicari
10 Pilih kota Label Label pilih kota
11 Kolom pilih kota Dropdown Digunakan untuk memilih kota domisili
dokter
12 Pilih spesialis Label Label pilih spesialis
13 Kolom pilih spesialis Dropdown Digunakan untuk memilih spesialisasi
dokter
14 Pilih jenis kelamin Label Label pilih jenis kelamin
15 Daftar jenis kelamin Radio button Digunakan untuk memilih jenis kelamin
dokter
16 Tombol cari Button Tombol untuk mengirimkan data
filtering
17 Foto dokter Image Foto dokter yang terintegrasi sistem
18 Nama doker Link Digunakan untuk melihat detail
informasi dokter
19 Data profil dokter Paragraf Detail informasi dokter
47
5.4.3.4 Perancangan Antarmuka Melihat Detail Dokter
Perancangan antarmuka melihat detail dokter dapat dilihat pada Gambar 5.17
dan keterangan dari masing-masing nomor dijelaskan pada Tabel 5.22 berikut ini:
48
10 Tombol cari Button Digunakan untuk mencari dengan
tanggal terpilih
11 Daftar jadwal praktik Table Tabel daftar praktik dokter
dokter
12 Label booking Link Digunakan untuk memesan nomor
antrian pada jadwal praktik dimaksud
49
5.4.3.6 Perancangan Antarmuka Melihat Detail Profil Pengguna
Perancangan antarmuka melihat detail profil pengguna dapat dilihat pada
Gambar 5.19 dan keterangan dari masing-masing nomor dijelaskan pada
Tabel 5.24 berikut ini:
50
Gambar 5.20 Perancangan Antarmuka Mengedit Detail Profil Pengguna
51
12 Kolom tempat lahir Textfield Digunakan untuk memasukkan tempat
lahir pengguna
13 Tanggal lahir Label Label tanggal lahir
14 Kolom tanggal lahir Date time picker Digunakan untuk memilih tanggal lahir
pengguna
15 Alamat Label Label alamat
16 Kolom alamat Rich-text box Digunakan untuk memasukkan alamat
pengguna
17 Nomor telepon Label Label nomor telepon
18 Kolom nomor telepon Textfield Digunakan untuk memasukkan nomor
telepon pengguna
19 Jenis jaminan Label Label jenis jaminan kesehatan
kesehatan
20 Kolom jenis jaminan Dropdown Digunakan untuk memilih jenis jaminan
kesehatan kesehatan pengguna
21 Nomor jaminan Label Label nomor jaminan kesehatan
kesehatan
22 Kolom nomor jaminan Textfield Digunakan untuk memasukkan nomor
kesehatan jaminan kesehatan pengguna
23 Pilih file foto profil Label Label pilih file foto profil
24 Kolom foto profil Input data Digunakan untuk memilih foto profil
pengguna
25 Tombol simpan data Button Digunakan untuk menyimpan data
masukan pengguna
26 Tombol batal button Digunakan untuk membatalkan
perubahan detail informasi opengguna
kdan kembali ke halaman profil
52
5.5.2 Spesifikasi Perangkat Lunak
Pada pengembangan Sistem Informasi Tanaman Tembakau ini didukung oleh
perangkat lunak berikut ini:
1. Development Tools: Sublime, XAMPP
2. Browser: Google Chrome
3. Framework: Code Igniter 3.1.4
4. Bahasa Pemrograman: PHP, HTML, Javascript
5. Sistem Operasi: Windows 10
5.6 Implementasi
5.6.1 Implementasi Algoritma
Bagian ini merupakan implementasi dari pseudocode yang telah dideklarasikan
pada sub-bab 5.4.2. Dimulai dengan implementasi method booking_dokter,
get_data_selection dan index yang dapat dilihat pada kode sumber 4, kode
sumber 5 dan kode sumber 6 berikut ini:
Kode Sumber 4: method booking_dokter
1 public function booking_dokter(){
2 $alamatUrl = "";
3 $dt['intIDPartner'] = $this->input->post("idPartner");
4 $dt['intIDJenisPelayanan'] = $this->input-
5 >post("idJenisPelayanan");
6 $dt['intIDUser'] = $this->session->userdata('intIDPartner');
7 $dt['intIDLoket'] = $this->input->post("idLoket");
8 $dt['intIDJadwalPraktek'] = $this->input-
9 >post("idJadwalPraktek");
10
11 $dt['dtAntrian'] = $this->input->post("dtAntrian");
12 $output ="";
13 if (isset($dt['intIDUser'])) {
14 $retVal = $this->m_detail->booking_dokter($dt);
15
16 $alamatUrl = "c_antrian";
17 foreach ($retVal as $key => $value) {
18 $output .= '
19 <h4 class="lh-3 mg-b-20">Berhasil</h4>
20 ';
21 $output .= '
22 <p>Selamat Nomor Antrian Anda <b>'.
23 $value['txtNoAntrianLoket'] .'</b> dengan Nomor Antrian Poli <b>'.
24 $value['txtNoAntrianPoli'] .'</b> ada <b>'.
25 $value['txtJenisPelayanan'] .'</b></p>
26 ';
27 }
28 } else {
29
30 $alamatUrl = "c_login";
31 $output .= '
32 <h4 class="lh-3 mg-b-20">Maaf</h4>
33 ';
34 $output .= '
35 Permintaan Anda Tidak Dapat Diproses<br/>
36 Silahkan Lakukan Login Terlebih Dahulu.
53
37 ';
38 }
39
40 $output .= '
41 <div class="modal-footer">
42 <a href="'. $alamatUrl .'" type="button" class="btn btn-
43 primary pd-x-20">OK</a>
44 </div>
45 ';
46 echo $output;
47 }
54
51 <td> <a href="" data-toggle="modal" data-
52 target="#pilihLoket" data-role="booking" data-id="'.
53 $value['intIDPartner'] .'"> Booking </a></td>
54 </tr>
55 </tbody>
56 ';
57 }
58 $output .= '</table>';
59 }
60 echo $output;
61 }
55
secara keseluruhan. 6 kolom tersebut terdiri dari alamat email, nama depan, nama
belakang, username, kata sandi kan konfirmasi kata sandi.
56
Gambar 5.23 Implementasi Antarmuka Melihat Daftar Dokter
57
Gambar 5.25 Implementasi Antarmuka Melihat Detail Dokter
58
Gambar 5.26 Implementasi Antarmuka Memantau Nomor Antrian
5.6.2.6 Implementasi Antarmuka Melihat Detail Profil Pengguna
59
5.6.2.7 Implementasi Antarmuka Mengedit Detail Profil Pengguna
5.7 Pengujian
5.7.1 Pengujian Unit (Whitebox testing)
Pada pengujian unit menggunakan white box untuk mengetahui apakah sistem
yang dibangun sudah benar sesuai dengan yang dibutuhkan berdasarkan unit yang
dibuat. Pada proses pengujian unit ini, method yang akan diuji dapat dilihat pada
Tabel 5.26
60
Tabel 5.26 method-method yang Diuji
Jenis
No. Nama Method Tujuan Pengujian
Pengujian
1 Booking_dokter Memastikan semua jalur pada unit White Box
booking_dokter dilewati dan hasil keluaran
sesuai dengan yang diharapkan
2 Get_data_selection Memastikan semua jalur pada unit White Box
get_data_selection dilewati dan hasil keluaran
sesuai dengan yang diharapkan
3 Index Memastikan semua jalur pada unit index White Box
dilewati dan hasil keluaran sesuai dengan yang
diharapkan
61
Gambar 5.30 Flow Graph booking_dokter
Gambar 5.30 merupakan flow graph dari pseudocode booking_dokter. Flow
graph tersebut akan digunakan nantinya dalam penentuan ukuran kompleksitas
(cyclomatic complexity) dan jalur independennya. Untuk lebih jelasnya dapat
dilihat pada persamaan 5.1 dan 5.2 dibawah ini.
Cyclomatic Complexity
=3
𝑉[𝐺] = (𝐸 − 𝑁) + 2
= 10 − 9 + 2
=3
𝑉[𝐺] = 𝑃 + 1
=2+1
=3
Jalur Independen
𝐽𝑎𝑙𝑢𝑟 [1] = 1 − 2 − 3 − 4 − 5 − 6 − 4 − 8 − 9 (5.2)
𝐽𝑎𝑙𝑢𝑟 [2] = 1 − 2 − 3 − 4 − 8 − 9
𝐽𝑎𝑙𝑢𝑟 [3] = 1 − 2 − 7 − 8 − 9
62
[intIDLoket] => 1, nomor antrian, nomor antrian,
[intIDJadwalPraktek] sistem sistem
=> 1, [dtAntrian] => menampilkan menampilkan
2018-10-29 00:00:00 halaman antrian halaman antrian
pengguna pengguna
63
Gambar 5.31 Flow Graph get_data_selection
Gambar 5.31 merupakan flow graph dari pseudocode get_data_selection.
Flow graph tersebut akan digunakan nantinya dalam penentuan ukuran
kompleksitas (cyclomatic complexity) dan jalur independennya. Untuk lebih
jelasnya dapat dilihat pada persamaan 5.3 dan 5.4 dibawah ini.
Cyclomatic Complexity
=3
𝑉[𝐺] = (𝐸 − 𝑁) + 2
= 11 − 10 + 2
=3
𝑉[𝐺] = 𝑃 + 1
=2+1
=3
Jalur Independen
𝐽𝑎𝑙𝑢𝑟 [1] = 1 − 2 − 3 − 9 − 10 (5.4)
𝑗𝑎𝑙𝑢𝑟 [2] = 1 − 2 − 4 − 5 − 6 − 7 − 5 − 8 − 9 − 10
𝑗𝑎𝑙𝑢𝑟 [3] = 1 − 2 − 4 − 5 − 8 − 9 − 10
64
['dtAntrian'] = 28-10- dicari tidak dicari tidak
2018 00:00:00 ditemukan ditemukan
2 1-2-4-5-6-7- ['intIDDokter'] = 1 Permintaan Permintaan Pass
4-8-9-10 diproses dan diproses dan
['intDay'] = 3
menampilkan menampilkan
['dtAntrian'] = 24-10- data praktik data praktik
2018 00:00:00 dokter dokter
3 1-2-4-5-8-9- ['intIDDokter'] = 1 Permintaan Permintaan Pass
10 diproses dan diproses dan
['intDay'] = 3
menampilkan menampilkan
['dtAntrian'] = 24-10- data praktik data praktik
2018 00:00:00 dokter dokter
65
Cyclomatic Complexity
=2
𝑉[𝐺] = (𝐸 − 𝑁) + 2
=6−6+2
=2
𝑉[𝐺] = 𝑃 + 1
=1+1
=2
Jalur Independen
𝐽𝑎𝑙𝑢𝑟 [1] = 1 − 2 − 4 − 5 − 6 (5.6)
𝐽𝑎𝑙𝑢𝑟 [2] = 1 − 2 − 3 − 5 − 6
66
dan hasil pengujian validasi dapat dilihat pada Tabel 5.30, Tabel 5.31, dan
Tabel 5.32
Tabel 5.30 Rencana Pengujian Validasi
No Nomor Use Case Tujuan Pengujian Jenis Pengujian
Kebutuhan
1 Med-01-001 Login Mengetahui bahwa sistem Black Box
dapat merespon request
untuk login kedalam
sistem
2 Med-01-002 Daftar Mengetahui bahwa sistem Black Box
dapat merespon request
untuk daftar kedalam
sistem
3 Med-01-003 Melihat Daftar Mengetahui bahwa sistem Black Box
Dokter dapat merespon request
untuk melihat daftar
dokter
4 Med-01-004 Melihat Daftar Mengetahui bahwa sistem Black Box
Fasilitas Kesehatan dapat merespon request
untuk melihat daftar
fasilitas Kesehatan
5 Med-01-005 Memfilter Daftar Mengetahui bahwa sistem Black Box
Dokter dapat merespon request
untuk memfilter daftar
dokter
6 Med-01-006 Memfilter Daftar Mengetahui bahwa sistem Black Box
Fasilitas Kesehatan dapat merespon request
untuk memfilter daftar
fasilitas kesehatan
7 Med-01-007 Melihat Detail Dokter Mengetahui bahwa sistem Black Box
dapat merespon request
untuk melihat detail
dokter
8 Med-01-008 Melihat Detail Mengetahui bahwa sistem Black Box
Fasilitas Kesehatan dapat merespon request
untuk melihat detail
fasilitas kesehatan
9 Med-01-009 Melihat Jadwal Mengetahui bahwa sistem Black Box
Praktik Tertentu dapat merespon request
untuk melihat jadwal
praktik tertentu
10 Med-01-010 Melakukan Booking Mengetahui bahwa sistem Black Box
Pada Dokter dapat merespon request
Dimaksud untuk melakukan booking
pada dokter dimaksud
67
11 Med-01-011 Memantau Nomor Mengetahui bahwa sistem Black Box
Antrian dapat merespon request
untuk memantau nomor
antrian
12 Med-01-012 Melihat Detail Profil Mengetahui bahwa sistem Black Box
Pengguna dapat merespon request
untuk melihat detail profil
pengguna
13 Med-01-013 Mengedit Daftar Mengetahui bahwa sistem Black Box
Profil Pengguna dapat merespon request
untuk mengedit detail
profil pengguna
14 Med-01-014 Logout Mengetahui bahwa sistem Black Box
dapat merespon request
untuk keluar dari sistem
68
tombol
daftar
Pengguna Muncul Muncul ya
mengisi permintaan permintaan
sebagian pengisian field pengisian field
field yang yang kosong yang kosong
tersedia dan
menekan
tombol
daftar
3 Med-01- Melihat Pengguna Sistem Sistem Ya
003 Daftar memilih tab menampilkan menampilkan
Dokter ‘dokter’ pada daftar dokter daftar dokter
yang yang
terintegrasi terintegrasi
oleh sistem oleh sistem
4 Med-01- Melihat Pengguna Sistem Sistem Ya
004 Daftar memilih tab menampilkan menampilkan
Fasilitas ‘fasilitas daftar fasilitas daftar fasilitas
Kesehatan kesehatan’ kesehatan yang kesehatan yang
pada terintegrasi terintegrasi
oleh sistem oleh sistem
5 Med-01- Memfilter Pengguna Sistem Sistem Ya
005 Daftar memasukkan menampilkan menampilkan
Dokter kriteria yang daftar dokter daftar dokter
sesuai dengan kriteria dengan kriteria
dengan dimaksud dimaksud
daftar dokter
yang ada
pada sistem
Pengguna Sistem Sistem Ya
mengisi field menampilkan menampilkan
nama dokter bahwa data bahwa data
dengan isi dokter dokter
‘xyz’ dimaksud tidak dimaksud tidak
ditemukan ditemukan
6 Med-01- Memfilter Pengguna Sistem Sistem Ya
006 Daftar memasukkan menampilkan menampilkan
Fasilitas kriteria yang daftar fasilitas daftar fasilitas
Kesehatan sesuai kesehatan kesehatan
dengan dengan kriteria dengan kriteria
daftar dimaksud dimaksud
fasilitas
kesehatan
yang ada
pada sistem
Pengguna Sistem Sistem Ya
mengisi field menampilkan menampilkan
nama bahwa data bahwa data
fasilitas fasilitas fasilitas
69
kesehatan kesehatan kesehatan
dengan isi dimaksud tidak dimaksud tidak
‘xyz’ ditemukan ditemukan
7 Med-01- Melihat Pengguna Sistem Sistem Ya
007 Detail memilih satu menampilkan menampilkan
Dokter dokter untuk detail informasi detail informasi
dilihat dokter dokter
detailnya dimaksud dimaksud
8 Med-01- Melihat Pengguna Sistem Sistem Ya
008 Detail memilih satu menampilkan menampilkan
Fasilitas fasilitas detail informasi detail informasi
Kesehatan kesehatan fasilitas fasilitas
untuk dilihat kesehatan kesehatan
detailnya dimaksud dimaksud
9 Med-01- Melihat Pengguna Sistem Sistem Ya
009 Jadwal memilih menampilkan menampilkan
Praktik tanggal daftar jadwal daftar jadwal
Tertentu 25/10/2018 praktik pada praktik pada
tanggal tanggal
25/10/2018 25/10/2018
Pengguna Sistem Sistem Ya
memilih menampilkan menampilkan
tanggal pesan eror pesan eror
28/10/2018 bahwa data bahwa data
yang dicari tidak yang dicari tidak
ada ada
10 Med-01- Melakukan Pengguna Data booking Data booking Ya
010 Booking melakukan tersimpan dan tersimpan dan
Pada Dokter booking sistem sistem
Dimaksud dengan menampilkan menampilkan
kondisi telah halaman halaman
melakukan antrian antrian
login
Pengguna Sistem Sistem Ya
melakukan menampilkan menampilkan
booking halaman eror halaman eror
dengan dan pesan dan pesan
kondisi untuk untuk
belum melakukan melakukan
melakukan login terlebih login terlebih
login dahulu dahulu
11 Med-01- Memantau Pengguna Sistem Sistem Ya
011 Nomor memilih menampilkan menampilkan
Antrian menu antrian antrian
antrian pengguna pengguna
dengan
kondisi telah
melakukan
login
70
Pengguna Sistem Sistem Ya
memilih menampilkan menampilkan
menu halaman eror halaman eror
antrian dan pesan dan pesan
dengan untuk untuk
kondisi melakukan melakukan
belum login terlebih login terlebih
melakukan dahulu dahulu
login
12 Med-01- Melihat Pengguna Sistem Sistem Ya
012 Detail Profil memilih menampilkan menampilkan
Pengguna menu lihat detail profil detail profil
profil pengguna pengguna
13 Med-01- Mengedit Pengguna Sistem Sistem Ya
013 Detail Profil memilih menyimpan menyimpan
Pengguna menu edit perubahan perubahan
profil dan pengguna dan pengguna dan
melakukan menampilkan menampilkan
perubahan detail profil detail profil
foto profil
serta
menekan
tombol
simpan data
14 Med-01- Logout Pengguna Sistem Sistem Ya
014 memilih menghapus menghapus
menu logout session session
pada sistem pengguna dan pengguna dan
menampilkan menampilkan
halaman halaman
beranda beranda
71
BAB 6 PENUTUP
6.1 Kesimpulan
Setelah dilakukan proses praktik kerja lapangan dan diperoleh hasil analisis dan
spesifikasi persyaratan, rancangan, implementasi dan pengujian sistem, ditarik
kesimpulan sebagai berikut:
1. Proses analisis kebutuhan sistem Medique dengan mengakuisisi dari
sistem sebelumnya menghasilkan 23 kebutuhan fungsional dan 1
kebutuhan non-fungsional untuk sistem Medique. Kebutuhan fungsional
tersebut terbagi ke dalam dua aktor, yaitu pengguna tamu dengan jumlah
9 kebutuhan dan pengguna terdaftar dengan jumlah 14 kebutuhan.
Kebutuhan fungsional dan non-fungsional tersebut kemudian dimodelkan
ke dalam use case diagram disertai dengan uraian skenarionya. Didapati
pula spesifikasi pada perangkat keras dan perangkat lunak yang dapat
mendukung berjalannya sistem Medique ini.
2. Proses perancangan berdasarkan analisis kebutuhan pada tahap
sebelumnya menghasilkan perancangan arsitektur yang dimodelkan
menggunakan sequence diagram dan class diagram, perancangan
komponen yang disusun dengan menggunakan pseudocode, dan
perancangan antarmuka yang dijelaskan dengan tata letak dan disertai
dengan keterangan objek yang terdapat pada tata letak masing-masing
halaman.
3. Dari hasil perancangan pada tahapan sebelumnya, dilakukan implementasi
sistem Medique pada sisi algoritma dan antarmuka. Implementasi pada sisi
algoritma dilakukan menggunakan bahasa PHP, sementara pada sisi
antarmuka diimplementasikan menggunakan HTML, didukung dengan
Bootstrap dan Javascript.
4. Setelah implementasi selesai, dilakukan pengujian white-box pada 3 unit.
Dari pengujian diperoleh hasil pass pada setiap kasus uji. Pengujian
dilanjutkan pada tingkat validasi kebutuhan dengan pengujian black-box
pada seluruh kebutuhan fungsional dan non-fungsional. Seluruh pengujian
validasi dinyatakan valid. Selanjutnya dilakukan pengujian usabilitas yang
dilakukan oleh expert yang kemudian dinyatakan bahwa sistem
6.2 Saran
Berdasarkan hasil penelitian ini, disimpulkan saran-saran berikut:
1. Sistem dapat dikembangkan pada platform mobile agar dapat menjangkau
pengguna mobile dengan lebih mudah.
2. Sistem dapat diluncurkan pada fasilitas kesehatan yang lebih banyak di
berbagai tempat, sehingga dapat diperoleh masukan yang lebih beragam agar
sistem dapat dikembangkan lebih baik lagi.
72
DAFTAR PUSTAKA
Bahrami, M., Singhal, M. 2016. A Dynamic Cloud Computing Platform for eHealth
Systems. 17th International Conference on e-Health Networking, Application
and Services, HealthCom 2015. p. 435-438
Booch, G., Rumbaugh, J., Jacobson, I. 2005. The Unified Modeling Language User
Guide. Reading: Addison-Wesley.
Cockburn, A. 2001. Writing Effective Use-Cases. Boston: Addison Wesley.
Deitel, H.M. 2004. JavaTM How to Program, Sixth Edition. Upper Saddle River:
Prentice Hall.
Fowler, M. 2004. UML Distilled: A Brief Guide to The Standard Object Modeling
Language (Third Edition). Boston: Addison-Wesley.
Gao, J., Tsao, J., Wu, Y. 2003. Testing and Quality Assurance for Component-Based
Software. Norwood: Artech House.
IBM, 2018. The structure of a SOAP message. [online] Tersedia di: <
https://www.ibm.com/support/knowledgecenter/en/SSMKHH_10.0.0/com.
ibm.etools.mft.doc/ac55780_.htm> [Diakses 18 Oktober 2018]
Larman, C. 2004. Applying UML and Patterns: An Introduction to Object-Oriented
Analysis and Design and Iterative Development (Third Edition). Upper Saddle
River: Addison Wesley Professional.
Marks, E.A., Lozano, R.R. 2010. Executive’s Guide to Cloud Computing. Hoboken:
John Wiley & Sons.
Mukhi, V., Shanbhag, S., Mukhi, S. 2008. XML WebServices and SOAP. New Delhi:
BPB Publications.
Rittinghouse, J.W., Ransome, J.F. 2010. Cloud Computing: Implementation,
Management, and Security. Boca Raton: CRC Press.
Pressman, R.S. 2010. Software Engineering: A Practitioner’s Approach. New York:
McGraw-Hill.
Sommerville, I. 2011. Software Engineering. Boston: Addison-Wesley.
Tran, K.T. 2013. Introduction to Web Services with Java. London: BookBoon
Usability.gov, 2018. Usability Testing. [Online]
Available at: https://www.usability.gov/how-to-and-
tools/methods/usability-testing.html [Diakses 18 Oktober 2018].
W3C, 2013. Extensible Markup Language (XML) 1.0 (Fifth Edition). World Wide
Web Consortium
73
LAMPIRAN A DOKUMENTASI KEGIATAN PKL
74
75