BAB II LANDASAN TEORI
2.1.
Pengertian Klinik Klinik berfungsi sebagai pelayanan kesehatan yang menyelenggarakan
kesehatan perorangan yang menyediakan pelayanan medis dasar atau spesialistik (pkfi 2015). Penyelenggara tersebut lebih dari satu jenis tenaga kesehatan (perawat atau bidan) dan dipimpin oleh seorang tenaga medis (dokter). Pelayanan yang diselenggarakan berupa rawat jalan, one day care, rawat inap atau home care . Klinik dapat dibagi berdasarkan jenis ke dalam 2 bagian yaitu klinik pratama dan klinik utama. Klinik pratama merupakan klinik yang menyelenggarakan pelayanan medik dasar umum ataupun khusus. Sedangkan klinik utama merupakan klinik yang menyelenggarakan pelayanan medik yang spesialitik atau pelayanan medik dasar dan spesialistik. Secara kepemilikan klinik dapat dimiliki oleh Pemerintah, Pemerintah Daerah ataupun masyarakat. Klinik yang didirikan sesuai dengan peraturan pemerintah yang telah disusun dalam undang-undangnya dan sesuai dengan ketentuan yang berlaku. Klinik yang dimiliki oleh masyarakat dalam pelayanan rawat inap harus dalam badan hukum sebagai penyelenggara. Pada klinik yang dimiliki oleh masyarakat dalam pelayanan rawat jalan dapat didirikan oleh perorangan atau badan usaha. Lokasi yang ditetapkan dalam pembangunan klinik harus memenuhi persyaratan kesehatan lingkungan yang telah diatur dalam peraturan perundangundangan. Pengaturan dalam penyebaran klinik dapat diselenggarakan kepada masyarakat dengan kebutuhan sesuai dengan rasio jumlah penduduk. 2.2.
Metodologi Rekayasa Perangkat Lunak SDLC (Software Development Life Cycle) merupakan framework untuk
mendefinisikan kegiatan yang dilakukan pada setiap langkahnya dalam suatu proses pengembangan perangkat lunak (Tutorials Point 2014). Terdapat banyak
7 http://digilib.mercubuana.ac.id/
8
variasi model life cycle untuk pengembangan perangkat lunak secara definisi dan rancangan, dengan mengikut proses perangkat lunak selama pengembangannya. Model tersebut yaitu "Software Development Process Models". Setiap suatu proses model yang mengikuti suatu bagian yang secara unik untuk langkah dari setiap tipe, serta memastikan suatu proses berjalan sukses dalam pengembangan perangkat lunak. Pada skripsi ini menggunakan model SDLC yaitu model waterfall. Model waterfall merupakan suatu model SDLC (Tutorials Point 2014) di mana proses eksekusi yang terjadi berurutan dari satu proses ke proses berikutnya. Pada model waterfall untuk setiap satu fase ke fase berikutnya harus disiplin, karena setiap tahap harus selesai untuk melanjutkan ketahap berikutnya. Alur dapat dilihat pada gambar 2.1
Requirement Analysis System Design
Implementation Testing Deployment Maintenance
Gambar 2.1. Model Waterfall Pada waterfall terdapat tahapan-tahapan yang harus dilakukan secara berurutan, berikut urutan yang ada dalam waterfall:
http://digilib.mercubuana.ac.id/
9
1. Requirement analysis Pada tahapan ini mengumpulkan kebutuhan dan melakukan analisa syarat dari aplikasi kemudian di buat dokumentasi. Dokumentasi yang dibuat akan menjadi panduan utama dalam tahapan berikutnya. Data yang lengkap dalam dokumentasi dapat memudahkan dalam pembuatan sistem nantinya. 2. System Design Tahapan berikutnya merupakan penentuan dalam mempersiapkan kebutuhan dari aplikasi yang dikembangkan. Kebutuhan tersebut dapat menentukan berupa perangkat keras ataupun perangkat lunak yang akan digunakan, serta mendefinisikan arsitektur secara keseluruhan. 3. Implementation Tahap pelaksanaan ini dengan membuat program kecil yang disebut unit. Unit tersebut ditahap selanjutnya diuji untuk menghindari dari kesalahankesalahan dalam program. Unit yang dibuat akan saling terintegrasi sehingga aplikasi dapat berjalan dengan baik. 4. Testing Proses pengujian pada aplikasi untuk menghindari kegagalan sistem ataupun kesalahan yang terjadi. Semua unit yang terintegrasi dilakukan pengujian secara input dan output. Setiap kesalahan dapat dilakukan perbaikan pada aplikasi. 5. Deployment Setelah aplikasi selesai tahap pengembangan dan pengujian, aplikasi dapat dilepaskan kepada pengguna. 6. Maintenance Pada saat sudah dilepas ke pengguna jika terjadi issu yang menjadi masalah dari aplikasi, perbaikan yang dilakukan untuk versi yang lebih baik. Pemeliharaan juga dilakukan pada perubahan-perubahan yang terjadi di lingkungan pengguna.
http://digilib.mercubuana.ac.id/
10
2.3. Sistem Operasi Android Sistem operasi Android dibuat khusus untuk perangkat mobile seperti ponsel atau tablet, pada saat ini diciptakan oleh perusahaan Android Inc pada tahun 2005 di California. Inti pada sistem Android yaitu operasi sisstem kernel Linux yang telah dikembangkan, pada saat ini telah diakuisisi oleh Google Inc (Zibula & Majchrzak 2013). Aplikasi yang digunakan dalam pengembangan Android menggunakan bahasa pemrograman java (Puder & Antebi 2013; Litayem et al. 2015).Android yang bersifat terbuka (open source) membuka kesempatan bagi para pengembang untuk menciptakan ribuan aplikasi mereka sendiri untuk digunakan oleh semua kalangan. Aplikasi Android yang telah selesai dikembangkan menjadi format file khusus yaitu APK. Perkembangan aplikasi android telah menjadi tren yang pesat (Roth 2013). 2.4.
Aplikasi Hibrid Aplikasi hibrid adalah gabungan dari fitur HTML dengan native code yang
disediakan oleh framework khusus (Zibula & Majchrzak 2013). Penggabungan antara teknologi aplikasi native dan mobile webapps memberikan manfaat masing-masing (Litayem et al. 2015). Teknologi web yang baru pada HTML5 yang memungkinkan fitur untuk menjadi offline, meningkatkan kinerja, memungkinkan akses kepada perangkat dan menyediakan antarmuka yang mendekati dengan aplikasi native, serta memungkinkan menanamkan aplikasi web ke dalam aplikasi native sehingga membentuk aplikasi hibrid (Zibula & Majchrzak 2013). Aplikasi hibrid dapat dirilis pada berbagai platform dengan menggunakan teknologi web tertentu seperti HTML5, CSS3 dan JavaScript (Seymour et al. n.d.; Litayem et al. 2015). Beberapa keunggulan pada aplikasi hibrid sebagai berikut: 1.
Tampilan seperti aplikasi native,
2.
Aplikasi dapat di install melalui Store Apps.
3.
Aplikasi dapat secara online ataupun offline
http://digilib.mercubuana.ac.id/
11
4.
Memiliki fitur ke perangkat tertentu seperti aplikasi native, sedangkan aplikasi hibrid dikembangkan dengan aplikasi web.
5.
Aplikasi hibrid dapat dimodifikasi pada halaman HTML.
6.
Menghemat biaya pengembangan untuk setiap platform.
2.5.
HTML5 HTML singkatan dari Hypertext Markup Language yang terdiri dari tag
atau aturan yang memungkinkan untuk membuat dokumen hypertext (EMS 2013). HTML5 merupakan kandidat yang rekomendasi oleh W3C dan the official, direkomendasikan sebagai bahasa pemrograman untuk menciptakan suatu halaman web (Jobe 2015). HTML5 dapat digunakan sebagai framework untuk pengembangan web ataupun hibrid sebagai standar oleh pengembang dan perusahaan (Litayem et al. 2015). HTML5 dapat sebagai visual presentasi pada aplikasi(Edholm 2015). HTML5 memiliki beberapa fitur dari pengembangannya dari versi sebelumnya. Fitur tersebut yaitu offline storage, network connectivity, multimedia, socket and threads, drawing animation and advanced form controls (Litayem et al. 2015). Pada sisi klien storage HTML5 memiliki kapasitas sampai 5 MB data yang dapat disimpan oleh pengguna pada aplikasi web. Struktur standar pada HTML5 seperti pada gambar dibawah ini: <meta charset=”utf-8”> Gambar 2.2. Format HTML5 2.6.
CSS3 Cascading
Style
Sheet(CSS)
adalah
bahasa
style
sheet
untuk
menggambarkan presentasi dari halaman web dan media kueri dalam penentuan resolusi perangkat yang digunakan dan menyesuaikan pengiriman untuk presentasi sesuai konten situs web. CSS3 memiliki modul spesifikasi terbaru yang
http://digilib.mercubuana.ac.id/
12
telah ditetapkan diantaranya media kueri, selectors, backgrounds and borders, serta transformation (Zibula & Majchrzak 2013). Perbaharuan pada CSS3 memungkinkan suatu web menyesuaikan ukuran layar dari ukuran terbesar sampai terkecil. Penyesuaian layar tersebut sehingga CSS3 dapat diimplementasi pada media smartphone ataupun tablet. Kemampuan penyesuaian layar dapat disebut dengan responsive web design. 2.7.
JQuery Mobile JQuery Mobile suatu framework yang dapat dioptimalkan untuk suatu
perangkat layar sentuh dan elemen desain untuk berbagai macam smartphone dan tablet membuat aplikasi terlihat seperti aplikasi native, disebut sebagai library JavaScript (EMS 2013; Jobe 2015; Wahana komputer 2013). JQuery Mobile dikenal sebagai library JavaScript ataupun framework mobile yang telah dikembangkan oleh tim jQuery Project, tujuan berfokus pada pembuatan framework yang dapat kompatibel pada beraneka ragam platform mobile dan desktop browser (Jobe 2015). JQuery Mobile dikembangkan sebagai alternatif dalam pengembangan aplikasi web mobile yang mudah dan memiliki banyak potensi. JQuery Mobile memungkinkan untuk membuat aplikasi web mobile yang menarik dan adaptif serta konsisten di semua perangkat yang mendukungnya, serta memiliki kemampuan user interface (UI) yang sudah canggih (Wahana komputer 2013; Jobe 2015). JQuery Mobile merupakan sistem user interface berbasis HTML5, library JQuery dan jQuery UI yang populer saat ini. kelebihan jQuery memiliki kode yang ringan, menerapkan desain yang dapat beradaptasi dengan berbagai jenis perangkat mobile. Oleh karena itu, komponen UI yang dioptimalkan untuk interaksi terhadap sentuhan kebanyak layar dan perangkat. 2.8.
BackboneJs + RequireJs BackboneJs berada pada sisi klien berupa sistem MV(Model dan View)
merupakan kerangka JavaScript yang menyediakan View, Model, Class Collection
http://digilib.mercubuana.ac.id/
13
dan Router (Franko 2012). Pada View anda memungkinkan menambahkan HTML yang dinamis pada halaman melalui penggunaan optional tamplate JavaScript, serta memungkinkan mengatur handler pada setiap events JavaScript. Backbone Model sebagai menyimpanan aplikasi yang berupa logika dan data. Memudahkan untuk mengatur validasi pada data aplikasi. Backbone memiliki dependency pada underscore.js untuk membantu pada interaksi collections. Backbone Router sebagai bagian yang mendefinisikan rute pada aplikasi, rute pada dasarnya halaman yang unik dalam aplikasi web. RequireJs melayani 2 tujuan yang berbeda dari backboneJs. RequireJs adalah AMD (Asychrounous Modul Definition) script loader yang memuat asynchrounous pada JavaScript sebagai peningkatan kinerja halaman dan memberikan kemampuan mengatur JavaScript ke modul-modul (Franko 2012). File JavaScript menjadi sebuah modul, model yang tertutup yang berisi daftar modul yang dependency dan membuat namespace yang global. BackboneJs dan RequireJs digunakan sebagai kombinasi yang saling melengkapi, beberapa kelemahan dapat di minimalisasi dengan penambahan konfigurasi pada RequireJs dengan menambahkan konfigurasi Shim (Franko 2012). 2.9.
PhoneGap PhoneGap merupakan framework open source yang gratis untuk membuat
aplikasi mobile menggunakan standar API web (EMS 2013), PhoneGap dapat digunakan untuk platform seperti Android, Blackberry, Iphone, Symbian dan WindowsPhone (Litayem et al. 2015). Popularitas aplikasi yang terdapat pada Android, Blackberry, Iphone dan windows meningkat pesat(Datta et al. 2013). PhoneGap membutuhkan pengetahuan dalam menggunakan HTML5, JavaScript, dan CSS (Zibula & Majchrzak 2013). PhoneGap code telah dikontribusi untuk Apache Software Foundation(ASF) dibawah nama Apache Cordova dan mencapai status top-level proyek di bulan Oktober 2012, lalu dikembangkan di bawah Apache License menjadi versi 2.0, sedangkan pencipta pertama oleh Nitobi Software kemudian diakuisisi oleh Adobe (Zibula & Majchrzak 2013).
http://digilib.mercubuana.ac.id/
14
Alat yang digunakan sebagai perangkat lunak dalam PhoneGap untuk pengembangan aplikasi pada platform Android yaitu, Eclipe dengan penambahan ADT sebagai plug-in dalam Eclipse dan pemasangan Android SDK (Litayem et al. 2015; Zibula & Majchrzak 2013).
JavaScript
CSS
HTML5
PhoneGap
APK
Gambar 2.3. Alur Kerja PhoneGap
Gambar 2.4. instalasi PhoneGap Informasi instalasi PhoneGap dapat dilihat pada http://docs.phonegap.com/en/edge/guide_cli_index.md.html#The%20CommandLine%20Interface. 2.10. NodeJs NodeJs merupakan runtime javascript yang dibangun V8 javascript milik chrome. NodeJs platform yang digunakan sebagai javascript eksekusi sebagai
http://digilib.mercubuana.ac.id/
15
server (NodeJs n.d.). NodeJs dapat didownload pada halaman official di : https://nodejs.org/en/download/ 2.11. PHP + Slim Framework PHP merupakan bahasa pemrograman untuk script web server-side. PHP diciptakan pertama kali oleh Rasmus Lerdorf, ia seorang pemrogram C yang sangat handal (Ganiyev 2015). Semula PHP hanya digunakan untuk mencatat seberapa jumlah pengunjung pada hompage miliknya. Rasmus adalah salah seorang pendukung open source. Karena itulah ia mengeluarkan Personal Home Page Tools versi 1.0 secara gratis atau freeware pada tahun 1995. PHP menjadi sangat popular untuk pengembang sebagai bahasa server side scripting (Ganiyev 2015). Slim Framework merupakan framework PHP yang ramping, merupakan salah satu micro framework yang memiliki fitur-fitur standar untuk pengembang yang sangat mudah digunakan pada antarmukanya (slim Framework n.d.). 2.12.
MySql MySql merupakan perangkat lunak sistem manajement basis data SQL
atau RDBMS (Relational Database Management System) yang multithread dan multi-user. MySql sebagai perangkat lunak yang gratis di bawah lisensi GNU General Public License. MySql sendiri turunan dari salah satu konsep utama dalam basis data, yaitu SQL (Structured Query Languange) (Ganiyev 2015). Mysql dimiliki oleh Oracle Corporation. 2.13.
Basis data Salah satu dari teknologi yang sering digunakan untuk sistem informasi
yaitu basis data. Basis data penting untuk menjadi suatu pusat sistem informasi yang dirancang dan dibangun dengan metode yang sesuai dengan persyaratannya (Gould & Bookboon.com 2015). Basis data bisa dianggap sebagai basis data jika
http://digilib.mercubuana.ac.id/
16
memiliki tabel yang saling terkait dan dikelola dengan sistem manajemen basis data dengan aplikasi yang dapat melakukan akses ke basis data tersebut. 2.14.
XAMPP XAMPP perangkat lunak yang gratis dan mendukung banyak sistem
operasi. XAMPP merupakan salah satu dari WAMPP (Windows, Apache, MySql, PHP/Perl) (EMS 2013). XAMPP untuk menjalankan webserver dengan baik. 2.15.
Eclipse Eclipse merupakan salah satu program editing script yang dapat dijalankan
semua platform, atau disebut IDE (Integrated Development Environment) (Murphy et al. 2015). Versi yang digunakan oleh penulis yaitu versi Kepler. Eclipse mendukung SDK (Software Development Kit) dan ADT (Android Development Tools) untuk pengembangan aplikasi android serta penambahan fungsi plug-in dari third-party (Murphy et al. 2015). 2.16.
RESTful WS Web Service atau WS adalah salah satu yang popular saat ini di industry
perangkat lunak (Bora & Bezboruah 2015). Web Service dapat menyediakan layanan yang dapat dipanggil oleh aplikasi klien, yang dapat diakses melalui jaringan, sehingga memungkinkan melakukan Business to Business (B2B). REST (Representational State Transfer) merupakan aplikasi perangkat lunak dimana fungsi dan sumber data yang dapat di akses melalui URI secara arsitektur sebagai klien server (Bora & Bezboruah 2015). Pada WS secara komunikasi protocol seperti HTTP (Hypertext Transfer Protocol) untuk bertukar data yang antarmukanya standar. WS yang dibangun dengan arsitekural REST dapat disebut RESTful WS (Bora & Bezboruah 2015).
http://digilib.mercubuana.ac.id/
17
2.17.
Pengujian Black Box Pengujian Black Box berdasarkan pada spesifikasi komponen suatu
perangkat lunak (Steegmans et al. n.d.). Penggunaan pengujian Black Box dapat mengungkapkan suatu kesalahan yang terdapat pada persyaratan secara fungsi dari komponen perangkat lunak. Pengujian dimulai pada spesifikasi komponen perangkat lunak sehingga dapat menghasilkan kebenaran dari perilaku eksternal dari komponen yang sedang diuji. Strategi pengujian pada Black Box sesuai dari dokumentasi dari komponen yang diuji tidak terhadap pada bagian informasi internal dari komponen tersebut (Steegmans et al. n.d.). Penggambaran pada komponen yang diharapkan sesuai dengan input terhadap output menjadi suatu pengujian fungsional yang disebabkan pada perilaku eksternal dari komponen yang diuji. 2.18.
Unified Modelling Language UML (Unified Modelling Language) merupakan salah satu perangkat lunak
pemodelan arsitektur yang banyak digunakan oleh pengembang perangkat lunak. Alat yang digunakan dalam pemodelan UML menggunakan diagram sebagai berikut: 1. Diagram Use case Diagram use case digunakan untuk mendapatkan setiap perilaku yang terlibat dalam sistem, serta secara visualisasi sebagai fungsi yang berdasarkan sudut pandang dari pengguna (Kurniawan et al. 2014). Diagram Use Case pada diagram UML sebagai patokan untuk digunakan pada diagram lainnya seperti diagram sequence dan diagram aktivitas. Pada diagram Use Case ada notasi yang digunakan, notasi diagram Use Case sebagai berikut: Tabel 2.1 Notasi Diagram Use Case Simbol UseCase
Keterangan Gambaran suatu fungsi dari sistem yang secara paham dan mengerti akan kegunaan pada aplikasi yang akan dibangun.
Use Case
http://digilib.mercubuana.ac.id/
18
Simbol
Keterangan Actor sebagai pengguna atau orang secara stakeholder / entitas eksternal yang menerima atau menyediakan informasi dari suatu sistem.
Actor Association sebagai penghubung link antar suatu elemen.
Association Dependency sebagai elemen yang bergantung ke dalam beberapa cara terhadap elemen lainnya. Dependency Generalization atau inheritance sebagai elemen yang merupakan spesialisasi dari elemen lainnya. Generalization <<extend>>
Menunjukkan suatu use case yang merupakan tambahan fungsional dari suatu Use Case lainnya jika kondisi telah terpenuhi.
<
>
Menunjukkan suatu Use Case yang seluruhnya merupakan fungsionalitas dari suatu Use Case lainnya.
2. Class Diagram Class Diagram merupakan diagram utama dalam pemrograman berorientasi objek (Kurniawan et al. 2014). Penggambaran pada class diagram ini terdiri dari class diagram yang bersama dengan hubungan antara class itu yang memiliki aggregation, composition, directional, bidirectional dan inheritance. Class diagram dapat digambarkan sebagai hirarki class dan non-hirarki ( Gutwenger et al , 2003). Class diagram memiliki simbol yang sering digunakan, beberapa simbol tersebut sebagai berikut:
http://digilib.mercubuana.ac.id/
19
Tabel 2.2 Notasi Class Diagram Simbol
Keterangan Class sebagai blok-blok pembangun suatu pemrograman yang berorientasi objek.
Nama kelas +attribute +attribute +method +method Class
Association sebagai penghubung antara suatu elemen ke elemen lainnya
Association Composition sebagai penghubung jika suatu class tidak memiliki bagian class lain maka class tersebut memiliki relasi ke composition terhadap class dimana dia bergantung. Composition Dependency sebagai menunjukkan operasi pada class yang menggunakan class lainnya
Dependency Aggregation sebagai bagian keseluruhan relationship atau sebagai relasi.
Aggregation
3. Diagram Aktivititas Diagram aktivitas pada saat ini digunakan untuk mendesain spesifikasi berdasarkan Use Case yang ada (Kurniawan et al. 2014). Diagram aktivitas bisa digunakan untuk model pengembangan perangkat lunak dengan pendekatan aspect-oriented. Berikut simbol pada diagram akitivitas:
http://digilib.mercubuana.ac.id/
20
Tabel 2.3 Notasi Diagram Aktivitas Simbol
Initial
Final
State Transition
Junction
Fork
Join
Keterangan Initial sebagai simbol untuk memulai suatu aktivitas.
Final sebagai simbol untuk mengakhiri suatu aktivitas
State Transition sebagai menunjukkan suatu kegiatan apa berikutnya setelah suatu kegiatan. Junction sebagai pilihan untuk mengambil suatu keputusan. Fork sebagai percabangan yang menunjukkan aliran pada diagram aktivitas. Join sebagai penggabungan yang menjadi arah aliran diagram aktivitas. Activity sebagai memperlihatkan bagaimana dari masing-masing class antarmuka yang saling berinteraksi.
Activity
Action
Action sebagai sistem yang menunjukkan eksekusi dari suatu aksi. Flow final sebagai aliran akhir.
Flow final 4. Diagram Sequence Diagram Sequence pada dasarnya telah diatur sesuai dengan keadaan waktu. Aliran waktu pada pesan terhadap tampilan antara objek dan bagian pesan. Pada visual diagram sequence dibagi menjadi 2 arah, vertikal dan horizontal. Arah vertikal menunjukkan waktu, arah horizontal menunjukkan interaksi objek.
http://digilib.mercubuana.ac.id/
21
Tabel 2.4. Notasi Diagram Sequence. Notasi
Keterangan Actor sebagai pengguna
Actor
LifeLine sebagai objek yang berinteraksi
LifeLine Message() Message
Control Class
Mesagge sebagai komunikasi antar objek yang memuat informasi-informasi. Control class sebagai penghubung boundary terhadap class
Boundary sebagai sebuah form
Boundary Entity Class sebagai hubungan suatu kegiatan yang akan dilakukan Entity Class
http://digilib.mercubuana.ac.id/
22
http://digilib.mercubuana.ac.id/