BAB 2 Landasan Teori
BAB 2. 2.1
LANDASAN TEORI
Teori Teknologi dan Informasi
2.1.1 Software Engineering Dalam kamus oxford, software memiliki arti sebagai program atau alat pengolah
informasi
menggunakan
sebuah
komputer,
sedangkan
engineeringmemiliki definisi sebagai cabang ilmu sains dan teknologi yang fokus dalam rancangan, pembangunan, dan penggunaan alat, mesin, dan struktur. Dalam satu kesatuan frasa, software engineering, menurut (Lethbridge & Laganiere, 2005),
adalah
proses
penyelesaian
masalah-masalah
konsumen
dengan
pengembangan sistematik, sistem piranti lunak berkualitas tinggi dengan batasanbatasan seperti biaya dan waktu. Software sendiri memiliki banyak sekali jenis. Akan tetapi yang sering sekali digunakan adalah •
Custom software Custom software adalah software yang dikembangkan secara khusus dengan memenuhi spesifikasi kebutuhan dari pengguna. Biasanya jenis software ini hanya digunakan oleh sebagain orang.
•
Generic software Generic software adalah software yang dirancang untuk dijual ke pasar untuk menjalankan fungsi-fungsi pada komputer yang banyak orang butuhkan.
•
Embedded software Embedded software adalah software yang hanya akan berjalan pada hardware alat-alat tertentu yang biasa dijual di pasaran.
2.1.2 Waterfall Model Menurut (Pressman, 2010), model Waterfall menggunakan pendekatan yang sistematis dan berurutan dalam mengembangkan suatu software, yang dimulai dengan mecari tahu spesifikasi yang diperlukan oleh konsumen lalu 7
8 dilanjutkan dengan proses planning, modeling, construction,deployment, dan berakhir pada dukungan bagi software yang sudah selesai. Penggunaan model Waterfall dikarenakan kebutuhan yang diperlukan dalam menyelesaikan suatu masalah sudah diketahui.
Gambar 2.1 Waterfall Model Dalam dunia nyata, penggunaan model ini memiliki masalah yang cukup dominan. Salah satu masalah tersebut adalah penggunaan model ini tidak memungkinkan perubahan, karena perubahan sekecil apapun dapat memimbulkan kebingungan dalam tim proyek. Terlebih, para stakeholder sulit untuk menjabarkan kebutuhan yang mereka inginkan secara inplisit. Adapun kelebihan penggunaan
model
waterfall
adalah
dengan
model
ini
dokumentasi
pengembangan sistem menjadi sangat teroganisir karena harus setiap fase harus terselesaikan sebelum dapat ke fase berikutnya.
2.1.3 Unified Modelling Languages Menurut (Lethbridge & Laganiere, 2005), Unified Modelling Language (UML) merupakan standar bahasa grafis untuk pemodelan perangkat lunak berorientasi objek. Dikembangkan pada pertengahan tahun 1990-an sebagai hasil
9 kolaborasi antara James Rumbaugh, Grady Booch, dan Ivar Jacobson, yang masing-masing dari mereka telah menciptakan notasi mereka sendiri pada awal tahun 1990-an. Karenanya huruf ‘U’ pada UML merupakan singkatan dari kata Unified yang artinya penyatuan atau kombinasi pemikiran dari para ketiga pengembang aplikasi. Banyak sistem didokumentasikan menggunakan diagram. Gabungan dari banyak diagram membentuk sebuah model sistem. Model sistem ini dapat menggambarkan hubungan antara banyak informasi yang bekerja dalam sistem tersebut. Sedangkan, sebuah diagram hanya dapat menggambarkan salah satu informasi tersebut. Menghapus salah satu elemen dalam suatu diagram dapat diperbolehkan, tetapi menghapus satu elemen dalam suatu model mengharuskan untuk menghapus semua elemen tersebut dalam semua diagram yang bersangkutan. Karena merupakan standar yang digunakan dalam pembuatan aplikasi, semua orang dapat mengintepretasikan dengan cara yang sama.
a.
Use-Case Diagram Menurut (Ambler, 2005), Use Case diagram adalah diagram yang
digunakan untuk menunjukan hubungan antar aktor dan penggambaran kasus yang terjadi dalam sistem. Masih mengutip dari buku yang sama, penggunaan use case diagram adalah sebagai berikut: •
Menyediakan iktisar dari semua persyaratan penggunaan untuk sebuah sistem dalam bentuk essential model (Constantine and Lockwood 1999, Ambler 2004) atau dalam bentuk business model (Rational Corporation 2002);
•
Mengkomunikasikan cakupan dari perkembangan proyek.
•
Membentuk analisis dari persyaratan-persyaratan penggunaan dalam bentuk sistem use-case model (Cockburn, 2001)
Use-case model terdiri dari satu atau banyak use-case diagram dan banyak dokumentasi yang mendukungnya seperti spesifikasi use-case dan pendefinisian aktor yang berperan. Selain itu, use-case model haruslah dikembangkan berdasar sudut pandang para stakeholder yang berkepentingan dalam sistem tersebut, dan bukanlah dari sudut pandang pengembang
10 Dalam bukunya, (Ambler, 2005), ada beberapa tipe hubungan yang mungkin terjadi dalam sebuah use-case diagram: 1. Asosiasi antara aktor dan use-case 2. Asosiasi antara dua use-case 3. Generalisasi antara dua aktor 4. Generalisasi antara dua use case
Asosiasi digambarkan sebagai garis yang menghubungkan dua elemen model
dengan
kepala
panah
terbuka
yang
opsional.
Hal
ini
untuk
mengindikasikan arah permintaan dari hubungan tersebut. Sedangkan generalisasi digambarkan sebagai garis dengan kepala panah tertutup dan berguna untuk menunjukan sifat elemen yang lebih umum.
Gambar 2.2 : Contoh Diagram Use-Case untuk Online Shopping Selain hal yang telah dijelaskan sebelumnya, ada pula istilah asosiasi include dan asosiasi extend. Asosiasi include digunakan sebagai permintaan suatu use-case oleh use-case lainnya. Sedangkan asosiasi extend adalah hubungan generalisasi dimana use-case yang diperpanjangkan melanjutkan sifat use-case utama dengan cara menambahkan serangkaian aksi ke dalam use-case utama. Kedua asosiasi ini menggambarkan saling ketergantungan antara banyak use-case dan untuk itu keduanya digambarkan menggunakan garis putus dengan penambahan penulisan <
> untuk asosiasi include atau <<extends>> untuk asosiasi extends.
11 b. Class Diagram Menurut (Ambler, 2005), Class diagram menunjukan kelas-kelas dari sebuah sistem, hubungan anatarnya, dan operasi berikut atribut dari kelas-kelas tersebut. Hal ini dimaksudkan untuk: • Mengeksplorasi konsep-konsep dalam domain model • Menganalisa kebutuhan dalam bentuk model konseptual • Menggambarkan detil desain dari aplikasi berorientasi objek Sebuah model kelas dapat meliputi satu atau lebih dari satu class diagram dan spesifikasi pendukung yang menjelaskan tiap elemennya, termasuk kelaskelas, hubungan antar kelas, dan antar-muka. Class memiliki tiga area pokok, yaitu: 1.
Nama (dan stereotype), merupakan nama sebuah class.
2.
Atribut, merupakan properti dari sebuah class yang melambangkan batas nilai yang mungkin ada di objek dari class. Nama dan tipe atribut harus konsisten.
3.
Metode, merupakan sesuatu yang bisa dilakukan oleh class atau dapat dilakukan class lain terhadap sebuah class.
Atribut dan metode dapat memiliki salah satu sifat sebagai berikut: a. Public, dapat dipanggil oleh semua objek di dalam sistem, ditampilkan dengan simbol (+). b. Protected,
hanya dapat dipanggil oleh class yang bersangkutan dan
subclass, ditampilkan dengan simbol (#). c. Private, tidak dapat dipanggil dari luar class yang bersangkutan, ditampilkan dengan simbol (-). d. Package, hanya dapat dipanggil oleh classesdengan package yang sama, ditampilkan dengan simbol (~).
12
Gambar 2.3 : Visibility Options on UML Class Diagrams Berikut ini merupakan notasi-notasi yang digunakan dalam class diagram, yaitu: 1. Class Merupakan sebuah template dari objek mana yang dibuat.Class menentukan atribut yang bersangkutan dengan operasinya. 2. Association Merupakan
hubungan
antara
dua
class.
Garis
ini
dapat
melambangkan tipe hubungan dan juga hukum multiplicity seperti gambar dibawah ini.
Gambar 2.4 : UML Multiplicity Indicators 3. Composition Composition adalah bentuk yang lebih kuat dari agregasi dimana keseluruhan bagian memiliki coincident lifetimes dan sangat umum bagi keseluruhannya untuk mengelola life cycle dari bagian-bagiannya itu sendiri.
13 4. Dependency Hubungan Dependency digunakan jika operasi sebuah class menggunakan class yang lain. Dependency digambarkan dengan sebuah panah bertitik-titik. 5. Aggregation Agregasi menyatakan “bagian dari” hubungan.Agregasi merupakan spesialisasi dari asosiasi, karena menspesialisasi seluruh bagian hubungan diantara dua objek. 6. Inheritance Class dapat diturunkan dari classlain dan mewarisi semua atribut dan metode class asalnya dan menambah fungsionalitas baru, sehingga disebut sebagai anak dari class yang diwarisinya. Inheritance digambarkan dengan garis dengan kepala panah tertutup menunjuk dari anak class ke class asalnya.
Gambar 2.5 : Contoh Class Diagram (sumber: Scott W. Ambler) c.
Sequence Diagram Menurut (Ambler, 2005), sequence diagaram adalah teknik pemodelan
yang dinamis. Biasanya digunakan untuk: •
Memvalidasi dan membedah logika dan kelengkapan dari skenario penggunaan aplikasi.
14 •
Mengeksplorasi rancangan pengembang karena sequence diagram dapat menyediakan cara untuk pengembang agar dapat melihat langkah-langkah penggunaan aplikasi yang didefinisikan oleh diagram kelas.
•
Memberi pengembang gambaran kelas dalam aplikasinya yang akan menjadi kompleks.
•
Mendeteksi hambatan dalam sebuah rancangan berorientasi objek.
Sequence diagrammenggambarkan interaksi antar objek di dalam dan disekitar sistem berupa message yang digambarkan terhadap waktu. Sequence diagram biasa digunakan untuk menggambarkan skenario atau langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang memicu aktifitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output yang dihasilkan. Lifeline adalah pengklasifikasi atau contoh dari pengklasifikasi yang digambarkan di bagian atas sequence diagram. Aktor, kelas, komponen, objek, use case, dan sebagainya dianggap lifeline.
Gambar 2.6 : Contoh Sequence Diagram dalam mendaftarkan seminar untuk siswa (sumber: Scott W. Ambler)
15 d. Activity Diagram Activity diagram, mengutip dari (Ambler, 2005), adalah penyetaraan berorientasi objek dari flow chart dan data-flow diagram dari pengembangan terstruktur. Activity diagram biasa digunakan untuk mengeksplorasi operasi kompleks, peraturan bisnis yang rumit, use-case tunggal, beberapa use-case, proses bisnis, proses yang berjalan bersamaan, dan proses kerja aplikasi. Activity Diagram menggambarkan berbagai alur aktifitas dalam sistem yang dirancang, bagaimana alur berawal, keputusan yang terjadi, dan bagaimana alur berakhir.
Gambar 2.7 : Contoh Activity Diagramuntuk proses pemodelan bisnis (sumber: Scott W. Ambler) Terdapat dua nodes hitam yang terdapat pada activity diagram, yaitu: a. Starting Point
Gambar 2.8 : Node Activity untuk Starting Point Sebuah titik awal dimodelkan dengan lingkaran penuh, dengan menggunakan notasi yang sama dalam UML state chart diagram, setiap UML activity diagram harus memiliki titik awal, dan ditempatkan di pojok kiri atas.
b. Ending Point
16
Gambar 2.9 : Node Activity untuk Ending Point Sebuah titik akhir dimodelkan dengan lingkaran penuh dengan perbatasan di sekitarnya. Sehingga ketika orang lain membaca diagram, maka mereka mengtahui bagaimana caramengakhiri aktifitas.
2.1.4 Model, View, dan Controller (MVC) Menurut (Groove, 2010), MVC adalah pengaplikasian dari prinsip software engineering yang dikenal dengan konsep pembagian komponen sesuai dengan jenis fungsi di dalam suatu aplikasi. Adapun pembagian yang dimaksud dapat dijabarkan sebagai berikut: •
Model berfungsi sebagai pemroses algoritma-algoritma penyimpanan data (seperti session dan database)
•
View berfungsi untuk menampilkan user interface.
•
Controller berfungsi sebagai pusat pengkoordinir semua aksi dan respon aplikasi.
Keuntungan dengan menggunakan konsep ini adalah sebagai berikut: 1. Simplicity Setiap komponen dapat dirancang dan dikembangkan secara terpisah sehingga mengurangi kompleksitas permasalahan. 2. Independence Setiap komponen dapat diganti ditukar atau diganti atau digandakan sesuai kebutuhan. 3. Scalability Setiap komponen dapat diperluas dengan menambah fitur dari aplikasi. 4. Specialization Pengembang dapat fokus mengahlikan diri terhadap salah satu komponen aplikasi.
17 2.1.5 Software Testing Pengujian terhadap piranti lunak dibutuhkan agar dapat menunjukan bahwa program tersebut dapat melakukan apa yang menjadi tujuan dari program tersebut dan menemukan kekurangan program tersebut sebelum program tersebut dijalankan oleh konsumen, (Sommerville, 2011). Pengujian (testing) memiliki 2 tujuan utama : 1. Demonstrasi kepada pengembang dan konsumen bahwa aplikasi/program telah memenuhi kebutuhan yang diajukan. 2. Untuk menemukan kondisi dimana aplikasi/program berjalan dengan tidak semestinya.
Tujuan pertama dapat dipenuhi dengan merancang uji validasi, dimana uji tersebut dengan memberi input yang sesuai digunakan sebagaimana tujuan sistem tersebut dirancang. Sedangkan untuk tujuan kedua dapat dipenuhi dengan merancang uji kasus, yakni dengan memberi input yang tidak sesuai sebagaimana mestinya. Uji kasus memiliki dua jenis uji, yakni black box testing dan white box testing.
a.
Black Box Testing Dinamakan demikian karena penguji memperlakukan aplikasi atau
program sebagai kotak hitam yang isinya tidak diketahui. Penguji memberi berbagai input kepada program atau aplikasi dan melihat output apakah yang dihasilkan sesuai dengan apa yang diharapkan.
b. White Box Testing White box testing atau glass box testing adalah pendekatan sistematis untuk menguji sejauh mana source code dari aplikasi dirancang untuk menangani kecacatan input. Dinamakan demikian karena penguji lebih memperhatikan source code .
18 2.1.6 Teori Interaksi Manusia dan Komputer a.
Delapan Aturan Emas Menurut (Schneiderman & Plaisant, 2010), terdapat delapan aturan emas
yang dapat digunakan sebagai petunjuk dasar yang baik untuk merancang suatu user intercae dan diaplikasikan ke dalam banyak sistem interaktif, yaitu: 1. Berusaha untuk selalu konsisten. Konsisten dalam urutan aksi dalam situasi yang sama, konsisten dalam warna, layout, font, dll. Dan terminologi yang identik sebaiknya digunakan pada menu dan tampilan help. 2. Bersifat universal untuk semua user. Mengetahui perbedaan kebutuhan pengguna. Penambahan fitur, seperti menambahkan fitur penjelasan untuk user pemula dan fitur shortcut untuk expert user, dapat memperkaya desain interface dan meningkatkan kualitas pemakaian sistem. 3. Menyediakan umpan balik yang informatif. Untuk setiap aksi yang dilakukan user seharusnya terdapat umpan balik dari sistem. Untuk aksi yang bersifat minor dan sering respon yang diberikan harus bersifat sederhana. Sedangkan aksi yang bersifat jarang dan besar, respon harus bersifat substansial. 4. Mendisain dialog yang jelas. Urutan aksi harus terdiri dari awal, tengah, dan akhir. Umpan balik yang informatif pada bagian akhir dapat meyakinkan dan memberikan konfirmasi atas aksi yang dilakkan oleh user. 5. Mencegah terjadinya error. Mendisain sistem sehingga user tidak dapat kesalahan yang fatal. Contohnya, tidak mengijinkan karakter huruf di masukan ke dalam kolom input numerik. Jika user membuat kesalahan maka sistem harus menemukan dan meyediakan instuksi perbaikan yang mudah dan sederhana untuk user. 6. Mengijinkan pembalikan aksi. User dapat melakaukan pembalikan aksi sehingga tahu bahwa suatu aksi dapat di-undo apabila menghasilkan error. Unit yang dapat dibalikan dapat berupa aksi tunggal, data-entry, atau kelompok aksi lengkap seperti entry nama dan alamat.
19 7. Mendukung tempat pengendali internal. User yang berpengalaman menginginkan perasaan bahwa merekalah yang mengotrol interface dan interface-lah yang menerima respon mereka. 8. Mengurangi pemakaian memori jangka pendek manusia. Hal tersebut dapat dilakukan dengan cara menyederhanakan tampilan interface, menggabungkan banyak tampilan halaman, dan menyediakan waktu pelatihan untuk memahami kode, mnemonic, dan urutan aksi.
b. Lima Faktor Manusia Terukur Dalam perancangan desain antarmuka suatu piranti lunak terdapat ilmu dasar yang harus dipahami sebelum diimplemntasikan. Selain delapan aturan emas terdapat pula teori lima faktor manusia terukur. Menurut (Schneiderman &Plaisant, 2010), lima faktor manusia terukur dalam mendesain antarmuka pengguna, yaitu: 1. Waktu belajar (Time to Learn) Waktu yang dibutuhkan oleh pengguna dalam mempleajari sekumpulan perintah
dalam
suatu
tugas.
Dengan
kata
kemudahan
dalam
mengoperasikan sistem, sehingga pengguna tidak perlu waktu lama dalam memahaminya. 2. Kecepatan kinerja (Speed of Performance) Waktu yang diperlukan untuk melakukan tugas. Pada intinya seberapa efektrif kinerjanya dalam mengerjakan suatu tugas 3. Tingkat kesalahan (Rate of Error by User) Banyaknya kesalahan dan jenis kesalahan apa saja yang dilakakuan oleh pengguna dalam menyelesaikan suatu tugas. Tingkat kesalahan harus diminimalisir sekecil mungkin untuk memudahkan pengguna. 4. Daya ingat (Retention Over Time) Daya ingat berkaitan dengan waktu belajar dan frekuensi penggunaan sistem, semakin sering pengguna menggunakan sistem maka semakin mudah pengguna dalam mengingat sistem tersebut. Sistem juga harus mudah digunakan sehingga pengguna hanya memerlukan waktu belajr yang singkat.
20 5. Kepuasan Subyektif (Subjective Satisfaction) Suka atau tidaknya pengguna menggunakan variasi aspek dari sistem. Kepusan Subyektif dapat dicari dan dipastikan dengan cara interview atau survey.
2.1.7 Ubiquitous Menurut (Poslad, 2009), Ubiquitous memiliki arti terdapat di mana-mana, digabungkan dengan kata computing sehingga membentuk kata Ubiquitous Computing. Ubiquitous Computing digunakan untuk mendeskripsikan sistem ICT (Information and Communication Technology) yang memungkinkan informasi dan pekerjaan dapat dikerjakan di mana pun dan membantu kehidupan manusia. Aplikasi Ubiquitous menggunakan jaringan komunikasi untuk mengakses tugas dan remote external information yang saling berhubungan dimanapun dan kapanpun. Walaupun akses komunikasi bisa dimodelkan sebagai bagian dari sistem internal, inti dari infrastruktur jaringan komunikasi dianggap bersifat external bagi UbiCom system dan bagian dari system’s virtual computing environment.
Gambar 2.10 Contoh UbiquitousComputing Application
21 Tiga arsitektur dasar bagi ubiquitous ICT system adalah: smartdevics, smartenvirontment, dan smartinteraction. •
Smart device Smartdevice seperti personalcomputer, mobilephone, cendrung untuk menjadi multipurposeICTdevices, beroperasi sebagai sebuah portal untuk mengakses banyak aplikasi service yang bersifat lokal di perangkat atau yang bersifat remote di server. Karakteristik utama dari smartdevice adalah mobilitas, pemberian pelayanan yang dinamis dan dapat mengakses sumber daya intermittent.
•
Smart environment Smart environment merupakan komputasi yang dapat memperoleh dan mengaplikasikan pengetahuan tentang environtment dan penghuninnya untuk
meningkatkan
pengalaman
dalam
environment
tersebut.
Smartenvirontment tediri dari kumpulan jaringan device yang memiliki hubungan dengan dunia fisik. Tidak seperti smartdevice, smart environment hanya menjalankan satu tugas khusus seperti sensor panas atau gerak untuk mengontrol pintu otomatis. •
Smart interaction Smart interaction adalah desain yang menghubungkan interaksi antar smartdevice dan smart environtment untuk membantu properti inti dari UbiCom. Smart interaction dipelukan untuk untuk menyatukan antar aplikasi dan infasturktur ubiCom.
22
Gambar 2.11: Tiga perbedaan model dari ubiquitous computing: Smart Device, Smart Environtments danSmart Interaction 2.1.8 Framework Phonegap PhoneGap adalah mobile development framework yang memungkinkan programmer untuk dapat membuat aplikasi mobile dengan menggunakan HTML5, JavaScript dan CSS3. Sehingga aplikasi yang dihasilkan bersifat hybrid yang berarti campuran dari aplikasi mobile asli dan aplikasi berbasis web. Inti dari aplikasi PhoneGap adalah penggunaan HTML5 dan CSS3 untuk tampilan dan javaScript untuk logika. Sistem operasi mobile yang sudah didukung oleh PhoneGap antara lain adalah iOS, Android, webOS, Windows Phone, Symbian, dan Blackberry.
a.
Arsitektur Menurut (Ghatol & Patel, 2012), framework PhoneGap secara umum
merupakan JavaScript Library yang memungkinkan aplikasi HTML/JavaScript untuk dapat mengakses fitur dari suatu perangkat. Freamework PhoneGap juga memiliki komponen asli, yang bekerja dibalik layar device (tablet atau handphone).
23 Sebuah aplikasi yang dibuat dengan menggunakan PhoneGap memiliki 2 bagian: 1. JavaScript Business Logic Part, menjalankan UI dan fungsinya 2. JavaScript Part, mengakses dan mengontrol suatu perangkat (telephone atau tablet).
Gambar 2.12Arsitektur Phonegap
b. Hypertext Markup Language 5 (HTML 5) HTML (Hyper Text Markup Language) merupakan bahasa markup untuk world wide web, dapat digunakan untuk membuat dokumen web dengan menspesifkkan struktur konten termasuk heading, paragraph, table, footer dan elemen lainnya. HTML juga bisa digunakan untuk membuat form interaktif dan juga untuk menampilkan gambar, video, audio, dan objek lainnya, (Mavrody, 2012) Pada HTML5 diperkenalkan beberapa elemen baru yang memberikan kegunaan baru melalui antar muka yang sudah distandarkan, seperti elemen multimedia. Beberapa elemen yang telah ditinggalkan juga ditiadakan dan diganti pengerjaannya dengan menggunakan Cascading Style Sheet (CSS).
24 c.
Cascading Style Sheets 3 (CSS3) CascadingStyleSheet (CSS) merupakan aturan untuk mengendalikan
beberapa komponen dalam sebuah web sehingga akan lebih terstruktur dan seragam. CSS dapat mengendalikan ukuran gambar, warna teks, table, ukuran border, warna border dan parameter lainnya. CSS bukanlah bahasa pemrograman tetapi bahasa stylesheet yang digunakan untuk mengatur tampilan dokumen. CSS3 adalah versi terbaru dari CSS. Pada CSS3 tidak banyak terjadi perubahan dibanding versi sebelumnya, hanya ada beberapa penambahan saja. Fitur baru yang hadir dalam CSS 3 adalah: •
Animasi, sehingga dapat membuat animasi tanpa menggunakan program seperti Adobe Flash atau Mcrosoft Silverlight
•
Beberapa efek teks baru
•
Penambahan jumlah jenis huruf
•
Beberapa efek pada kotak
d. JavaSricpt JavaScript adalah bahasa pemrograman untuk web. Penggunaan JavaScript yang banyak diaplikasikan untuk website dan browser menjadikan JavaScript sebagai bahasa pemrograman yang paling berisfat ubiquitous. JavaScript berbeda dari bahasa pemrograman Java. Dan JavaScript telah menjadi bahasa pemrograman yang kuat dan efisien, (Flanagan, 2011)
2.1.9 Javascript Object Notation (JSON) JSON adalah format data berbasis teks yang ditujukan untuk mengkonversi antar bahasa pemrograman (Aziz & Mitchell, 2007). Walaupun sebenarnya JSON adalah format teks yang sepenuhanya ‘independent’, akan tetapi Bahasa pemrograman yang akrab dikonversi bagi programmer adalah C, C++, Java, JavaScript, Pearl, Phyton. JSON terdiri atas 2 struktur: •
A collection of name / value pairs
25 Dalam berbagai bahasa, hal ini direalisasikan sebagai object, record, struct, dictionary, hash table, keyed list, atau associated array. •
An ordered list of values Dalam kebanyakan bahasa, hal ini direalisasikan sebagai array, vector, list, atau sequence.
2.1.10 Hypertext Preprocessor (PHP) Menurut (Valade, 2004) dalam bukunya, PHP adalah bahasa pemrograman yang banyak digunakan untuk banyak tujuan karena open source. Dirancang untuk pemrograman website. PHP berawal dari personal home page tools yang dikembangkan oleh Rasmus Lerdorf untuk membantu user dengan webpage tasks. Hingga sekarang bahasa pemrograman ini begitu populer dan berguna serta berkembang secara bertahap sebagai bahasa pemrograman yang penuh dengan banyak fitur.
26
2.2
Teori Umum
2.2.1 Metode Penelitian Kuantitatif a.
Pengertian Metode Penelitian Kuantitatif Menurut Kamus Besar Bahasa Indonesia, metode memiliki pengertian
sebagai cara teratur yang digunakan untuk melaksanakan suatu pekerjaan agar tercapai sesuai dengan yang dikehendaki. Sedangkan penelitian adalah kegiatan pengumpulan, pengolahan, analisis, dan penyajian data yang dilakukan secara sistematis dan objektif untuk memecahkan suatu persoalan atau menguji suatu hipotesis untuk mengembangkan prinsip-prinsip umum. Dalam bukunya, (Sugiyono, 2012), mengatakan bahwa metode penelitian kuantitatif dapat diartikan sebagai metode yang berlandaskan filsafat positivisme, digunakan untuk meneliti suatu populasi atau sampel tertentu, pengumpulan datanya menggunakan instrumen penelitian, analisis data bersifat statistik, dengan tujuan menguji hipotesis yang telah ditetapkan sebelumnya. Filsafat positivisme adalah cara pandang dalam menilai suatu realitas atau fenomena memiliki sifat konkrit, teramati, terukur, dan mempunya hubungan gejala sebab-akibat. Penelitian dengan metode ini umumnya dilakukan terhadap populasi atau sampel tertentu yang representatif atau mewakili keseluruhan objek penelitian. Proses penelitiannya bersifat deduktif, yang mana untuk menjawab rumusan masalah maka digunakan konsep atau teori sehingga dapat dibentuk suatu hipotesis atau jawaban sementara. Nantinya hipostesis ini harus dibuktikan melalui pengumpulan data lapangan menggunakan instrumen penelitian. Data yang tekumpul berikutnya dianalisis menggunakan statistika sehingga dapat digeneralisir dan dapat membentuk kesimpulan untuk membuktikan hipostesis. Sebagai contoh, dalam skripsi ini ingin diketahui berapa banyak rumah sakit yang masih menggunakan rekam medis konvensional menggunakan kertas sebagai medianya. Dalam teori yang dikemukakan oleh (Ibnualim & Fiarni, 2011) bahwa cara-cara konvensional dalam pengelolaan rekam medis tersebut rentan terhadap masalah-masalah, seperti duplikasi data, temu-balik data yang lama, dan kehilangan data maka dapat dibentuk suatu hipotesis sementara bahwa saat ini
27 banyak rumah sakit mengalami masalah-masalah yang telah disebutkan sebelumnya. Untuk membuktikan hipotesis tersebut dilakukanlah pengumpulan data dengan teknik pengumpulan data seperti kuesioner dan wawancara. Adapun teknik-teknik pengumpulan data memiliki instrumen-instrumen penelitian di dalamnya. Akan tetapi, teknik-teknik penelitian ini akan lebih dijelaskan pada sub bab berikutnya.
b. Penggunaan Metode Penelitian Kuantitatif Berikut ini adalah keterangan bilamana metode penelitian kuantitatif digunakan, menurut (Sugiyono, 2012) : 1. Bila masalah yang merupakan titik tolak penelitian sudah jelas. Masalah adalah merupakan penyimpangan antara yang seharusnya dengan yang terjadi, antara aturan dengan pelaksanaan, antara teori dengan praktek, antara rencana dengan pelaksanaa. Dalam skripsi ini, metode penelitian kuantitatif digunakan untuk menemukan pola penggunaan rekam medis konvensional pada banyak rumah sakit di Jakarta, dan menuntut kelemahan penggunaannya sehingga dapat ditemukan solusi yang lebih baik. 2. Bila peneliti ingin mendapatkan informasi yang yang luas dari suatu populasi. Bila populasi terlalu banyak, maka penelitian tersebut dapat menggunakan sampel. Dalam skripsi ini, yang menjadi subjek penelitian adalah rekam medis yang digunakan oleh banyak rumah sakit. Akan tetapi, merunut pada jumlah rumah sakit yang berada di Indonesia, bahkan di kota sebesar Jakarta, maka jumlahnya akan sangat banyak. Karenanya pada penelitian ini akan menggunakan sampel. 3. Bila ingin diketahui pengaruh perlakuan/treatment tertentu terhadap yang lain. Dalam skripsi ini, ingin diketahui apakah pengaruh dan manfaat yang dapat dirasakan sebelum dan sesudah menerapkan sistem rekam medis elektronik. 4. Bila peneliti ingin menguji suatu hipotesis dalam sebuah penelitian. Dalam skripsi ini, hipotesis yang digunakan berasal dari (Ibnualim & Fiarni, 2011) mengenai kelemahan-kelemahan yang dimiliki oleh rekam medis konvensional.
28 5. Bila peneliti ingin mendapatkan data yang akurat mengenai fenomena yang dapat diukur. Pada skripsi ini, fenomena yang dimaksud adalah mengenai penggunaan rekam medis pada banyak rumah sakit di jakarta. 6. Bila ingin menguji terhadap adanya keraguan mengenai validitas suatu teori. Dalam skripsi ini, telah didapatkan standar manual pengaplikasian rekam medis. Akan tetapi pada prakteknya, pengaplikasian rekam medis pada tiap rumah sakit berbeda-beda karena alasan-alasan tertentu.
c.
Populasi dan Sampel Kata populasi sering digunakan semenjak sekolah dasar sering digunakan
untuk menerangkan sekumpulan individu dengan ciri-ciri yang sama, hidup menempati suatu ruang dan waktu yang sama. Sedangkan populasi dalam istilah penelitian, menurut (Sugiyono, 2012), adalah wilayah generalisasi yang tediri atas : obyek/subyek yang mempunya kualitas dan karateristik yang ditetapkan oleh peneliti untuk dipelajari. Dari pendefinisian tersebut, dapat diambil kesimpulan bahwa populasi tidak selalu makhluk hidup, dan bukan sekedar jumlah objek/subjek yang dipelajari, namun dapat juga mengenai karakteristik atau sifat yang dimiliki oleh obyek/subyek tersebut. Misalkan akan dilakukan sebuah penelitian pada sebuah rumah sakit X. Rumah sakit ini memiliki sejumlah orang/subyek dan obyek lain. Hal ini berarti populasi dalam arti jumlah. Namun, rumah sakit juga memiliki karakteristik dalam orang-orangnya maupun obyek-obyek pendukung di dalam rumah sakit tersebut. Misalnya motivasi kerja, displin kerja, ataupun pelayanan. Sedangkan obyek-obyek pendukung dapat pula memiliki karateristik seperti prosedur pelayanan, kebijakan perusahaan, atau kebersihan lingkungan. Untuk melakukan sebuah penelitian, peneliti dapat melakukan terhadap populasi. Bila populasi yang tersedia ternyata sangat banyak dan untuk meneliti semua populasi tersebut menyita waktu dan tenaga, maka peneliti dapat mengambil sebagian jumlah populasi tersebut. Sebagian dari jumlah populasi itu disebut sampel, menurut (Sugiyono, 2012). Apa yang dipelajari dari sampel tersebut akan dapat menghasilkan sebuah kesimpulan yang dapat diterapkan
29 terhadap populasi. Karenanya, sampel yang diambil dari populasi tersebut harus representatif.
d. Teknik Pengambilan Sampel Teknik sampling adalah teknik pengambilan sampel. Secara skematis, teknik sampling dibagi menjadi dua, yakni teknik probability sampling, dan teknik non probability sampling.
Gambar 2.13 Macam-Macam Teknik Sampling Probability sampling adalah teknik pengambilan sampel yang memberikan peluang yang sama bagi setiap anggota populasi agar dapat terpilih. Probability sampling meliputi : 1. Simple Random Sampling Pengambilan sampel dilakukan secara acak tanpa memandang strata yang ada pada suatu populasi. 2. Proportionate Stratified Random Sampling Pengambilan sampel ini dilakukan dengan memperhatikan strata dalam populasi secara proporsional. 3. Dispropriate Stratified Random Sampling Pengambilan sampel dengan teknik dilakukan ketika populasi memiliki strata namun tidak proporsional. 4. Cluster Sampling
30 Pengambilan sampel ini digunakan ketika objek penelitian sangat banyak dan terbagi secara regional.
Sedangkan non probability sampling adalah, berlawanan dengan definisi probability sampling, teknik ini tidak memberikan peluang yang sama kepada setiap anggota populasi agar dapat menjadi sampel dari suatu penenlitian. Teknik ini meliputi atas: 1. Sampling sistematis Pengambilan sampel yang didasari dengan nomor urutan anggota populasi. 2. Sampling kuota Pengambilan sampel dengan memperhatikan ciri-ciri tertentu hingga jumlah kiota yang diinginkan. 3. Sampling incidental Teknik penentuan sampel berdasarkan kebetulan, yakni siapa saja yang secara kebetulan bertemu dan dipandang sesuai sebagai sumber data. 4. Purposive sampling Teknik penentuan sampel dengan pertimbangan tertentu, bergantung dengan objek yang diteliti. 5. Sampling jenuh Teknik penentuan sampel bila semua anggota populasi digunakan sebagai sampel. Biasanya karena jumlah populasi relatif sedikit. 6. Snowball sampling Teknik penentuan sampel yang semula berjumlah kecil, kemudian membesar.
e.
Rumus Penentuan Ukuran Sampel Dalam subbab sebelumnya diterangkan bahwa sampel yang digunakan
dalam sebuah penelitian harus representatif, yang artinya kesimpulan yang ditarik dari sampel harus dapat diterapkan kepada populasi. Lalu, berapakah sampel yang harus digunakan agar sampel representatif? Menurut (Sugiyono, 2012) dalam bukunya, tergantung pada tingkat ketelitian atau kesalahan yang dikehendaki. Kadangkala tingkat keltelitian tergantung pada sumber dana, waktu dan tenaga yang tersedia. Semakin besar jumlah sampel, maka tingkat kesalahan akan
31 semakin kecil. Hal yang berkebalikan juga berlaku sama bila kecil jumlah sampel, maka akan semakin besar tingkat kesalahan. Berikut ini adalah tabel penentuan jumlah sampel dari populasi tertentu yang dikembangkan dari Isaac dan Micahel, untuk kesalahan 1%, 5%, dan 10% dengan rumus sebagai berikut :
Gambar 2.14 Rumus Penentuan Sampel Atau bila diperinci, rumus di atas dapat membentuk tabel sebagai berikut:
Gambar 2.15Penentuan Jumlah Sampel Dari Populasi Tertentu Dengan Taraf kesalahan 1%, 5%, dan 10%
32 2.2.2 Rekam Medis a.
Pengertian Rekam Medis Pengertian rekam medis dalam Pasal 46 ayat (1) UU Praktik kedokteran
adalah berkas yang bersisi catatan dan dokumen tentang identitas pasien, pemeriksaan, pengobatan, tindakan dan pelayanan yang telah diberikan kepada pasien.
Semantara
dalam
Peraturan
Mentri
Kesehatan
Nomorr
749a/menkes/Per/XII/1989 tentang Reakam Medis dijelaskan bahwa rekam medis adalah berkas yang berisikan catatan dan dokumen tentang identitas pasien, pemeriksaan, pengobatan, tindakan dan pelayanan lain kepada pasien pada sara pelayanan kesehatan. (Sjamsuhidajat, et al., 2006)
b. Manfaat Rekam Medis Berikut ini adalah manfaat-manfaat dari penggunaan rekam medis pasien, yakni: 1. Pengobatan pasien 2. Meningkatkan kualitas pelayanan 3. Pendidikan dan penelitian 4. Pembiayaan 5. Statistik kesehatan 6. Pembuktian masalah hukum, displin, dan etik
c.
Standar konten rekam Medis Masih dari sumber yang sama, secara umum, rekam medis terdiri atas
catatan dan dokumen. Adapun catatan tersebut terdiri dari identitas pasien identitas pasien, pemeriksaan pasien, diagnosis, pengobatan, tindakan dan pelayanan lain baik yang dilakukan oleh dokter dan dokter gigi atau tenaga kesehatan lainnya yang berkompeten dalam bidangnya. Sedangkan dokumen dalam rekam medis terdiri atas pelengkap catatan tersebut seperti foto rontgen, hasil laboratorium, dan keterangan lain sesuai dengan kepentingannya.
33 Berdasarkan manual rekam medis yang dikeluarkan oleh Konsil Kedokteran Indonesia tahun 2006, standar isi rekam medis terbagi menjadi 2 kategori, yakni : a. Rekam Medis Pasien Rawat Jalan Isi rekam medis sekurang-kurangnya terdiri atas : -
Identitas pasien
-
Pmeriksaan fisik
-
Diagnosis/Masalah
-
Tindakan/Pengobatan
-
Pelayanan lain yang telah diberikan kepada pasien
b. Rekam Medis Pasien Rawat Inap Isi rekam medis sekurang-kurangnya terdiri atas : -
Identitas pasien
-
Pmeriksaan fisik
-
Diagnosis/Masalah
-
Persetujuan tindakan medis (bila ada)
-
Tindakan/Pengobatan
-
Pelayanan lain yang telah diberikan kepada pasien
d. Jenis Rekam Medis Terdapat 2 jenis rekam medis, yaitu rekam medis konvensional (menggunakan media kertas) dan rekam medis elektronik (menggunakan alat elektronik).
2.2.3 Rekam Medis Elektronik Sebelum mendefinisikan apa itu rekam medis elektronik, ada baiknya bila terlebih dahulu mendefinisikan apa itu rekam medis. Menurut (Iyer, Levin, & Shea, 2006), rekam medis adalah sebuah dokumen rahasia dan berisikan sejarah kesehatan seorang pasien dari perawatannya di suatu fasilitas kesehatan. Tujuan pembuatan rekam medis adalah sebagai acuan utama prosedur, manajemen resiko dan pengaturan kualitas perawatan pasien yang dapat dilakukan oleh banyak
34 fasilitas kesehatan, serta menjadikan rekam medis sebagai database untuk perusahaan asuransi atau kebutuhan kepemerintahan untuk statistik penyakit atau perawatan. Sedangkan rekam medis elektronik, menurut (Kirch, 2008), adalah catatan seumur hidup tentang kesehatan seseorang dalam sebuah sistem berbasis komputer. Akan tetapi, mengutip dari (Hoerbst & Ammenwerth, 2010), sejak konsep rekam medis elektronik pertama kali pada tahun 1990-an, konten, struktur dan teknologi yang digunakan seringkali berubah dan beradaptasi. Namun, ide yang mendasari konsep ini selalu sama yakni memberikan, mempertahankan atau meningkatkan kualitas pelayanan kesehatan. Karenanya, meskipun sekarang ini rekam medis elektronik dikembangkan dan diimplementasikan pada basis-basis elektronik yang bermacam-macam, tetapi perlu digarisbawahi bahwa objek utama konsep ini adalah kualitas pelayanan kesehatan dan dapat membantu semua pemiliki kepentingan.