BAB 2 LANDASAN TEORI
2.1 Teori Umum 2.1.1 Internet dan World Wide Web Menurut Shelly (2009, p2), Internet adalah koleksi jaringan komputer seluruh dunia yang menghubungkan jutaan komputer yang digunakan untuk kepentingan bisnis, pemerintahan, institut edukasional, organisasi, dan individual menggunakan modem, jaringan telepon, kabel televisi, satelit, dan media komunikasi lainnya. Sedangkan menurut Shelly (2009, p3), World Wide Web adalah bagian dari internet yang mendukung multimedia dan terdiri atas sejumlah dokumen-dokumen yang saling terhubung.
2.1.2 Sejarah Internet Menurut Bidgoli (2004, p114-121), internet merupakan sebuah jaringan komputer yang dibentuk oleh Departemen Pertahanan Amerika Serikat pada tahun 1969 melalui proyek yang disebut ARPANET (Advanced Research Project Agency Network).
7
8
Gambar 2.1 Timeline Internet Events (sumber : Bidgoli (2004, p115))
Pada tahun 1957, Presiden Eisenhower beserta Neil McElroy dan Killian mengajukan kongres untuk membuat Advanced Research Project Agency (ARPA) di bawah naungan Departemen Pertahanan Amerika Serikat. Pada awal tahun 1958, ARPA secara resmi didirikan oleh pemerintah Amerika Serikat dengan dedikasi untuk mengembangkan teknologi militer. Tahun 1958, National Aeronautics and Space Administration (NASA) memisahkan diri dari ARPA. Dengan penghapusan space and missile research, ARPA dapat fokus ke ruang lingkup ilmu komputer dan proses informasi. Pada tahun 1966, Robert Taylor selaku direktur IPTO (Information Processing Techniques Office) dari ARPA mengajukan solusi permasalahan dari penelitian, yaitu membuat sebuah sistem elektronik yang menghubungkan antara satu komputer dengan komputer lain yang berbeda lokasi geografis di seluruh penjuru negara, dengan tujuan sharing yang cepat, murah, dan mudah.
9
Oleh karena itu pada tahun 1967 dibuatlah proyek ARPANET dengan membuat sistem jaringan komputer tersebar. Untuk membuat suatu sistem jaringan yang luas, para peneliti ARPA memvisikan sebuah sistem yang lebih kecil yang disebut Interface Message Processors (IMP) untuk memecahkan masalah mainframe-to-mainframe incompability. Setiap IMP berlaku sebagai interface antara network dengan mainframe. Setiap mainframe mengirimkan packet yang sama ke IMP dan dapat dikirimkan juga ke seluruh IMP yang ada. Pada awal mulanya ARPANET hanya menghubungkan 4 mainframe yaitu Stanford Research Institute (Stanford), University of California (UCLA) , Santa Barbara (UCSB), dan University of Utah (Utah), di mana membentuk satu jaringan terpadu tahun 1969. Tidak lama kemudian proyek ini berkembang di seluruh daerah dan semua universitas di negara tersebut ingin bergabung, membuat ARPANET kesulitan untuk mengaturnya.
Gambar 2.2 Interface Message Processing (IMP) Design
10
(sumber : Bidgoli(2004, p117))
Hingga tahun 1984, komputer yang terhubung dalam jaringan, baik untuk urusan pemerintahan maupun komersial digabung menjadi satu. Dalam beberapa tahun, jumlah jaringan yang didirikan didominasi oleh universitas. Beberapa jaringan (network) yang ada : -
ARPANET (1969) : UCLA, Stanford University, UCSB, University of Utah, BBN, MIT, RAND Corporation, SDC, Harvard University, MIT's Lincoln Laboratory, University of Illinois, Case Western Reserve University, Carnegie Mellon University, NASA/Ames.
-
MERIT (1969) : University of Michigan, Michigan State University, Wayne State University.
-
THEORYNET (1977) : University of Winconsin.
-
USENET (1979) : Duke University, University of North Carolina.
-
CSNET (1981) : University of Delaware, Purdue University, University of Winconsin, RAND Corporation, BBN.
-
BITNET (1981) : City University of New York, Yale University.
Melihat perluasan jaringan yang menarik minat pihak akademis (universitas) maupun komersial membuat Departemen Pertahanan Amerika Serikat meningkatkan kepedulian terhadap informasinya di dalam jaringan. Dengan alasan tersebut, seluruh informasi militer yang terdapat di dalam jaringan dipisahkan dari ARPANET, menghasilkan 2 buah jaringan baru yaitu
11
ARPANET dan MILNET. Komputer di MILNET tetap dapat berkomunikasi dengan ARPANET, namun koneksi antara MILNET dengan ARPANET didesain agar MILNET diputuskan jaringannya dari ARPANET jika terjadi suatu masalah atau threat di keamanannya.
2.1.3 Rekayasa Piranti Lunak Menurut Pressman (2010, p4), software adalah : 1. Instruksi pada program komputer yang ketika dijalankan akan menghasilkan fungsi-fungsi dan performa yang diinginkan. 2. Struktur data yang mengizinkan program untuk memanipulasi data – data dan informasi secukupnya. 3. Dokumen yang mendeskripsikan operasi dan kegunaan dari sebuah program.
Menurut Pressman (2010, p4), software memiliki karakteristik yang berbeda dari hardware : 1. Software dikembangkan dan direkayasa, bukan dibuat seperti hardware. Software dan hardware memerlukan desain yang baik untuk mencapai kualitas tinggi, namun produksi hardware dapat menemukan masalah kualitas, sedangkan dalam pengembangan software, hal tersebut tidak terjadi (jika terjadi, akan mudah diperbaiki). 2. Software tidak akan habis “dipakai”.
12
Jika hardware, terdapat spare part yang dapat menggantikannya. Sedangkan pada software, tahap pemeliharaan tidak semudah hardware karena tidak memiliki spare part apapun. Saat software menemukan kegagalan (rusak), berarti terjadi kesalahan pada desain atau proses sehingga software tidak bisa digunakan lagi. 3. Suatu komponen software dibuat sesuai pesanan Suatu komponen software harus dirancang dan mampu diterapkan pada berbagai jenis program. Dengan demikian, komponen software tersebut dapat digunakan berulangkali dan dimanipulasi, sehingga memungkinkan untuk menghasilkan suatu software yang berbeda.
Menurut Pressman (2010, p12-13), untuk membuat sebuah software yang memiliki tantangan di abad ke-21 ini, harus melihat beberapa realita yang ada yaitu : - Software telah menjadi bagian secara virtual dalam setiap aspek kehidupan. Sebagai konsekuensinya, orang yang memiliki minat dalam fitur dan fungsionalitas suatu aplikasi meningkat drastis. Bila suatu aplikasi baru akan dibuat, banyak suara dari berbagai pihak yang harus didengar, dan seringkali setiap individu memberikan ide yang berbeda untuk suatu fitur atau fungsi aplikasi. Dengan demikian ditekankan untuk memahami permasalahan secara tepat sebelum solusi software dikembangkan. - Kebutuhan informasi teknologi terus meningkat secara individual, bisnis,
dan
pemerintahan.
Software
yang
semulanya
13
diimplementasikan di lingkungan yang spesifik, sekarang terdapat di dalam setiap peralatan elektronik konsumen mulai dari alat medis hingga
sistem
senjata.
Kompleksitas
dari
produk-produk
membutuhkan perhatian akan interaksi seluruh sistem. Dengan demikian ditekankan bahwa unsur desain menjadi sangat penting. - Peningkatan para pengguna yang mengandalkan software untuk penyusunan strategi dan taktik pengambilan keputusan dalam sehari-hari. Jika software tersebut gagal, pengguna dapat merasakan suatu dampak negatif hanya dari sedikit kegagalan (minor). Dengan demikian ditekankan bahwa software harus memiliki kredibilitas kualitas yang tinggi. - Selama aplikasi berkembang, kalangan para pengguna dan usia pemakaian juga turut berkembang. Bila kalangan dan usia berkembang, maka dibutuhkan peningkatan aplikasi yang turut berkembang pula. Dengan demikian ditekankan bahwa software harus dapat dimaintenis (update). Dengan realita-realita di atas, dapat disimpulkan bahwa software dalam segala bentuk dan aplikasinya harus direkayasa. Sehingga menurut Pressman (2010, p13), mengutip dari definisi yang diajukan oleh Fritz Bauer, rekayasa software adalah pembuatan dan penggunaan prinsip-prinsip engineering untuk mendapakan software yang ekonomis, yang dapat diandalkan dan bekerja efisien pada sebuah mesin.
14
Gambar 2.3 Software Engineering Layers (sumber : Pressman (2010, p14))
Berdasarkan kutipan oleh Pressman (2010, p13-14), rekayasa software adalah sebuah teknologi yang ber-layer. Seperti pada gambar 2.3, layer dari rekayasa software adalah : -
A Quality Focus Dalam
setiap
rekayasa
software
harus
dimulai
dengan
mengorganisir komitmen kualitas. Pijakan dasar yang mendukung dalam rekayasa software adalah pemfokusan kualitas. -
Process Fondasi untuk rekayasa software adalah layer proses. Proses mendefinisikan sebuah framework yang harus didahulukan agar dapat mendukung pengiriman yang lebih efektif dalam rekayasa software. Proses software meliputi manajemen kontrol dari proyek dan konteks dimana segala metode teknis digunakan, hasil diproduksi,
milestones
ditentukan,
perubahan ditangani dengan baik.
kualitas
dipastikan,
dan
15
-
Methods Metode menjelaskan bagaimana cara membangun sebuah rekayasa software. Metode mencakup beberapa tugas mencakup komunikasi (communication), analisis kebutuhan (requirements analysis), desain model (design modeling), pembuatan program (program construction), testing, dan support.
-
Tools Perlengkapan dalam rekayasa software memberikan dukungan secara otomatis atau semi-otomatis dalam menjalankan proses dan metode yang ada. Suatu perlengkapan yang berisi informasi yang diciptakan oleh satu bagian dan dapat digunakan oleh yang lain, merupakan sebuah sistem yang dirancang untuk mendukung pengembangan
program,
disebut
computer-aided
software
engineering.
Menurut Pressman (2010, p26) software process merupakan gambaran dari suatu proses rekayasa software yang terdiri dari aktifitas, tindakan, tugas, tujuan, dan hasil kerja yang dibutuhkan untuk menghasilkan software yang berkualitas. Software process merupakan pendekatan yang diambil ketika merekayasa suatu software. Menurut Pressman (2010, p15), beberapa kegiatan umum yang penting dalam proses rekayasa software adalah sebagai berikut : 1. Communication
16
Penjelasan-penjelasan tentang fungsionalitas dan batas-batas dalam pengembangan suatu software yang didiskusikan dengan para stakeholder. 2. Planning Software
yang
mendukung
spesifikasi
harus
dibuat
dan
direncanakan serta mendeskripsikan fungsi software, resiko yang mungkin terjadi, dan sumber daya yang dibutuhkan. 3. Modeling Pembuatan rancangan awal dalam pembuatan suatu software sesuai dengan batas-batas kebutuhan dan perencanaan. 4. Construction Pembuatan software (coding) berdasarkan rancangan yang telah dibuat serta melakukan uji coba (testing) untuk menemukan error yang terjadi dalam software tersebut. 5. Deployment Software yang telah dikembangkan diberikan kepada customer dan memberikan feedback berdasarkan evaluasi yang ada.
Menurut Pressman (2010, p39) dalam pengembangan rekayasa software terdapat sebuah pendekatan yang disebut waterfall. Waterfall model biasa disebut classic life-cycle, menyarankan sebuah pendekatan yang sistematis dan berurutan untuk pengembangan software.
17
Gambar 2.4 Waterfall Model (sumber : Pressman (2010, p39))
Pada gambar 2.4 menunjukan tahap-tahap pengembangan software pada model waterfall dimulai dari spesifikasi komunikasi kebutuhan user dan perkembangannya melalui perencanaan, modeling, konstruksi, penempatan hasil akhir dalam dukungan yang terus-menerus dari software yang lengkap.
Berdasarkan kutipan dari David Hooker [Hoo96] (Pressman 2010, p19-21), terdapat beberapa prinsip yang dapat digunakan dalam pembuatan rekayasa software, yaitu : 1. The Reason It All Exists Sebuah sistem software ada karena satu alasan, yaitu untuk menyediakan
sebuah
nilai
untuk
penggunanya.
Sebelum
menentukan kebutuhan sistem, sebelum menentukan platform ataupun proses pengembangan, selalu tanyakan pada diri "apakah hal yang dimasukkan ini ke dalam software memberikan sebuah nilai?", dan bila jawabannya adalah "tidak" maka jangan lakukan hal tersebut. 2. KISS (Keep It Simple, Stupid)
18
Banyak faktor untuk mempertimbangkan usaha sebuah desain. Terdapat kutipan "all design should be as simple as possible, but no simpler." Hal ini menunjukkan bahwa sebuah desain ditujukan untuk sederhana, namun bukan berarti terlalu sederhana melainkan agar lebih mudah dimengerti dan lebih mudah memaintenis sistem. Sederhana bukan berarti "quick and dirty", dalam arti lain terdapat banyak ungkapan untuk mengatakan sebuah hal itu sederhana. Hasil yang dikeluarkan dengan kesederhanaan ini adalah maintainable dan berkurangnya jumlah error. 3. Maintain the Vision Sebuah visi yang jelas adalah kunci kesuksesan sebuah proyek software. Tanpa adanya sebuah kesepakatan konsep, sistem yang dikembangkan terancam akan menjadi sebuah pekerjaan dengan desain yang tidak kompabilitas, dikekang dengan banyak persepsi yang
salah.
Memiliki
sebuah
pegangan
visi
dan
dapat
melaksanakannya dapat membantu meluruskan jalan ke proyek software yang sukses. 4. What You Produce, Others Will Consume Seseorang
akan
menggunakan,
mendokumentasikan
sebuah
software tergantung bagaimana caranya dalam memahami sistem yang ada. Oleh sebab itu selalu pikirkan bahwa orang lain akan menggunakan sistem tersebut dan apakah mereka mengerti. 5. Be Open to the Future
19
Sistem yang memiliki masa panjang memiliki nilai yang lebih. Dengan perkembangan teknologi komputer, dimana spesifikasi dan platform hardware selalu berubah, masa hidup software biasanya diukur dengan hitungan bulan. Namun sebuah software sistem yang kuat harus bertahan lebih lama. Oleh karena itu perlu dilakukan adaptasi terhadap perubahan-perubahan yang terjadi di lingkungan. 6. Plan Ahead for Reuse Reuse menghemat waktu dan tenaga. Penggunaan kembali code dan desain yang ada menjadi sebuah keuntungan menggunakan teknologi object-oriented. Namun penggunaan kembali teknologi object-oriented yang ada membutuhkan pemikiran yang dalam dan perencanaan sebelum bertindak. 7. Think! Lakukan pemikiran secara lengkap dan tepat sebelum bertindak agar menghasilkan hasil yang lebih baik. Setiap pemikiran yang ada baik gunanya. Apabila memikirkan suatu hal yang benar, maka dapat diterapkan untuk ke depannya. Sedangkan bila memikirkan sesuatu hal dan salah dalam bertindak, maka menjadi pengalaman yang berharga. Efek samping dari berpikir adalah belajar untuk sadar bahwa ketika melakukan suatu hal yang tidak benar, maka dari hal tersebut dapat dicari sebuah jawaban.
20
2.1.4 Interaksi Manusia dan Komputer Menurut Shneiderman (2010, p22), Interaksi Manusia dan Komputer atau Human-Computer Interaction adalah suatu disiplin ilmu desain dengan menggabungkan metode-metode pencarian data serta implementasi sistem komputer interaktif. Menurut Shneiderman (2010, p32), dalam mendesain suatu rancangan antar muka, developer harus memperhatikan beberapa faktor. Terdapat 5 faktor manusia yang terukur, yaitu : 1. Time to Learn Berapa lama yang dibutuhkan oleh user untuk mempelajari bagaimana cara menggunakan cara relevan untuk melakukan suatu tugas? 2. Speed of Performance Berapa lama waktu yang diperlukan oleh user untuk menyelesaikan suatu tugas? 3. Rate of Errors by User Berapa banyak dan apa jenis kesalahan yang dilakukan user ketika melakukan suatu tugas? 4. Retention Over Time Bagaimana
kemampuan
user
untuk
mempertahankan
pengetahuan mereka setelah jangka waktu tertentu? 5. Subjective Satisfaction Berapa tingkat kepuasan user terhadap aspek-aspek dari antar muka tersebut?
21
Selain 5 faktor manusia terukur, menurut Shneiderman (2010, p88) dalam merancang sebuah sistem interaksi manusia dan komputer harus memperhatikan delapan aturan emas (Eight Golden Rules), yaitu : 1. Strive for Consistency Tampilan layar harus konsisten, meliputi penggunaan warna, layout, huruf, tulisan, tampilan data, dan sebagainya harus diusahakan konsisten sehingga user dapat mengerti. 2. Cater to Universal Usability Perhatikan desain dan kebutuhan sesuai dengan tingkatan user. Untuk
pemula,
sebaiknya
diberikan
menu
penjelasan
(explanations) dan untuk expert / advance user dibuat semacam tombol shortcut untuk memperkaya desain antar muka dan meningkatkan kualitas sistem. 3. Offer Informative Feedback Untuk setiap aksi yang dilakukan oleh user, sistem harus memberikan umpan balik untuk memberitahu user bahwa aplikasi sedang melakukan suatu proses yang diperintahkan user. 4. Design Dialogs to Yield Closure Serangkaian aksi harus dikelompokkan berdasarkan awal, pertengahan, dan akhir. Umpan balik yang informatif terhadap penyelesaian suatu aksi dapat memberikan kepuasan kepada user. Misal sebuah website e-commerce memindahkan user
22
dari 'selecting product' ke halaman 'checkout', dengan menampilkan halaman konfirmasi yang menyatakan bahwa transaksi telah berhasil dilakukan. 5. Prevent Errors Sebisa mungkin, desain dari suatu sistem harus dapat mencegah user melakukan kesalahan fatal. Sebagai contoh, tidak memperbolehkan huruf dalam pengisian field numeric. Apabila user melakukan kesalahan, maka sistem harus dapat mendeteksi kesalahan tersebut dan menampilkan pesan instruksi yang sederhana dan spesifik untuk memperbaiki kesalahan.
Misal,
pesan
instruksi
menunjukkan
lokasi
kesalahan dan deskripsi kesalahan tersebut serta contoh cara memperbaikinya. 6. Permit Easy Reversal of Actions Sebisa mungkin, aksi yang dilakukan user dapat di-undo (reversible). Fitur ini dapat mengurangi rasa khawatir jika user melakukan kesalahan dan dapat dibalikkan, khususnya ketika user menjelajahi opsi yang tidak dikenalnya. 7. Support Internal Locus of Control User yang berpengalaman menginginkan suatu perasaan bahwa mereka memegang kendali dari sistem dan sistem menanggapi segala aksi yang dilakukan oleh user. 8. Reduce Short-Term Memory Load
23
Keterbatasan manusia dalam menangkap informasi khususnya pada jangka pendek membutuhkan sistem yang menampilkan informasi secara sederhana, misalnya penggunaan multiplepage (lebih baik daripada menumpuk informasi dalam satu halaman), pengurangan pergerakan window, serta serangkaian aksi yang dilakukan lebih dipersingkat.
Menurut Michael Mohageg dan Annette Wagner (Bergman, 2000) yang terdapat pada buku Shneiderman, terdapat 5 pertimbangan ketika melakukan desain antar muka untuk aplikasi informasi, yaitu : 1. Account for Target Domain 2. Dedicated Devices Mean Dedicated User Interface 3. Allocate Functions Appropriately 4. Simplify 5. Design for Responsiveness
Menurut Shneiderman (2010, p445), waktu respon adalah jumlah detik pada saat user melakukan suatu aksi sampai komputer menampilkan hasilnya. Terdapat beberapa pedoman untuk waktu respon, yaitu : 1. User lebih menyukai waktu respon yang lebih pendek. 2. Waktu respon yang lebih panjang (lebih dari 15 detik) sangat mengganggu. 3. Waktu respon yang pendek menyebabkan waktu berpikir user yang lebih pendek.
24
4. Kecepatan yang lebih tinggi meningkatkan produktifitas, tetapi juga meningkatkan tingkat kesalahan. 5. Perbaikan kesalahan mempengaruhi waktu respon yang optimal. 6. Waktu respon harus disesuaikan dengan tugas : - Mengetik, pergerakan kursor, memilih dengan mouse : 50150 milidetik. - Tugas yang sederhana dan sering dilakukan : 1 detik. - Tugas biasa (common tasks) : 2-4 detik. - Tugas kompleks (complex tasks) : 8-12 detik. 7. User harus diperjelas mengenai penundaan yang panjang (long delay). 8. Penundaan waktu yang tak diduga dapat mengganggu.
2.1.5 Android Pada tahun 2005, Google mengakuisi Android Inc yang pada saat itu dijalani oleh Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Pada tahun yang bersamaan pula dimulai pembangunan platform Android secara intensif. Kemudian pada tanggal 12 November 2007 , Google bersama Open Handset Alliance (OHA); yaitu konsorium perangkat mobile terbuka; merisil Google Android SDK (Software Development Kit). Google bersama dengan OHA merilis paket software SDK yang lengkap untuk mengembangkan aplikasi pada perangkat mobile, yaitu Sistem Operasi, Middleware, dan Aplikasi Utama untuk perangkat mobile. Semua aplikasi yang dibuat untuk
25
Android akan memiliki akses yang setara dalam mengakses seluruh kemampuan handset, tanpa membedakan apakah itu merupakan aplikasi inti atau aplikasi pihak ketiga menggunakan SDK. Dalam kata lain, programmer atau developer dapat mengkustomisasi perangkat androidnya secara penuh. Menurut Mulyadi (2010, h5), Android merupakan sekumpulan perangkat lunak untuk mobile yang meliputi sistem operasi, middleware, dan aplikasi inti yang dirilis oleh Google. Android SDK (Software Development Kit) menyediakan Tools dan API yang diperlukan untuk mengembangkan aplikasi pada platform Andoid dengan menggunakan bahasa pemrograman Java. Berdasarkan developer Android dalam website resmi mereka, pengembangan Sistem Operasi Android dimulai dengan dirilisnya versi 1.0 pada Oktober 2008. Pembaruan pada Sistem Operasi ditujukan untuk memperbaiki bug dan menambahkan fitur baru. Setiap versi dikembangkan dengan nama kode berdasarkan dessert dan berurutan abjad, yaitu sebagai berikut :
Tabel 2.1 Perkembangan Android Version
Description
1.0
Released on October 2008, the original first version of Android.
1.1
Released on February 2009, the first Android update.
26
1.5 (Cupcake)
Released
on
April
2009,
version
code
Cupcake. Updates : •
User Interface refinements
•
Performance improvements : faster camera start-up and image capture, smoother page scrolling in browser, faster acquisition of GPS location.
•
New features : On-screen soft keyboard, Home screen, camera & gallery, bluetooth.
1.6 (Donut)
Released on September 2009, version code Donut. Updates : •
Quick search box for Android.
•
Faster camera experience.
•
VPN 802.1x control panel.
•
Battery usage indicator.
•
Expanded search framework.
•
Text-to-speech engine.
27
2.0 / 2.1 (Eclair)
Released on November 2009, version code Eclair. Updates : •
Multiple
accounts
and
contact
synchronization. •
Search message and auto-delete
•
Improved virtual keyboard.
•
Improved camera.
•
Bluetooth 2.1.
•
Improved performance that enables better hardware acceleration.
2.2 (Froyo)
Released on June 2010, version code Froyo. Updates :
2.3 (Gingerbread)
•
New home screen tips widget.
•
Improved security.
•
Improved gallery.
•
Portable hotspot.
•
Multi keyboard languages.
Released on November 2010, version code Gingerbread. Updates : •
User
Interface
refinements
for
simplicity and speed. •
Faster and more intuitive text input.
•
One-touch
word
selection
and
28
copy/paste. •
Improved power management.
•
New ways of communicating and organizing : internet calling, near-field communications,
and
download
management. 3.0 / 3.1 / 3.2
Released on February 2011, version code
(Honeycomb)
Honeycomb. Updates : •
New User Interface designed from the ground up for tablets.
•
Redesigned keyboard.
•
New connectivity options.
•
Updated set of standard apps.
•
High performance 2D and 3D graphics.
•
Support for multicore processor architectures.
4.0 / 4.0.x (Ice Cream Sandwich)
Released on December 2011, version code Ice Cream Sandwich. Updates : •
Refined User Interface.
•
Powerful voice input engine.
•
Control over network data.
•
Improved
communication
and
29
sharing. •
Innovation : Android Beam for NFC-based sharing, Face Unlock, WiFi Direct and Bluetooth HDP.
4.1 / 4.2 (Jelly Bean)
Released on June 2012, version code Jelly Bean. Updates : •
Faster,
smoother
and
more
responsive. •
Refined User Interface.
•
Shared single Android tablet.
•
Lock screen widgets.
•
Interactive screensaver mode.
•
External display support.
•
Native RTL (Right-To-Left) support.
•
Enhancements
for
international
languages.
Menurut Mulyadi (2010, h6), terdapat beberapa komponen utama yang tergabung dalam arsitektur Android sebagai sistem operasi Android, yaitu sebagai berikut :
30
Gambar 2.5 Arsitektur Android (sumber : Mulyadi (2010, h6))
1. Aplikasi Android menyertakan beberapa aplikasi inti seperti email client, SMS, kalender, peta, browser, contacts, dan sebagainya. Aplikasi ditulis menggunakan bahasa pemrograman Java. Pada aplikasi di Android, baik aplikasi inti maupun aplikasi pihak ketiga semua berjalan pada layer aplikasi ini dengan menggunakan library API yang sama. Dengan kata lain, semua aplikasi yang dibuat untuk platform Android akan memiliki akses yang setara dalam mengakses seluruh kemampuan handset tanpa membedakan apakah itu aplikasi inti atau aplikasi pihak ketiga.
31
2. Framework Aplikasi Developer memiliki akses menuju API framework yang sama seperti yang digunakan oleh aplikasi inti. Arsitektur dirancang agar komponen dapat digunakan kembali dengan mudah. Setiap aplikasi dapat menggunakan kemampuan ini sesuai dengan batasan keamanan yang didefinisikan oleh framework. Mekanisme yang sama memungkinkan komponen untuk diganti oleh user. 3. Android-Runtime Android terdiri dari satu set core libraries yang menyediakan sebagian besar fungsi yang sama seperti pada core libraries bahasa pemrograman Java. Setiap aplikasi menjalankan prosesnya sendiri dalam Android. 4. Libraries Android menyertakan libraries dari bahasa pemrograman C / C++ yang digunakan sebagai komponen dari sistem Android. Hal ini disediakan kepada developer aplikasi melalui framework aplikasi android. Beberapa core libraries sebagai berikut : -System C Library : variasi dari sistem standar C library. -Media Libraries : library mendukung pemutaran rekaman dan format media populer audio video, serta file gambar, termasuk MPEG4, H.264, MP3, AAC, AMR, JPG dan PNG. -Surface Manager : mengelola akses ke subsistem layar, lapisan komposit 2D dan grafis 3D dari beberapa aplikasi. -LibWebCore : browser Android embeddable web.
32
-SGL : mesin grafis 2D. -3D Libraries : berdasarkan OpenGL ES 1.0 API. -FreeType : bitmap dan vektor font rendering. -SQLite : mesin database yang kuat dan ringan, serta penghubung tersedia untuk semua aplikasi. 5. Kernel Linux Android dibangun di atas Linux Kernel versi 2.6. Inti sistem service Linux yang digunakan seperti security, manajemen memori, proses manajemen, network dan driver model. Kernel juga bertindak sebagai lapisan abstrak antara hardware dan software stacknya.
2.1.6 Unified Modeling Language (UML) Menurut Marakas (2006, p412), Unified Modeling Language adalah sebuah bahasa yang menjadi standar dalam industri untuk menspesifikasi, memvisualisasi, merancang, dan mendokumentasikan sistem software berbasis objek (object-based software systems). Kata kunci dari UML adalah "unified", yang mengartikan bahwa UML mewujudkan satu set object modeling dan peralatan diagram yang digunakan untuk mendefinisikan dan memodelkan sistem object-oriented. 1. Use Case Diagram Menurut Marakas (2006, p414), use case diagram merupakan titik pusat dari UML. Use case diagram digunakan untuk menggambarkan apa yang harus dapat dilakukan oleh sistem yang sedang dibangun. Para analis membuat use case diagram untuk berkomunikasi dengan end-user
33
mengenai hal apa saja yang diharapkan dari sistem tersebut untuk bekerja. Di bawah ini dijelaskan bagian-bagian dari use case diagram : - Actor Menurut Marakas (2006, p415), aktor adalah orang, organisasi, atau sistem komputer yang berada di luar sistem namun berinteraksi dengan use case di dalamnya.
Aktor tidak
mempresentasikan sebagai end-user yang spesifik, melainkan representasi sebuah peran yang end-user dapat mainkan ketika berinteraksi dengan sistem. Berikut notasi aktor dengan nama aktor di bawahnya :
Gambar 2.6 Notasi Aktor (sumber : Whitten (2007, p247))
- Use Case Menurut Marakas (2006, p415), use case adalah komponen sistem yang terlihat dan tersedia pada dunia luar yang dapat berinteraksi dengan aktor. Sebuah use case memiliki skenario, yaitu tahapan yang mempresentasikan bagaimana sebuah tugas (task) dilakukan hingga selesai. Berikut notasi dari sebuah use case :
34
Gambar 2.7 Notasi Use Case (sumber : Whitten (2007, p246))
- Uses and Extends Menurut Marakas (2006, p416), terdapat situasi satu use case memiliki relasi untuk menggunakan fungsi use case lainnya, atau dapat memperluas fungsinya dari use case lain. Dalam situasi seperti itu, use case terhubung dalam diagram dengan anak panah yang berisikan tulisan "includes" atau "extends".
2. Class Diagram Menurut Whitten (2007, p400), class diagram adalah sebuah grafik yang menggambarkan struktur statis sistem, menunjukkan class dari object yang terdapat dalam sistem serta relasi antar objek class tersebut. Menurut Whitten (2007, p376-379), relationship adalah sebuah asosiasi yang ada di antara satu atau lebih objek dan class. Terdapat beberapa jenis relasi yang dapat terjalin dalam class diagram, antara lain : - Generalization/Specialization Relasi generalization dan specialization adalah sebuah relasi yang menggambarkan atribut dan behavior yang dimiliki oleh class supertype diturunkan kepada class subtype. Supertype
35
adalah class yang memiliki atribut dan behavior yang dimiliki pula oleh subtype, disebut juga parent class. Sedangkan subtype adalah class yang memiliki turunan atribut dan behavior dari supertype dan dapat menyimpan atribut atau behavior unik lainnya, disebut juga child class. Relasi dilambangkan dengan simbol garis panah (arrowhead) berwarna putih polos.
Gambar 2.8 Generalization/Specialization Relationship (sumber : Whitten (2007, p376))
- Association Relasi association adalah relasi antar 2 class atau lebih yang menggambarkan suatu hubungan tertentu. Association bersifat bidirectional dan memiliki kompleksitas derajat masing-masing
36
yang disebut multiplicity. Multiplicity adalah jumlah maksimum dan minimum terjadi dari satu class terhadap class lain. Relasi association bersimbol garis dengan angka di ujungnya sebagai multiplicity.
Gambar 2.9 Association Relationship (sumber : Whitten (2007, p377))
- Aggregation Relasi aggregation adalah sebuah relasi menggambarkan class parent yang memiliki sejumlah class child, dimana class child dapat berdiri sendiri meskipun class parent dihapus. Relasi aggregation dilambangkan dengan garis diamond putih pada salah satu ujungnya.
Gambar 2.10 Aggregation Relationship (sumber : Whitten (2007, p379))
- Composition
37
Relasi composition merupakan relasi yang lebih kuat dari aggregation, dimana terjadi hubungan antara class parent yang memiliki beberapa class child dan bertanggung jawab secara penuh. Apabila class parent tersebut dihapus atau tidak berfungsi, maka class child tidak dapat berfungsi pula. Relasi composition dilambangkan dengan garis diamond hitam pada salah satu ujungnya.
Gambar 2.11 Composition Relationship (sumber : Whitten (2007, p379))
38
3. Sequence Diagram Menurut Marakas (2006, p421), sequence diagram berfungsi dalam sistem karena memiliki dependensi waktu fungsi, misalnya dalam dalam aplikasi yang waktu berperan penting di dalamnya. Dalam diagram ini, object tersusun dalam garis vertikal dengan messages dalam garis horizontal di antaranya. Sequence diagram menunjukkan sekumpulan objek dan pesan yang dikirim dan diterima oleh objek tersebut. Berikut contoh sequence diagram beserta bagian-bagiannya :
Gambar 2.12 Sequence Diagram (sumber : Whitten (2007, p395))
39
Menurut Whitten (2007, p394-395), berikut adalah penjelasan bagian-bagian dari sequence diagram yaitu : 1.
Actor Aktor yang melakukan sequence sesuai dengan aktor pada use case.
2.
System Menunjukkan sistem secara sebagian atau utuh. Tanda titik dua (:) menunjukkan notasi instance yang sedang berjalan dalam sistem.
3.
Lifelines Dilambangkan dengan garis terputus secara vertikal dari notasi aktor dan sistem, mengindikasikan nyawa dari sequence tersebut.
4.
Activation bars Merupakan bar yang terletak pada lifeline, menunjukkan periode waktu ketika sebuah partisipan terlibat dalam interaksi.
5.
Input messages Bernotasi garis panah horizontal dari aktor ke sistem, menunjukkan message yang di-input.
6.
Output messages Bernotasi garis panah horizontal putus-putus dari sistem menuju aktor, menunjukkan pesan yang dikirimkan dari sistem sebagai respon dari message yang di-input aktor.
2.1.7 Entity Relationship Diagram
40
Menurut Marakas (2006, p146), ERD menunjukkan detail entitas data yang berasosiasi dengan sistem, berelasi antar entitas, serta memiliki spesifik atribut. Di bawah ini dijelaskan bagian dari entity relationship diagram : 1. Entities Entitas adalah segala sesuatu yang ingin disimpan sebagai data, baik berupa orang, tempat, objek, event, konsep, atau sebagainya. Terdapat 2 buah hal penting yang harus diperhatikan untuk membuat entitas, yaitu : -
Setiap entitas harus dapat dibedakan dari entitas lainnya dengan sebuah set karakter identitas atau atribut.
-
Setiap entitas mempresentasikan sebuah class yang dapat terjadi lebih dari satu kali.
2. Attributes Atribut adalah deskripsi karakteristik dari sebuah entitas atau relationship, atau dapat diartikan atribut mengacu pada element atau field yang terdapat dalam ERD. Setiap entitas dapat memiliki banyak atribut, misalnya entitas Murid memiliki atribut Nama, Alamat, Nomor Induk, Bidang Studi, Etnis, Nomor Telepon, dan sebagainya. 3. Key Attribute Key attribute adalah sebuah atribut yang diasumsikan memiliki nilai unik dalam satu entitas tersebut. sebagai contoh dalam satu entitas Product memiliki nilai unik yang digambarkan melalui key ProductID, sehingga dapat dipastikan tidak ada 2 produk atau lebih yang memiliki 1 ProductID sama.
41
4. Relationship Relationship adalah asosiasi atau relasi antara satu atau lebih entitas yang mengindikasikan sebuah event yang terjadi di kedua atau lebih entitas tersebut. Misal relasi antara entitas Student dengan Course, setiap murid dapa mengambil 0, 1, atau lebih mata kuliah. Sedangkan setiap mata kuliah dapat diambil oleh 0, 1, atau lebih murid. Dengan kata lain, setiap relasi dalam ERD diasumsikan sebagai 2 arah (bidirectional), yang berarti
harus
didefinisikan
dari
kedua sisi.
Relationship
dapat
diidentifikasi berdasarkan 3 kompleksitas, yaitu : - Cardinality, yaitu jumlah instansi dalam satu entitas yang berasosiasi dengan entitas lain. Terdapat 4 bentuk cardinality, yaitu exactly-one, one-or-more, zero-or-one, dan zero-one-or-many. - Optionality, yaitu indikasi apakah cardinality relasi tersebut sebuah keharusan (mandatory) atau optional. Untuk cardinality : •
Exactly one = mandatory.
•
One or more = mandatory.
•
Zero or one = optional.
•
Zero, one, or many = optional.
- Degree, yaitu indikasi jumlah entitas yang terlibat dalam satu relasi tersebut. Secara umum, terdapat 3 bentuk degree yang sering ditemukan dalam ERD yaitu : •
Unary relationship : Satu entitas terlibat.
•
Binary relationship : Dua entitas terlibat.
42
•
Ternary relationship : Tiga entitas terlibat.
2.1.8 Telemedika Menurut Fong (2011, p1), istilah telemedika berasal dari deskripsi sederhana yaitu kata 'tele' yang berarti jarak atau jauh dari bahasa Yunani, sehingga telemedika adalah memberikan pelayanan kesehatan dari jarak jauh. Sejarah telemedika bermula sejak ditemukannya telepon pertama kali, dimana terdapat pemberian saran oleh praktisi kesehatan melalui media telepon. Telemedika menggunakan teknologi informasi untuk menembus masalah lokasi geografis dan meningkatkan akses ke layanan kesehatan. Sedangkan menurut jurnal dari World Health Organization (2010, p8), deskripsi telemedika adalah sebuah penyampaian layanan kesehatan dimana jarak menjadi faktor kritis, dengan menggunakan teknologi informasi dan komunikasi untuk menukarkan berbagai hal seperti informasi diagnosa, penanganan dan penyembuhan penyakit atau luka, penelitian dan evaluasi, serta sebagai edukasi berkelanjutan untuk penyedia layanan kesehatan. Menurut World Health Organization (2010, p9), terdapat 4 elemen yang mendeskripsikan telemedika, yaitu : 1.
Bertujuan untuk menyediakan dukungan dari layanan kesehatan.
2.
Bertujuan menghilangkan batasan geografis, menghubungkan user yang tidak berada di lokasi yang sama.
3.
Menggunakan berbagai teknologi informasi dan komunikasi.
4.
Memiliki tujuan untuk meningkatkan kesehatan pengguna.
43
2.1.9 Database Menurut Hoffer (2009, p46), definisi data adalah representasi tersimpan suatu objek dan event yang memiliki arti dan penting dalam lingkungan pengguna. Data dan informasi memiliki hubungan yang erat, namun berbeda konteksnya. Menurut Hoffer (2009, p47), definisi informasi adalah data yang telah diproses dengan sehingga pengetahuan orang yang memakainya meningkat. Menurut Connoly (2002, p7), awal mulanya sebelum database dikenal, penyimpanan data menggunakan basis file. File-Based Approach (pendekatan berbasis file) adalah sekumpulan aplikasi yang melakukan service dengan hasil berupa report untuk para pengguna akhir (end-users). Akan tetapi pendekatan berbasis file ini memiliki beberapa kelemahan. Menurut Connoly (2002, p12), beberapa kelemahan yang dimiliki dalam File-Based Approach adalah sebagai berikut : •
Data terisolasi dan terpisah, menyebabkan data sulit untuk diakses dari 2 tempat yang berbeda.
•
Duplikasi data yang tidak terkontrol. Sebagai contoh pada bagian Sales terdapat data Client, PropertyOwner, dan PropertyForRent. Sementara itu pada bagian Contracts terdapat pula data Client, PropertyForRent, dan Leash. Hal ini menyimpulkan bahwa terdapat 2 field data yang sama yang dikerjakan di 2 tempat terpisah, mengakibatkan terjadinya duplikasi data.
44
•
Data dependensi, misalkan untuk mengubah suatu struktur field diperlukan program baru.
•
File format yang tidak compatible, suatu file dengan file yang lain tidak selalu sama formatnya karena berbeda bahasa, misal file hasil dari pemrograman bahasa C sulit untuk diproses ketika digabungkan dengan file hasil dari pemrograman COBOL.
•
Fixed query atau query tetap menyebabkan File-Based Approach sangan tergantung pada aplikasi sehingga tidak dapat menangani query tambahan.
Menurut Connoly (2002, p14), database adalah sekumpulan data yang berhubungan secara logikal dan penjelasan dari data-data tersebut dirancang untuk menemukan informasi yang dibutuhkan oleh organisasi perusahaan. Berdasarkan penjelasan mengenai database di atas, dapat disimpulkan bahwa database merupakan sekumpulan data yang saling berelasi satu sama lain dan tidak terikat oleh satu pihak saja, melainkan dapat digunakan secara bersama-sama. Menurut Hoffer (2009, p54), terdapat beberapa keunggulan dalam menggunakan database approach dibandingkan file-based approach, yaitu : -
Program-Data Independence Dengan menggunakan database approach, data description disimpan ke suatu lokasi bernama repository. Menggunakan repository ini mengizinkan suatu data organisasi untuk diubah
45
tanpa mengubah aplikasi program tertentu yang memproses data tersebut. -
Planned Data Redundancy Suatu desain database yang baik adalah data terpisah menjadi single dan struktur logikal, idealnya setiap data ter-record dalam satu tempat di database. Namun database approach tidak menghilangkan redundansi sepenuhnya, melainkan dapat membuat user mengontrol tipe dan banyaknya redundansi. Misal setiap record OrderTable memiliki 1 hubungan dengan CustomerID untuk membuat suatu relationship antara table Order dengan Customer.
-
Improved Data Consistency Dengan mengendalikan redundansi data, peluang untuk terjadi inkonsisten dalam data. Misal ketika ingin mengubah alamat customer, maka dapat diubah secara langsung karena data alamat customer tersebut tersimpan di satu tempat tersendiri. Dengan demikian dapat terhindari pembuangan storage space yang sia-sia akibat dari redundansi data.
-
Improved Data Sharing Database merupakan sumber daya yang terbagi ke berbagai pihak. Internal dan eksternal user yang telah terotorisasi memiliki hak akses ke dalam database, dan user diberikan satu atau lebih user view untuk sekedar melihat database. User view
46
merupakan sebuah bagian database yang diperlukan oleh user untuk mengerjakan sebuah tugas. -
Increased Productivity of Application Development Keunggulan paling utama dari database approach adalah berkurangnya biaya dan waktu yang dibutuhkan untuk mengembangkan aplikasi bisnis secara drastis. Setidaknya terdapat 3 alasan penting mengapa aplikasi database lebih sering dikembangkan daripada aplikasi file : 1. Asumsikan database dan aplikasi maintenis telah selesai didesain dan diimplementasi, programmer dapat fokus mengembangkan
function
spesifik
untuk
low-level
application tanpa perlu memikirkan tentang file design atau implementasi low-level. 2. Sistem database menyediakan sejumlah high-level tools untuk produktivitas, seperti form dan report generator, dan high-level language untuk mengotomasi sejumlah aktivitas dalam database. 3. Improvitas dari programmer seringkali diestimasi sekitar 60 persen dengan menggunakan web services. -
Enforcement of Standards Ketika database approach telah diimplementasi, fungsi database administrator harus selalu dipenuhi sebagai singlepoint authority dan bertanggung jawab dalam membuat standarisasi. Standar meliputi naming convention, data quality
47
standards, dan uniform procedures untuk akses, update, dan melindungi data. Data repository menyediakan beberapa tools yang
dapat
digunakan
database
administrator
untuk
mengembangkan dan menegakkan standar-standar tersebut. -
Improved Data Quality Dalam database approach terdapat beberapa peralatan dan proses untuk meningkatkan kualitas data, 2 yang paling penting di antaranya adalah : 1. Database designer dapat menspesifikasikan integritas constraint dalam DBMS. Constraint adalah peraturan yang tidak boleh dilanggar oleh pemakai database. Jika seorang user menempatkan sebuah order dan kedua tabel tersebut user-order memiliki sebuah 'relational integrity constraint', maka order tidak akan dimasukkan bila tidak diketahui siapa yang memasukkannya. 2. Salah satu tugas yang dilakukan oleh data warehouse adalah
clean-up
(scrub)
data
operational
sebelum
ditempatkan ke data warehouse. -
Improved Data Accessbility and Responsiveness Dengan database yang berelasi satu sama lain, end-user yang tidak memiliki keahlian programming dapat menerima dan menampilkan data bahkan jika data tersebut di luar dari batas divisi. Misal seorang karyawan dapat menampilkan informasi mengenai daftar produk dari perusahaan.
48
-
Reduced Program Maintenance Data yang tersimpan harus diubah secara rutin dikarenakan banyaknya jenis data baru yang masuk, format data diubah, dan sebagainya. Dalam file processing, data description dan logika dibuat dalam aplikasi yang berbeda. Sebagai hasilnya diharuskan untuk memodifikasi aplikasi. Dalam database, data independensi terhadap aplikasi, sehingga data dapat diubah tanpa perlu merubah aplikasi atau hal yang lain. Dengan demikian biaya dan tenaga yang dibutuhkan untuk memaintenis database berkurang.
-
Improved Decision Support Sejumlah database dirancang sebagai salah satu aplikasi untuk mengambil keputusan. Sebagai contoh untuk mendukung manajemen relationship, atau dirancang untuk mendukung analisis finansial.
Meskipun terdapat beberapa keunggulan, namun menurut Hoffer (2009, p57) terdapat beberapa kelemahan dan kerugian dari database approach, sebagai berikut : - New, Specialized Personnel Dengan adaptasi database approach, membutuhkan training atau
perekrutan
orang
mengimplementasikan
baru database,
untuk
mendesain
seperti
dan
database
administrator. Dan untuk ke depannya, dengan perkembangan
49
teknologi yang semakin maju membuat perlunya training kembali. - Installation and Management Cost and Complexity Database management system merupakan sebuah software yang besar dan kompleks dengan biaya yang tinggi, membutuhkan sejumlah staff terlatih untuk menggunakannya dan membutuhkan biaya tambahan untuk maintenis dan support. - Conversion Costs Dengan menggunakan database approach dari file based approach, maka membutuhkan konversi dari file ke teknologi database. Biaya yang dibutuhkan untuk konversi tersebut biasanya terlalu tinggi untuk organisasi. - Need to Explicit Backup and Recovery Database harus selalu akurat dan tersedia setiap saat. Hal ini membuat organisasi harus selalu menyediakan data backup apabila terjadi hal-hal yang tidak diinginkan, misal kerusakan hardware. - Organizational Conflict Database memiliki sebuah responsibilitas akan akurasi data. Bila terjadi suatu kesalahan dari dalam organisasi maupun luar yang menyebabkan database menjadi kacau, maka hal ini tidak akan memberikan keuntungan bagi organisasi. Bahkan untuk
50
selanjutnya dapat menjadi sebuah ancaman besar bagi eksistensi organisasi. Menurut Hoffer (2009, p58), terdapat beberapa komponen-komponen penting yang menjadi bagian dalam lingkungan database, yaitu : 1. Computer-Aided Software Engineering (CASE) tools, yaitu sebuah tools yang digunakan untuk mendesain database dan aplikasinya. 2. Repository, yaitu pusat kendali yang menyimpan data definition, data relationship, screen and report formats, dan komponen sistem lainnya. 3. DBMS (Database Management System), yaitu sebuah sistem software yang digunakan untuk menciptakan, memelihara dan menyediakan akses terkontrol untuk para user. 4. Database, yaitu sekumpulan data berelasi yang terorganisir dan dirancang untuk mempertemukan informasi-informasi dari multiple user dalam suatu organisasi. 5. Application
programs,
yaitu
program
komputer
yang
digunakan untuk menciptakan dan memelihara database serta menyediakan informasi bagi user. 6. User Interface (UI), yaitu bahasa, menu, dan fasilitas lain yang dapat digunakan user untuk berinteraksi dengan berbagai komponen sistem seperti CASE tools, application program, DBMS, dan repository.
51
7. Data and database administrator. Data administrator yaitu orang yang bertanggung jawab atas segala kinerja manajemen sumber daya data di
organisasi.
Sedangkan
database
administrator adalah orang yang bertanggung jawab untuk merancang fisik database dan memanajemen isu teknis dalam database. 8. System developers, yaitu orang yang berlaku sebagai sistem analis dan programmer yang mendesain aplikasi baru. System developer menggunakan CASE tools untuk melakukan analisis kebutuhan sistem dan desain program. 9. End
Users,
yaitu
orang-orang
dalam
organisasi
yang
melakukan input (add), delete, dan modifikasi data dalam database, serta orang-orang yang membutuhkan informasi dari database tersebut.
Menurut Connoly (2002, p16), Database Management System (DBMS) adalah suatu sistem piranti lunak memungkinkan user untuk menetapkan, membuat, memelihara, dan mengontrol akses ke database. Secara garis besar, DBMS memberikan fasilitas sebagai berikut : -
Mengizinkan user untuk menetapkan spesifikasi tipe data dan struktur data yang ada di dalam database. Disebut Data Definition Language (DDL).
-
Mengizinkan user untuk insert, update, delete, dan mengambil data dari database (select), disebut Data Manipulation
52
Language (DML). DML menyediakan query language sebagai pusat dari penyimpanan data. Query language yang paling umum digunakan adalah SQL (Structured Query Language), yang sekarang menjadi bahasa standarisasi untuk relasional DBMS. -
Menyediakan akses terkontrol ke database, sebagai contoh menyediakan : -
Security system, untuk mencegah pihak yang tidak berwenang mengakses database;
-
Integrity system, untuk memelihara konsistensi data dalam database;
-
Concurrency control system, untuk mengizinkan shared access;
-
Recovery control system, untuk memperbaiki database ke kondisi sebelum kerusakan hardware atau software;
-
User-accessible catalog,
mencakup deskripsi data-data
dalam database. 2.2 Teori Khusus 2.2.1 HTML Menurut Powell (2010, p3), HTML merupakan instruksi yang terdapat dalam sebuah web page yang tersusun dalam suatu struktur document dan disampaikan ke browser. Misal ketika ingin menekankan suatu kalimat maka menggunakan tag <em> dan dengan kalimat yang diinginkan di antara kedua tag tersebut. Sebuah HTML document memiliki teks yang berisi
53
informasi apa yang ingin dipublis dan instruksi-instruksi markup yang ada menunjukkan bagaimana browser harus mempresentasikan document tersebut. Setiap markup element dimulai dengan tag, seperti <strong> , dan ditutup dengan tag yang sama dengan tambahan garis miring, seperti . Terdapat pula HTML yang tidak membutuhkan tag penutup karena klosurnya sudah dapat disimpulkan ketika tag pembuka diinisialisasi kembali. Misalnya tag
tidak membutuhkan penutup
. Meskipun beberapa instruksi dapat ditulis tanpa tag penutup, namun dianjurkan tetap menggunakan tag penutup karena lebih tepat dalam penulisannya.
2.2.2 PHP Menurut Lengstorf (2009, p3), PHP adalah sebuah bahasa script yang diciptakan oleh Rasmus Lerdorf pada tahun 1995. Lerdorf menciptakan PHP untuk memenuhi keinginan cara yang mudah untuk proses data ketika menciptakan sebuah page di World Wide Web. PHP dikembangkan oleh Rasmus atas keinginannya untuk menciptakan sebuah script yang dapat mengawasi berapa banyak jumlah pengunjung (visitor) dalam resume online miliknya. Awal mulanya PHP memiliki arti akronim "Personal Home Page" dan merupakan open source project. Selama waktu berjalan, PHP dikembangkan terus menerus untuk memenuhi kebutuhan user. Pada tahun 1997, PHP diganti arti akronimnya menjadi "PHP: Hypertext Preprocessor". PHP menggunakan server-side scripting language yang cocok untuk menciptakan dynamic web pages. Tidak seperti HTML yang diurai oleh browser ketika men-load page, PHP dipreproses oleh server. Setiap kode PHP
54
yang terdapat dalam document diproses oleh server terlebih dahulu sebelum document tersebut dikirim ke browser user.
2.2.3 Javascript Menurut Shelly (2009, p338), Javascript adalah sebuah event driven, object-based, bahasa pemrograman yang menyediakan berbagai jenis fungsi untuk web pages, seperti kemampuan berinteraksi dengan user. Event driven adalah hal yang merespon suatu event, seperti ketika user mengklik submit button. Javascript adalah object-based karena merupakan sebuah bahasa script yang menggunakan built-in object yang terdapat pada browser.
2.2.4 JQuery Menurut JQuery Community Experts (2010, p1), JQuery adalah sebuah library open source Javascript yang telah disederhanakan interaksinya antar HTML document. Dalam kata lain, JQuery membuat dinamik HTML (DHTML).
2.2.5 CSS Menurut Powell (2010, p430), CSS (Cascading Style Sheets) memberikan web designer sebuah fitur yaitu mengontrol secara penuh suatu layout. CSS1 ditampilkan pertama kali pada akhir tahun 1996 kemudian diikuti oleh CSS2 pada tahun 1998. CSS mengalami masalah penerimaan oleh dunia, karena browser tidak sepenuhnya support dan terjadi banyak bug, terutama pada versi lama Internet Explorer, membuat CSS mendapatkan suatu
55
pelajaran. Namun pada tahun 2005 banyak browser seperti Opera, Safari, Firefox, dan Internet Explorer telah lolos dari uji coba CSS dan berjalan dengan baik hingga saat ini.
2.2.6 Penyakit Serangan Jantung Menurut World Health Organization (2005, p7), serangan jantung (heart attack) adalah keadaan ketika aliran darah yang mengarah ke jantung tersendat, mengakibatkan oksigen dan nutrisi berkurang yang dapat melukai organ vital. Keadaan penyumbatan ini disebut serangan jantung. Jika penyumbatan hanya terjadi sesaat dan aliran darah ke jantung berkurang, menyebabkan rasa sakit di dada yang disebut Angina. Angina mungkin tidak memberikan sakit berkelanjutan pada otot jantung, namun itu sebagai suatu tanda peringatan bahwa orang tersebut dapat terkena serangan jantung. Serangan jantung disebut juga myocardial infarction atau coronary thrombosis. Menurut Deepika (2011, p254), Myocardial infarction atau serangan jantung dan angina pectoris atau rasa sakit di dada tercakup dalam CHD (Coronary Heart Disease). Terjadi penyumbatan pada arteri koroner, menyebabkan darah menggumpal dan mengakibatkan serangan jantung. Rasa sakit di dada meningkat ketika darah yang diterima pada otot jantung tidak memadai. Tekanan darah tinggi, coronary artery disease, stroke, atau pun rheumatic heart disease merupakan bentuk dari penyakit cardiovascular. World Health Organization memperkirakan sekitar 12 juta kematian di seluruh dunia terjadi akibat penyakit cardiovascular.