library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewClass diagram...
Transcript of library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewClass diagram...
BAB 2
LANDASAN TEORI
2.1 Software Engineering
Rekayasa perangkat lunak adalah penerapan secara sistematik, disiplin, dan dapat terukur
untuk pengembangan, pengoperasian, dan perawatan perangkat lunak. Rekayasa perangkat lunak
merupakan sebuah proses berlapis yang membutuhkan metode, proses, dan alat agar dapat
berfungsi sesuai dengan kebutuhan (Pressman, 2010, pp. 3-7). Untuk dapat memahami rekayasa
perangkat lunak, maka terlebih dahulu kita harus mengerti dan memahami sebuah perangkat
lunak. Dan cara termudahnya adalah dengan mengetahui karakteristik dari sebuah perangkat
lunak menurut (Pressman, 2010, pp. 3-7), yaitu :
Sebuah perangkat lunak dikembangkan atau direkayasa, tidak dalam bentuk klasik.
Meskipun banyak kesamaan antara perangkat keras, aktivitas keduanya secara mendasar
sangat berbeda. Kualitas yang tinggi dicapai melalui perancangan yang baik, tetapi dalam
fase pembuatan perangkat keras, selalu saja ditemukan dalam masalah kualitas yang tidak
mudah di sesuaikan dengan perangkat lunak.
Perangkat lunak tidak pernah usang. Perangkat lunak tidak rentan terhadap pengaruh
lingkungan yang merusak dan dapat menyebabkan perangkat keras menjadi usang. Aspek
lain dari keusangan yang menggambarkan perbedaan antara perangkat keras dan perangkat
lunak. Bila komponen suatu perangkat keras telah usang, komponen dapat di ganti dengan
suku cadangnya. Tetapi tidak ada suku cadang untuk perangkat lunak. Setiap kegagalan
perangkat lunak menggambarkan kesalahan – kesalahan dalam perancangan atau proses di
mana rancagan diterjemahkan ke dalam kode mesin yang dapat di eksekusi.
Sebagian besar perangkat lunak dibuat berdasarkan kebutuhan dari pembeli (custom –
12
13
built).
2.1.1 Waterfall Model
Menurut Pressman (2010, pp. 39-41), Waterfall Model atau terkadang disebut Classic
Life Circle, menawarkan pendekatan yang sistematis dan terurut dalam pengembangan piranti
lunak yang dimulai dengan persyaratan spesifikasi dari pelanggan dan kemajuan melalui
perencanaan, pemodelan, konstruksi, dan penyebaran yang terus memaju secara terus menerus
untuk mendukung kelengkapan piranti lunak. Waterfall Model adalah paradigma yang paling tua
untuk pengembangan piranti lunak. Namun, selama dua dekade terakhir, kritik terhadap proses
model ini telah menyebabkan pendukungnya semakin bersemangat untuk mempertanyakan
kemanjurannya. Masalah-masalah yang terkadang ditemui ketika Waterfall Model diaplikasikan
adalah:
1. Proyek yang sesungguhnya jarang mengikuti alur sekuensial yang ditawarkan oleh model
ini. Meskipun model linear dapat diakomodasi dengan perulangan, hal itu dilakukan
secara tidak langsung. Akibatnya, perubahan dapat menyebabkan kebingungan seiring
dengan berjalannya proyek.
2. Sulit bagi pelanggan untuk menyatakan semua persyaratan secara eksplisit. Waterfall
Model membutuhkan hal tersebut dan sulit untuk mengakomodasi ketidakpastian yang
ada pada awal dari kebanyakan proyek.
3. Pelanggan harus sabar. Hasil nyata dari program tidak akan tersedia hingga akhir dari
rentang waktu proyek. Kesalahan utama, jika program kerja yang tidak terdeteksi
ditinjau, dapat menyebabkan kekacauan.
14
Dalam sebuah analisis dari proyek yang sebenarnya, Bradac menemukan bahwa sifat
linear dari waterfall mengarah pada pemblokiran dimana beberapa anggota tim harus menunggu
anggota yang lain untuk menyelesaikan tugas yang saling berkaitan. Bahkan, waktu yang
digunakan untuk menunggu dapat melebihi waktu yang digunakan untuk bekerja. Keadaan
terblokir cenderung terjadi di awal dan akhir dari proses sekuansial linear. Saat ini,
pengembangan piranti lunak menuntut pengembangan yang cepat dan terus berubah baik fitur,
fungsi, maupun informasi. Waterfall Model sering tidak sesuai dengan pekerjaan tersebut.
Namun, bisa menjadi sebuah model yang proses yang berguna pada situasi dimana persyaratan
yang dibutuhkan lengkap dan penyelesaian pengembangannya dilakukan secara linear.
Gambar 2.1 Waterfall Model
2.1.2 Object-Oriented Programming
Menurut Clark (2011, p. 1), Objek-Oriented Programming atau Pemrograman
berorientasi objek (OOP) adalah sebuah pendekatan untuk pengembangan perangkat lunak
dimana struktur dari software ini didasarkan pada objek berinteraksi dengan satu sama lain untuk
menyelesaikan tugas. Interaksi ini mengambil bentuk pengiriman pesan bolak-balik antara objek.
Dalam menanggapi pesan, obyek dapat melakukan suatu tindakan atau metode. Berikut dibawah
ini merupakan beberapa konsep dasar dan istilah umum yang digunakan dalam program
berorientasi objek (Clark, 2011, pp. 3-5):
Objek
15
o Dalam hal OOP, objek adalah sebuah struktur yang menggabungkan sebuah data,
dan prosedur untuk bekerja dengan data. Misalnya, jika Anda tertarik dalam
pelacakan data yang terkait dengan produk dalam persediaan, Anda akan membuat
objek produk yang bertanggung jawab untuk menjaga dan bekerja dengan data
yang berkaitan dengan produk.
Abstraksi
o Kemampuan sebuah program untuk melewati aspek informasi yang diproses
olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem
melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan
dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam
sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi
atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk
mengembangkan sebuah pengabstrakan.
Enkapsulasi
o Enkapsulasi adalah proses dimana tidak ada atau tidak bolehnya akses langsung
yang diberikan kepada data, melainkan tersembunyi. Jika Anda ingin mendapatkan
akses ke data, Anda harus berinteraksi dengan objek yang bertanggung jawab
untuk data. Contoh misalkan, jika Anda ingin melihat atau memperbarui informasi
tentang produk, Anda harus bekerja melalui obyek produk. Untuk membaca data,
Anda akan mengirim objek produk pesan. Obyek produk kemudian akan membaca
nilai dan mengirim kembali pesan yang mengatakan kepada Anda apakah nilai
tersebut. Obyek Produk mendefinisikan operasi apa yang dapat dilakukan pada
data produk. Jika Anda mengirim pesan untuk memodifikasi data dan objek
16
produk menentukan itu adalah permintaan yang valid, maka operasi tersebut akan
dilakukan untuk Anda dan mengirim pesan kembali dengan hasilnya.
Polimorfisme
o Polimorfisme adalah kemampuan dari dua objek yang berbeda untuk merespon
pesan permintaan yang sama dengan cara mereka sendiri yang unik. Sebagai
contoh, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan
sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan
menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama,
namun yang sesuai dengan kemampuan hewan tersebut.
Inheritance
o Inheritance atau warisan digunakan dalam OOP untuk mengklasifikasikan objek
dalam suatu program yang sesuai dengan karakteristik dan fungsi umum. Hal ini
membuat bekerja dengan objek-objek menjadi lebih mudah dan lebih intuitif. Hal
tersebut juga membuat programming menjadi lebih mudah karena memungkinkan
untuk menggabungkan karakteristik umum menjadi objek parent dan mewarisi
karakteristik tersebut ke dalam objek child.
Agregasi
o Agregasi adalah ketika sebuah objek terdiri dari gabungan dari benda-benda lain
yang bekerja sama. Misalnya, rumput mesin pemotong objek Anda adalah
gabungan dari objek roda, obyek mesin, obyek pisau, dan sebagainya. Bahkan,
objek mesin adalah gabungan dari berbagai obyek. Kemampuan untuk
menggunakan agregasi dalam OOP merupakan salah satu fitur canggih yang
17
memungkinkan Anda untuk secara akurat membuat model dan
mengimplementasikan proses bisnis dalam program Anda.
2.2 Model View Controller (MVC)
Pada tahun 1979, Trygve Reenskaug mengembangkan sebuah arsitektur baru untuk
mengembangkan aplikasi yang interaktif. Dalam desainnya, Trygve Reenskaug memisahkan
aplikasi menjadi 3 jenis komponen, yaitu model, views, dan controllers (Myer, 2008, p. 7). MVC
adalah salah satu design pattern yang terkenal untuk pembuatan aplikasi. MVC merupakan
singkatan dari Model Views Controllers yang terdiri dari 3 komponen yang terpisah dan dapat
mempermudah pengembang karena membuat aplikasi menjadi lebih portable, scalable, dan
maintainble.
Menurut Myer (2008), Ada tiga layer utama dalam arsitektur web MVC, yang disebut
sebagai best practices yaitu :
Model
o Model di sini berperan sebagai representasi dari data yang terlibat dalam suatu
proses transaksi. Setiap kali method atau function dari suatu aplikasi butuh untuk
melakukan akses ke dalam suatu data, maka function atau method tersebut tidak
langsung berinteraksi dengan sumber data tersebut melainkan harus melalui model
terlebih dahulu. Dalam hal ini hanya model yang diijinkan untuk berinteraksi
langsung dengan sumber data. Secara singkat, layer model ini menangani content
dari aplikasi.
View
o View di sini berperan sebagai presentation layer atau pengatur user interface
(tampilan) bagi user dari suatu aplikasi. Data yang dibutuhkan oleh user akan di
18
format sedemikian rupa agar dapat tampil dan direpresentasikan dengan format
tampilan yang memang disesuaikan dengan kebutuhkan user. Sehingga layer ini
tidak peduli apa saja content yang ada. Misalnya, untuk Aplikasi Diskon, layer ini
memutuskan apakah daftar belanja akan ditampilkan dalam tabel HTML,
ditampilkan ke command prompt, disajikan dalam tabel Swing, atau diekspor
menjadi file text. Sebagai tambahan, biasanya layer view juga bertugas untuk
melakukan validasi data yang diinputkan user.
Controller
o Controller di sini berperan sebagai logic aspect dari suatu aplikasi atau mengatur
user flow. Controller lah yang akan menentukan bussiness process dari aplikasi
yang dibangun. Controller akan merespon setiap inputan dari user dengan
melakukan pemanggilan terhadap model dan view yang sesuai sehingga request
atau permintaan dari user tersebut dapat terpenuhi dengan baik. Biasanya layer
controller juga digunakan untuk mengatur ijin akses dan permission.
19
Gambar 2.2 Contoh Gambar MVC
2.3 Telemedicine
2.3.1 Sejarah Telemedicine
Sejarah telemedicine yang modern kembali kepada penemuan telepon tradisional sekitar
satu abad yang lalu. Saran medis diberikan oleh dokter melalu telepon. Istilah telemedicine ini
sangat sederhana yaitu mendeskripsikan layanan penunjang medis melalui penggunaan
telekomunikasi. “Tele” adalah awalan untuk jauh, berasal dari bahasa Yunani kuno. Jadi,
telemedicine secara harfiah diterjemahkan untuk menyediakan pelayanan medis dari jarak yang
jauh (Fong, Fong, & Li, 2011, p. 1).
2.3.2 Telemedicine Sekarang
Telemedicine, istilah yang diciptakan pada 1970-an, yang secara harfiah berarti "healing
at a distance" atau penyembuhan dari jauh, menandakan penggunaan ICT (information and
communication technology) untuk meningkatkan kondisi pasien dengan meningkatkan akses ke
perawatan dan informasi medis. Karena tidak ada definisi yang definitif mengenai telemedicine,
20
sebuah studi 2007 menemukan 104 definisi dari kata telemedicine, (World Health Organization,
2010, pp. 8-9) telah memberikan gambaran yang luas mengenai telemedicine sebagai berikut:
“Pemberian layanan kesehatan, di mana jarak merupakan faktor penting, oleh semua
praktisi kesehatan yang profesional dengan menggunakan teknologi informasi dan komunikasi
untuk pertukaran informasi diagnosis yang valid, pengobatan dan pencegahan penyakit dan
cedera, penelitian dan evaluasi, dan untuk melanjutkan pendidikan dari penyedia layanan
kesehatan, semua demi kepentingan memajukan kesehatan individu dan komunitas telemedicine”
Secara historis, telemedicine dapat ditelusuri kembali dari pertengahan hingga akhir abad
19, dengan pertama kalinya terjadi di awal abad 20 ketika data elektrokardiograf dikirim melalui
kabel telepon. Telemedicine, dalam bentuk modern, dimulai pada tahun 1960-an, sebagian besar
didorong oleh pihak militer dan sektor teknologi ruang angkasa, serta beberapa individu
menggunakan peralatan komersial. Contoh sejarah awal, teknologi telemedicine termasuk
penggunaan televisi untuk memfasilitasi konsultasi antara spesialis di sebuah lembaga psikiatri
dan dokter umum di sebuah rumah sakit jiwa, dan penyediaan saran oleh ahli medis dari rumah
sakit pendidikan utama ke bandara pusat medis (World Health Organization, 2010, p. 9).
Kemajuan telemedicine ini akan sangat membantu semua orang yang membutuhkan
pertolongan walaupun bertempat tinggal yang jauh dari kota. Menurut Smith (2012), bagi orang-
orang yang tinggal di daerah pedesaan, jarak ke pusat-pusat metropolitan utama sering menjadi
pembatasan akses ke layanan penting, termasuk kesehatan spesialis. Telemedicine menyediakan
satu jawaban yang mungkin. Banyak istilah yang berbeda seperti telehealth, telecare, online
health dan E-health telah digunakan tetapi semua memiliki makna umum, yaitu penggunaan
teknologi informasi dan komunikasi untuk memberikan layanan kesehatan di kejauhan.
21
2.4 Kesehatan Anak (Pediatric)
Pediatrics adalah cabang ilmu kedokteran yang berhubungan dengan kesehatan bayi,
anak-anak dan remaja. Batas usia seperti pasien berkisar dari lahir sampai 18 tahun. Kata
''pediatrics'' yang berarti ''penyembuh anak-anak'', berasal dari dua kata bahasa Yunani yaitu
'pais' yang berarti anak dan 'iatros' yang berarti dokter atau penyembuh. Pediatrics adalah
spesialisasi medis yang relatif baru, berkembang hanya di abad ke 19. Abraham Jacobi (1830–
1919) adalah dikenal sebagai Bapak pediatrics karena ia telah banyak memberikan kontribusi ke
lapangan (Elhooda, 2011).
Ada beberapa komponen-komponen penting dalam pediatric atau kesehatan anak yang
kami gunakan dalam aplikasi telemedicine dengan berdasarkan pada (Marcdante, Kliegman,
Jenson, & Behrman, 2011):
Keadaan gawat darurat atau emergency ialah keadaan dimana seorang anak memerlukan
pertolongan dengan segera. Keadaan gawat darurat atau emergency dapat diakibatkan
oleh banyak penyebab, karena itulah diperlukan kesigapan dari kedua belah pihak yaitu
orang tua dan praktisi kesehatan untuk dengan cepat menolong anak yang sedang
memerlukan bantuan dengan segera.
Nutrisi atau gizi adalah substansi organik seperti makanan dan minuman yang dibutuhkan
oleh semua makhluk hidup untuk memberikan fungsi normal dari sistem tubuh, pertum-
buhan, dan pemeliharaan kesehatan.
Milestone atau kejadian penting adalah pengetahuan informasi yang bersangkutan dengan
sifat pengembangan dan pengaturan perubahan fungsional dan perilaku yang signifikan
pada masa pertumbuhan anak-anak menuju kematangan.
Imunisasi merupakan usaha untuk memberikan kekebalan pada bayi dan anak dengan
22
memasukkan vaksin kedalam tubuh agar tubuh membuat zat anti untuk mencegah
penyakit tertentu. Sedangkan yang dimaksud dengan vaksin adalah bahan yang dipakai
untuk merangsang pembentukan zat anti yang dimasukkan ke dalam tubuh melalui
suntikan (misalnya vaksin BCG, DPT, dan campak) dan melalui mulut (misalnya vaksin
polio).
Untuk mengetahui tumbuh kembang anak dapat dilakukan dengan cara penilaian
pertumbuhan fisik, misalkan berat badan dan tinggi badan. Pengukuran berat badan
digunakan untuk menilai hasil peningkatan atau penurunan semua jaringan yang ada pada
tubuh, misalnya tulang, otot, lemak, organ tubuh, dan cairan tubuh sehingga dapat
diketahui status keadaan gizi atau tumbuh kembang anak. Pengukuran tinggi badan dapat
digunakan untuk menilai status perbaikan gizi. Pengukuran tinggi badan ini dapat
dilakukan dengan sangat mudah dalam menilai gangguan pertumbuhan dan
perkembangan anak.
Menurut Fong (2011), sejarah mengenai medical record pasien dengan dokter akan selalu
ada semenjak dari lahir dan seterusnya. Penyimpanan medical record seorang pasien
sangatlah penting yaitu agar kondisi pasien seperti penyakit, alergi obat, dan lainnya bisa
segera diketahui oleh dokter dengan begitu dokter dapat dengan cepat dan tepat dalam
menangani pasiennya.
2.4.1 Hubungan antara Kesehatan Anak (Pediatric) dengan Telemedicine
Menurut Dharmar (2009), karena perbedaan dalam akses terhadap spesialis perawatan
gawat darurat dan kondisi kritis dapat menyebabkan keterlambatan dalam perawatan, terutama di
kalangan bayi dan anak-anak yang cedera maupun akut, penggunaan telemedicine untuk
23
konsultasi di bagian gawat darurat dan unit perawatan intensif harus ditingkatkan. Dari
penelitian-penelitian sebelumnya, telah ada sejumlah aplikasi telemedicine dalam perawatan
neonatal, termasuk kardiologi ophthalmology, radiologi, pendidikan dan evaluasi klinis, dan
dukungan dan pendidikan keluarga. Sejumlah program yang didirikan memberikan perawatan
neonatal oleh telemedicine. Contoh umum yang sering terjadi, bayi yang baru lahir dipindahkan
ke kamar bayi yang bukan kamar ICU khusus bayi dapat menjadikan kondisi medis bayi menjadi
kritis. Demikian pula, seorang anak dirawat di rumah sakit tanpa ruangan ICU khusus anak,
kondisi medis anak pun tiba-tiba dapat menjadi akut. Penggunaan telemedicine untuk melakukan
konsultasi dengan spesialis pediatrik untuk perawatan kritis dapat memberikan akses langsung
hampir ke semua pakar dalam situasi tersebut.
Untuk anak-anak dengan perawatan kesehatan kebutuhan khusus yang bertempat tinggal
dipedesaan maupun terpencil karena letak geografis merupakan sebuah tantangan sendiri.
Telemedicine bermaksud untuk meningkatkan akses perawatan dan pelayanan kesehatan anak
dengan mengatasi masalah yang diakibatkan kekurangannya dokter-dokter dipedesaan ataupun
di daerah dimana letak geografis yang tidak mendukung. Penelitian dilakukan dengan melakukan
survey dilakukan di daerah 90 km sebelah utara rumah sakit University of California Davis
Children’s (Davis, CA). Penelitian Telemedicine tersebut menghasilkan data survey yaitu orang
tua atau guardian yang bertempat tinggal di pedesaan. Dimana orang tua atau guardian
mengalami hambatan – hambatan seperti 86% dari orang tua atau guardian memerlukan waktu
lebih dari 1 jam untuk mengunjungi rumah sakit terdekat, 96% dari orang tua atau guardian
pekerjaannnya terlupakan karena janji, dan mengandalkan asumsi diri sendiri untuk mengobati
anaknya (Marcin J. P., Trujano, Sadorra, & Dharmar, 2009).
24
2.5 Rekam Medis (Medical Record)
Menurut Permenkes No: 269/MENKES/PER/III/2008 yang dimaksud rekam medis atau
medical record adalah berkas yang berisi catatan dan dokumen antara lain identitas pasien, hasil
pemeriksaan, pengobatan yang telah diberikan, serta tindakan dan pelayanan lain yang telah
diberikan kepada pasien.
Menurut Irditkesad (2009), Medical record memiliki baberapa manfaat antara lain:
Pengobatan Pasien. Rekam medis bermanfaat sebagai dasar dan petunjuk untuk
merencanakan dan menganalisis penyakit serta merencanakan pengobatan,
perawatan dan tindakan medis yang harus diberikan kepada pasien.
Pendidikan dan Penelitian. Rekam medis yang merupakan informasi
perkembangan kronologis penyakit, pelayanan medis, pengobatan dan tindakan
medis, bermanfaat untuk bahan informasi bagi perkembangan pengajaran dan
penelitian dibidang profesi kedokteran dan kedokteran gigi.
Peningkatan Kualitas Pelayanan. Membuat Rekam Medis bagi penyelenggaraan
praktik kedokteran dengan jelas dan lengkap akan meningkatkan kualitas
pelayanan untuk melindungi tenaga medis dan untuk pencapaian kesehatan
masyarakat yang optimal.
Pasal 46 ayat (1) UU Praktik Kedokteran menegaskan bahwa dokter dan dokter gigi
wajib membuat rekam medis dalam menjalankan praktik kedokteran. Setelah memberikan
pelayanan praktik kedokteran kepada pasien, dokter dan dokter gigi segera melengkapi rekam
medis dengan mengisi atau menulis semua pelayanan praktik kedokteran yang telah
dilakukannya. Setiap catatan dalam rekam medis harus dibubuhi nama, waktu, dan tanda tangan
petugas yang memberikan pelayanan atau tindakan. Apabila dalam pencatatan rekam medis
25
menggunakan teknlogi informasi elektronik, kewajiban membubuhi tanda tangan dapat diganti
dengan menggunakan nomor identitas pribadi/personal identification number (PIN). Dalam hal
terjadi kesalahan saat melakukan pencatatan pada rekam medis, catatan dan berkas tidak boleh
dihilangkan atau dihapus dengan cara apapun. Perubahan catatan atas kesalahan dalam rekam
medis hanya dapat dilakukan dengan pencoretan dan kemudian dibubuhi paraf petugas yang
bersangkutan. Lebih lanjut penjelasan tentang tata cara ini dapat dibaca pada Peraturan Menteri
Kesehatan tentang Rekam Medis dan pedoman pelaksanaannya.
2.6 UML (Unified Modeling Language)
Unified Modeling Language (UML) adalah standar bahasa pemodelan untuk perangkat
lunak dan pengembangan sistem. Suatu sistem yang kompleks dapat terjadi salah interpretasi
atau terlupakan karena rumitnya sistem tersebut, untuk itulah diperlukan Unified Modeling
Language (UML) yang dapat membantu dalam mendesain sistem yang kompleks tersebut.
Dalam mendesain sistem tersebut diperlukan suatu model yang mempunyai satu tujuan yaitu
mengelola kompleksitas. Model adalah suatu abstraksi dari sesuatu yang nyata. Ketika membuat
model sistem, pertama kali yang dilakukan ialah mengabstraksikan semua komponen-komponen
yang tidak relevan. Model yang dibuat haruslah bersifat simplification dari sistem yang nyata,
sehingga memungkinkan bagi kelangsungan hidup sistem dan desain sistem yang mudah
dipahami, dievaluasi, dan dikritik lebih cepat daripada menilai sistem tersebut oleh diri sendiri
(Miles & Hamilton, 2006, p. 1).
2.6.1 Use Case Diagram
Use case adalah kasus (atau situasi) dimana sistem digunakan untuk memenuhi satu atau
lebih dari kebutuhan pengguna, use case menangkap sepotong fungsionalitas yang sistem
sediakan. Use case merupakan jantung dari model yang didesain, karena use case mempengaruhi
26
dan membimbing semua elemen lain dalam desain sistem. Use case merupakan titik awal yang
sangat baik untuk hampir disetiap aspek pengembangan sistem berorientasi obyek, desain,
pengujian, dan dokumentasi. Use case menjelaskan persyaratan sistem yang ketat dari luar
hingga kedalam, use case menentukan nilai bahwa sistem telah mengirimkan sesuatu kepada
pengguna. Use case merupakan persyaratan fungsional sistem, use case harus menjadi output
pertama dari model setelah proyek dimulai (Miles & Hamilton, 2006, p. 20).
Tabel 2.1 Simbol yang digunakan pada use case diagram
Notasi Keterangan Simbol
Actor Aktor adalah pelaku yang
berinteraksi dengan system
tapi bukan merupakan
bagian dari system. Dalam
UML actor digambarkan
dengan bentuk stick man
atau dengan bentuk
stereotyped box
Use case Use case merupakan bagian
dari sistem yang digunakan
untuk menyelesaikan suatu
tugas. Use case digambarkan
dengan lingkaran elips
dengan nama use case nya
27
tertulis di tengah lingkaran
Communication
Line
Communication line
menghubungkan antara actor
dengan use case untuk
menunjukkan interaksi
antara keduanya.
Generalisasi Generalisasi digunakan
untuk menunjukkan bahwa
suatu aktor atau use case
merupakan turunan dari
aktor atau use case lainnya
Gambar 2.3 Contoh Use Case Diagram
2.6.2 Class Diagram
Menurut Miles dan Hamilton (2006, p. 65), Class Diagram ialah menjelaskan
karakteristik utama dari suatu sistem menjadi beberapa objek, dan dari objek-objek tersebut
dapat dibuat suatu class diagram yang menjelaskan karakteristik suatu sistem. Class diagram
28
menunjukkan blok-blok dari sistem yang berbasis object oriented, kelas-kelas yang menyusun
sistem. Potensi kolaborasi dari kelas-kelas, melalui message passing, ditunjukkan pada relasi
antar kelas. Konsep-konsep yang dapat direpresentasikan melalui notasi UML class diagram
sangat luas. Dalam proses pengembangan, peserta non-teknis akan lebih sulit mengerti konsep
yang lebih detail dan notasi dari class diagram daripada use case diagram dan activity diagram.
Sebuah class diagram menunjukkan tampilan statis kelas dari model atau bagian dari model.
Atribut dan operasi kelas dapat ditunjukkan bersamaan dengan berbagai jenis ‘hubungan’ yang
mengikat kelas-kelas tersebut. Class Diagram dapat dianalogikan sebagai peta jalan atau atlas.
Class dapat dianalogikan sebagai kota dan ‘hubungan’ dapat dianalogikan sebagai jalan.
Tabel 2.2 Simbol yang digunakan pada class diagram
Notasi Keterangan Simbol
Class Class dalam UML
digambarkan dalam
bentuk persegi yang
dibagi menjadi 3 bagian.
Bagian teratas tertulis
nama dari suatu class.
Bagian tengah
mengandung atribut yang
dimiliki oleh suatu class.
Dan bagian bawah
mengandung method yang
29
dimiliki oleh suatu class.
Association Association digunakan
untuk menunjukkan
hubungan atau
relationship antar class.
Agregasi Agregasi menggambarkan
hubungan suatu class
yang merupakan milik
dari class lain
Komposisi Komposisi
menggambarkan
hubungan suatu class
yang merupakan bagian
dari class lain
Generalisasi Generalisasi digunakan
untuk menunjukkan
inheritance dari satu class
ke class yang lain
30
Gambar 2.4 Contoh Class Diagram
2.6.3 Activity Diagram
Activity diagram memungkinkan seseorang untuk menentukan bagaimana sistem akan
mencapai tujuannya. Activity diagram menunjukkan aksi tingkat tinggi yang dilakukan bersama-
sama untuk mewakili suatu proses yang terjadi di sistem. Activity diagram adalah salah satu
diagram UML yang paling mudah karena Activity diagram menggunakan simbol-simbol yang
mirip dengan notasi flowchart yang dikenal luas, karena itu, Activity diagram berguna untuk
menggambarkan proses untuk khalayak luas. Bahkan, Activity diagram memiliki root dalam
flowchart, serta UML state diagram, data flow diagram, dan Petri Nets (Miles & Hamilton,
2006, p. 43).
Tabel 2.3 Simbol yang digunakan pada activity diagram
Notasi Keterangan Simbol
31
Initial State Titik awal atau kondisi
awal dari activity diagram
Final State Kondisi akhir dari activity
diagram yang
menggambarkan
berakhirnya activity
diagram
State State menggambarkan suatu
proses dalam activity
diagram
Decision Decision digunakan ketika
ingin membuat alur proses
yang berbeda-beda
bergantung pada kondisi
tertentu.
32
Gambar 2.5 Contoh Activity Diagram
2.6.4 Sequence Diagram
Sequence Diagram adalah suatu diagram yang menggambarkan interaksi antar obyek dan
mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukkan
serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi
tertentu. Dengan menggunakan Sequence Diagram, Anda bisa menggambarkan interaksi mana
yang akan dipicu ketika use case tertentu dilaksanakan dan dalam rangka apa mereka interaksi
akan terjadi. Sequence diagram menunjukkan banyak informasi lain tentang interaksi, tetapi
kelebihan sequence diagram ini adalah caranya yang sederhana dan efektif di mana sequence
diagram ini berkomunikasi menurut urutan peristiwa dalam interaksi (Miles & Hamilton, 2006,
pp. 108-109).
33
Tabel 2.4 Simbol yang digunakan pada sequence diagram
Notasi Keterangan Simbol
Object lifetime Object lifetime
menggambarkan rentang
waktu hidup suatu objek
selama suatu scenario
sedang berlangsung
Activation Activation menggambarkan
proses yang dilakukan oleh
sebuah objek
Message Message menggambarkan
Pengiriman pesan antara
satu objek dengan objek
lainnya. Selain dengan
objek lainnya pesan juga
bisa dikirimkan ke dirinya
sendiri.
34
Gambar 2.6 Contoh Sequence Diagram
2.7 Internet
2.7.1 Pengertian Internet
Internet merupakan subjek yang terlalu luas bagi sebuah buku yang memberikan
informasi yang lengkap mengenai masa lalu, kini, dan masa depan (Green, 2010, p. 1). Akan
tetapi, menurut Green (2010, p. 3), istilah 'internet' digunakan dalam hal yang mencakup:
Infrastruktur teknologi dan jaringan yang saling berhubungan mendukung World Wide
Web.
Open dan closed source software dan arsitektur (misalnya Firefox, Wikipedia, Internet
Explorer, Google).
komputer dan bahasa sehari-hari dalam hal membuat internet dapat diakses oleh orang-
orang dari banyak budaya.
35
Email, chat dan instant messaging (misalnya AOL, MSN).
Blog dan situs jejaring sosial (misalnya Facebook);
Game, komunitas, lingkungan, dan dunia (misalnya World of Warcraft, Second Life).
Banyak cara yang diperantari oleh digital komunikasi yang telah menjadi kebutuhan dan
meresap dalam kehidupan sehari-hari.
2.7.2 Sejarah Internet
Pada tahun 1994, ketika ulang tahun internet yang ke 25 tahun di sebuah acara yang
disebut sebagai “history of the future”. Perayaan yang diselenggarakan oleh konsultan
perusahaan Amerika BBN: Bolt Beranek dan Newman Inc, yang sangat ingin mengklaim jasa
dan penghormatan untuk dirinya sendiri sebagai landasan proyek pengembangan internet.
Meskipun ARPA, Advanced Research Projects Agency di Departemen Pertahanan AS, yang
harusnya berjasa dengan mendirikan internet, BBN percaya mereka juga layak diakui untuk
prestasi mereka 29 Oktober 1969 dalam memasang ARPANET pertama (Advanced Research
Projects Agency Network) link antara dua komputer, satu di University of California Los
Angeles (UCLA), dan yang lainnya di Stanford Research Institute (SRI) (Green, 2010, p. 21).
Kembali pada tahun 1969, sambungan ARPANET pertama adalah bukan pertama kalinya
link yang telah dibuat antara komputer, tapi melainkan pertama kalinya link telah dibangun
dalam jaringan yang telah diusulkan. Link tersebut merupakan link pertama yang memanfaatkan
sistem switched-paket yang dialokasikan bandwidth pada hubungan kabel komunikasi dalam
menanggapi pesan yang akan dikirim ('teknik alokasi dinamis'). Sebelum adanya sistem
switched-paket, cara yang biasa untuk menghubungkan komputer adalah melalui hubungan pra-
alokasi saluran yang didedikasikan untuk koneksi. Akan tetapi hal tersebut membuat tidak hanya
link tersebut menjadi fixed atau tetap, tetapi juga tidak ter-interkoneksi. Link tersebut tidak bisa
36
berbicara satu sama lain dan ini membuat membangun jaringan yang sangat rumit. Untuk
menjadi efisien dan efektif, jaringan-jaringan tersebut ditugaskan oleh ARPA untuk harus
memecahkan masalah interkoneksi dengan menghubungkan setiap komputer dengan banyak
orang lain, dan menemukan cara di mana koneksi tersebut dapat secara simultan digunakan
bersama oleh beberapa pengguna (Green, 2010, p. 21).
2.7.3 World Wide Web (WWW)
Tim Berners-Lee, penemu WWW, percaya bahwa WWW harus tersedia untuk semua
orang. Berners-Lee adalah orang Inggris, seorang fisikawan yang sedang pelatihan, dan unsur-
unsur kunci dari 1990 penemuannya ditempatkan di CERN ketika ia bekerja di CERN, pusat
penelitian partikel fisika Eropa berbasis di dekat Genewa di perbatasan Prancis-Swiss. Michael
Dertouzos, direktur Laboratorium MIT untuk Ilmu Komputer di mana Berners-Lee sekarang
bekerja berkomentar: “Ribuan ilmuwan komputer hanya bisa menatap selama dua dekade di dua
hal yang sama - hypertext dan jaringan komputer. Tapi hanya Tim Berners-Lee yang paham
tentang bagaimana untuk menempatkan dua elemen tersebut agar bisa digabung bersama-
sama”. Perbedaan antara pra internet versi-1990an dengan web Berners-Lee yang terletak pada
realisasi potensi internet untuk menyediakan web agar dapat diakses dan terhubung dengan
potongan-potongan informasi yang tersebar pada komputer yang berbeda. Visi ini bergantung
pada standarisasi protokol yang relevan sehingga perjalanan antara jaringan, server dan dokumen
bisa mulus. Semua komputer jaringan harus dapat memberikan kontribusi ke web, dan semua
informasi harus dapat diakses oleh setiap pengguna (Green, 2010, pp. 32-33).
2.7.4 Hyper Text Transfer Protocol (HTTP)
Hypertext Transfer Protocol merupakan sebuah metode atau cara yang digunakan untuk
mengirim informasi di dalam World Wide Web. Digunakan sebagai cara untuk mengirim dan
37
menerima informasi Hypertext Markup Language (HTML). Pengembangan HTTP
dikoordinasikan oleh World Wide Web Wonsortium dan Internet Enginering Task Force. Titik
puncaknya adalah menghasilkan sebuah seri dari RFCs, dikenal dengan RFC 2616 (pada tahun
1999), dan untuk selanjutnya diartikan sebagai HTTP/1.1, sebuah versi dari HTTP yang masih
digunakan sampai saat ini. HTTP adalah protocol pengirim dan penerima antara klien dan server.
Web Browser dapat diartikan klien, dan dapat juga disebut atau diartikan sebagai “pengguna”.
Sedangkan server tujuan merupakan penyedia dan penghasil data informasi, termasuk file,
gambar dan lain sebagainya (Green, 2010, pp. 32-33)..
2.7.5 Web Hosting
Web hosting adalah bisnis penyediaan server storage, konektivitas internet, dan layanan
yang diperlukan untuk melayani atau memberikan file dan gambar untuk sebuah situs web.
Sebuah perusahaan yang menyediakan layanan web hosting disebut web host, dan layanan
mereka seperti server storage, konektivitas internet, dan jasa lainnya disebut web hosting plans.
Ada ribuan bahkan mungkin ratusan ribu dari perusahaan web hosting yang menawarkan layanan
tersebut kepada publik maupun ke perusahaan lainnya (Puetz, 2005, p. 12).
2.8 Interaksi Manusia dan Komputer
2.8.1 Pengertian Interaksi Manusia dan Komputer
Interaksi Manusia dan Komputer atau lebih dikenal IMK adalah sebuah disiplin ilmu
yang mempelajari perancangan, implementasi, dan evaluasi sistem komputasi interaktif dan
berbagai aspek terkait. Dari perspektif ilmu komputer, fokus IMK adalah pada interaksi,
khususnya interaksi antara satu atau lebih mesin komputasi (komputer). IMK berhubungan
dengan kinerja gabungan antara manusia dan komputer, maksudnya ialah struktur komunikasi
antara manusia dan komputer, kemampuan manusia menggunakan komputer (termasuk
38
kemampuan untuk dipelajari atau learnability dari antarmuka yang digunakan), algoritma dan
pemrograman antarmuka, isu-isu rekayasa yang muncul pada saat merancang dan membangun
antarmuka, proses spesifikasi, perancangan dan implementasi antarmuka, serta biaya
perancangan (Santoso, 2009, pp. 5, 9).
2.8.2 Delapan Aturan Emas
Menurut Shneiderman dan Plaisant (2009, pp. 74-75), delapan aturan emas atau lebih
dikenal eight golden rules yaitu prinsip-prinsip yang menjadi panduan untuk designer-designer
dalam mendesign antarmuka pengguna. Prinsip-prinsip tersebut ialah:
Berusaha untuk konsistensi. Aturan ini adalah yang paling sering dilanggar, namun
mengikutinya bisa rumit karena ada banyak bentuk konsistensi. Konsisten dalam
kesamaan terminologi dalam membuat menu, tampilan, font dan help screen dan juga
konsisten dalam warna, kapitalitas, dan tampilan.
Memungkinkan pengguna menggunakan shortcuts. Menyediakan shortcuts untuk aksi
yang sering digunakan. Pengguna dapat menggunakan special keys, perintah tersembunyi
dan fasilitas makro serta waktu respon dan tampilan yang cepat untuk mempercepat gerak
pengguna dalam pengaksesan.
Menawarkan umpan balik yang informatif. Untuk setiap tindakan pengguna, harus ada
umpan balik dari sistem. Untuk tindakan yang sering dan kecil, respon dapat menjadi
sederhana, sedangkan untuk tindakan yang jarang dan besar, respon harus lebih
substansial. Presentasi visual dari obyek yang menarik menyediakan lingkungan yang
nyaman untuk menampilkan perubahan secara eksplisit.
Merancang dialog untuk menghasilkan keadaan akhir. Urutan aksi harus dibagi menjadi
awal, tengah, dan akhir. Dengan adanya umpan balik, pengguna dapat merasa lebih
39
merasa aman dalam melakukan sebuah tindakan dengan memberikan gambaran hasil
akhir dari suatu pilihan, serta pemberian banyak option-option kepada pengguna sehingga
bisa ikut mempengaruhi hasil akhir.
Memberikan pencegahan dan penanganan kesalahan yang sederhana. Suatu sistem harus
dirancang agar kesalahan yang dibuat pengguna dapat ditekan seminimal mungkin, dan
pesan kesalahan yang dimunculkan harus dapat dimengerti oleh pengguna awam. Jika
pengguna membuat kesalahan, antarmuka harus mendeteksi kesalahan dan menawarkan
instruksi yang sederhana, konstruktif, dan spesifik untuk pemulihan.
Mengijinkan pembalikan aksi (undo) dengan mudah. Aksi harus dapat dibalikkan
menjadi keadaan sebelumnya sehingga membuat pengguna merasa aman karena ia tahu
bahwa kesalahan yang dibuat dapat diperbaiki. Fitur ini mengurangi kecemasan, karena
pengguna tahu bahwa kesalahan dapat dibatalkan, sehingga akan mendorong pengguna
untuk eksplorasi lebih mendalam.
Mendukung pengguna menguasai sistem atau inisiator sebagai pusat kendali. Membuat
pengguna merasa memegang kendali atas sistem tersebut, bukan sebagai responden.
Kesulitan pengguna dalam menavigasi site atau dalam mendapatkan data yang diinginkan
akan menimbulkan rasa tidak puas.
Mengurangi beban ingatan jangka pendek. Keterbatasan pemrosesan informasi manusia
dalam ingatan jangka pendek mengharuskan tampilan antarmuka pengguna dibuat
sederhana, multi-halaman menampilkan dikonsolidasikan, window-motion frekuensinya
dikurangi, dan waktu pelatihan yang memadai dialokasikan untuk kode, dan urutan
tindakan.
40
2.9 Metode Penelitian
Metode penelitian adalah suatu kegiatan ilmiah yang terencana, terstruktur, sistematis,
dan memiliki tujuan baik praktis maupun teoritis. Dikatakan sebagai ‘kegiatan ilmiah’ karena
penelitian dengan aspek ilmu pengetahuan dan teori. ‘Terencana’ karena penelitian harus
direncanakan dengan memperhatikan waktu, dana dan aksesbilitas terhadap tempat dan data
(Semiawan, 2007, p. 5).
2.9.1 Data Kualitatif
Data kualitatif adalah suatu pendekatan atau penelusuran untuk mengeksplorasi dan
memahami suatu gejala sentral. Hasil akhir dari pengumpulan data kualitatif dituangkan dalam
bentuk laporan tertulis, dimana hasil pengumpulan data kualitatif tersebut sangat dipengaruhi
oleh pandangan, pemikiran, dan pengetahuan peneliti karena data hasil pengumpulan data
kualitatif tersebut merupakan hasil interpretasi peneliti sendiri. Tujuan pencarian data kualitatif
ini untuk mencari makna dalam pengalaman narasumber, maka arah pengumpulan data kualitatif
harus disesuaikan dengan masukan dari narasumber. Data kualitatif ini memperlakukan
narasumber benar-benar seperti subjek dan bukan objek, karena itu disinilah narasumber
menemukan dirinya sebagai yang berharga, karena informasinya yang bermanfaat (Semiawan,
2007, pp. 7-8).
2.9.2 Data Kuantitatif
Data kuantitatif adalah pengumpulan data ilmiah yang sistematis terhadap bagian-bagian
dan fenomena serta hubungannya. Tujuan pengumpulan data kuantitatif ini ialah
mengembangkan dan menggunakan model-model matematis, teori-teori atau hipotesis yang
berkaitan dengan fenomena alam. Pertanyaan-pertanyaan dalam pengumpulan data kuantitatif
biasanya dimulai dari pertanyaan umum, tetapi kemudian meruncing dan mendetail. Pertanyaan-
41
pertanyaan ini ditujukan kepada responden, dimana responden menjawab pertanyaan-pertanyaan
yang jawabannya telah ditetapkan oleh peneliti (Semiawan, 2007, p. 8).
2.10 Database
Menurut Elmasri dan Navathe (2011, p. 4), Database adalah kumpulan-kumpulan data-
data yang saling terkait. Definisi database yang cukup umum, misalnya, kita dapat
mempertimbangkan koleksi kata-kata yang membentuk halaman teks menjadi data terkait dan
karenanya untuk terbentuklah database. Namun, penggunaan umum dari istilah database lebih
terbatas. Sebuah database memiliki sifat implisit berikut:
Database mewakili beberapa aspek dari dunia nyata, kadang-kadang disebut miniworld
atau universe of discourse (UoD). Perubahan ke miniworld tercermin dalam database.
Database adalah kumpulan data yang logis dan koheren dengan beberapa makna yang
melekat. Beraneka ragam data yang random tidak bisa disebut sebagai database.
Sebuah database dirancang, dibangun, dan diisi dengan data untuk tujuan tertentu. Data-
base ini memiliki kelompok yang dimaksudkan pada pengguna dan beberapa aplikasi
yang terbentuk sebelumnya di mana para pengguna tertarik.
2.10.1 Database Management System
Database Management System (DBMS) adalah kumpulan program yang memungkinkan
pengguna untuk membuat dan memelihara database. DBMS adalah tujuan umum dari sistem
perangkat lunak yang memfasilitasi proses-proses mendefinisikan, membangun, memanipulasi,
dan berbagi database antara berbagai pengguna dan aplikasi. Mendefinisikan database meliputi
menentukan jenis data, struktur, dan keterbatasan dari data yang akan disimpan dalam database.
Definisi database atau informasi deskriptif juga disimpan oleh DBMS dalam bentuk katalog
42
database atau kamus yang disebut meta-data. Membangun database adalah proses menyimpan
data pada beberapa media penyimpanan yang dikendalikan oleh DBMS. Manipulasi database
termasuk fungsi seperti query database untuk mengambil data tertentu, memperbarui database
mencerminkan perubahan dalam miniworld, dan menghasilkan laporan dari data. Berbagi
database memungkinkan beberapa pengguna dan program untuk mengakses database secara
bersamaan (Elmasri & Navathe, 2011, pp. 5-6).
2.10.2 SQL
SQL adalah bahasa database yang komprehensif yaitu memiliki pernyataan untuk
mendefinisikan data, query, dan update. Awalnya, SQL atau Structured Query Language disebut
SEQUEL (Structured Query Language English) dan dirancang dan diterapkan di IBM Research
sebagai antarmuka untuk eksperimental sistem database relasional yang disebut SISTEM R.
SQL sekarang merupakan bahasa standar untuk DBMS relasional komersial (Elmasri & Navathe,
2011, p. 88).
2.11 HTML
2.11.1 Sejarah HTML
HTML atau HyperText Markup Language, pertama kali dibuat oleh Tim Berners-Lee.
Menurut Green (2010, p. 34), Berners-Lee menulis program HyperText Markup Language
(HTML) untuk membuat halaman web yang berisi link hypertext. HTML memungkinkan
seseorang membaca sebuah halaman web untuk mengklik ke dokumen lain atau situs web.
Menurut Refsnes (2010, p. 1), dengan HTML, pengembang dapat membuat situs webnya
sendiri. HTML adalah teknologi inti di mana semua halaman web ditulis. HTML adalah bahasa
untuk mendeskripsikan halaman web, akan tetapi HTML sendiri bukan bahasa pemrograman
43
melainkan bahasa markup, dimana bahasa markup adalah kumpulan-kumpulan atau koleksi-
koleksi dari markup tags, dan HTML menggunakan markup tags untuk mendeskripsikan
halaman web.
2.11.2 HTML 5
HTML 5 mengembangkan kemampuannya yang terbaru untuk drag and drop, server-
sent events, drawing, video, dan lainnya. Jadi sebenarnya HTML 5 ini adalah (kebanyakan)
superset dari HTML 4 dimana semua warisan dari HTML 4 telah compatible dengan HTML 5
dengan beberapa tambahan dari komponen HTML 5 sendiri.
Pada tahun 2004, W3C pertama kali mengungkapkan gagasan ide nya untuk mengevolusi
HTML, dimana gagasan ide tersebut menjadi beberapa prinsip yang mendasari cara kerja
HTML5. Hal tersebut membuat Apple, Mozilla, dan Opera untuk bekerja sama dan membuat
komunitas yang disebut WHATWG, sehingga W3C dan WHATWG bekerja sama dalam
mengembangkan HTML5 (W3C, 2012).
Walaupun HTML5 masih dalam tahap pengembangan, akan tetapi telah banyak
peramban-peramban yang telah siap dan support akan element-element dan API dari HTML5.
Hal ini dikarenakan banyak keuntungan-keuntungan dan fitur-fitur baru yang tidak ada pada
versi sebelumnya. Menurut (W3School, 2011), Berikut adalah komponen-komponen terbaru dari
HTML 5:
HTML5 Multimedia. Dengan menggunakan HTML5, menjalankan multimedia seperti
video dan audio menjadi lebih mudah dari sebelumnya, hanya dengan menggunakan
<video> dan <audio> sudah bisa berjalan, daripada menggunakan flash yang akan
memberatkan peramban.
44
HTML5 Graphics. Dengan menggunakan HTML5, menggambarkan grafik untuk
memperindah suatu website menjadi lebih menjadi lebih mudah, karena HTML5 telah
support CSS3.
HTML5 Applications. Dengan menggunakan HTML5, web development menjadi lebih
mudah daripada sebelumnya. Hal ini dikarenakan fitur-fitur seperti web workers yang
merupakan Javascript yang berjalan independent dari script yang lain sehingga untuk
menjalankan halaman HTML tidak perlu lagi menunggu script lain untuk selesai.
2.12 Cascading Style Sheet (CSS)
Cascading Style Sheet atau lebih dikenal CSS, berguna untuk mengatur style dari
halaman situs, termasuk warna dan ukuran huruf, lebar dan warna garis, dan jumlah spasi antara
item pada halaman situs. Cascading style sheet atau CSS bekerja dengan spesifikasi yang dapat
memungkinkan Anda untuk menetapkan sebuah aturan yang mengatakan bagaimana isi elemen
dalam dokumen akan terlihat. Misalkan, latar belakang halaman dapat ditentukan menjadi warna
cream, isi semua elemen <p> harus ditampilkan dalam warna abu-abu dengan menggunakan
jenis huruf Arial, dan bahwa semua <h1> elemen harus merah menggunakan jenis huruf Times
New Roman (Duckett, 2010, p. 243).
2.12.1 CSS 3
Menurut Weyl (2012, p. 1), CSS merupakan presentasi layer dari website, tumbuh
semakin penting dan lebih canggih. CSS yang sebelumnya hanya toolkit untuk menentukan font
yang konsisten dan layout telah tumbuh menjadi toolbox desain yang jauh lebih besar yang
bahkan bisa menjalankan animasi dan transisi. CSS level 3 atau lebih dikenal CSS3, generasi
terbaru dari CSS, melebihi batasan sebelumnya dari hanya presentasi layer ke antarmuka
45
pengguna. Pengembangan CSS3 belum selesai, tetapi sudah dapat digunakan pada browser saat
ini. Walaupun saat ini tidak bisa menggunakan fitur CSS3 yang belum didefinisikan, akan tetapi
CSS3 tetap dapat mulai digunakan karena kestabilan dan telah mendukung di browser modern.
Beberapa bagian dari CSS3 telah diterbitkan sebagai rekomendasi, sedangkan bagian lainnya
dalam tahap pengembangan lebih lanjut. Modul baru hanya yang disarankan, dan eksperimental
didukung dalam satu browser, bahkan sebelum pengembangan pada CSS3 selesai, telah
dilakukan pengembangan pada CSS4.
2.13 Javascript
Javascript digunakan oleh jutaan halaman web untuk menambahkan fungsionalitas,
memvalidasi form, mendeteksi browser dan banyak lagi. Javascript adalah sebuah bahasa untuk
mengembangkan aplikasi berbasis internet untuk sisi client dan server dan dapat bekerja di
semua browser utama, seperti Internet Explorer, Firefox, Chrome, Opera dan Safari
(W3schools, 2010).
Javascript juga merupakan sebuah API yang dapat diprogram ulang untuk pemrograman
cross-platform yang berdasarkan event, object, dan action dari user. Javascript juga membuat
programmer yang tidak terlalu berpengalaman dapat membuat halaman yang lebih interaktif.
Mengacu pada (W3schools, 2010) berfungsi :
1. Javascript memberikan desainer HTML, alat untuk pemrograman. Penulis HTML
biasanya bukan programmer. Tetapi Javascript adalah bahasa scripting dengan sintaks
sangat sederhana. Sehingga hampir setiap orang bisa menempatkan potongan kecil kode
Javascript ke dalam halaman HTML.
2. Javascript dapat memasukkan teks dinamis ke dalam halaman HTML.
3. Javascript dapat bereaksi terhadap suatu peristiwa (event). Sebuah script Javascript dapat
46
diatur untuk mengeksekusi ketika sesuatu terjadi, seperti pengguna mengklik elemen
HTML.
4. Javascript bisa membaca dan menulis elemen-elemen HTML
5. Javascript bisa di gunakan untuk validasi data Script. Javascript dapat digunakan untuk
memvalidasi data form sebelum di kirim ke server. Sehingga menghemat server dari
pemrosesan ekstra.
6. Javascript bisa di gunakan untuk mendeteksi pengunjung browser. Script JavaScript
dapat digunakan untuk mendeteksi browser pengunjung, memuat halaman lain yang
khusus dirancang untuk browser tersebut
7. Javascript dapat digunakan untuk membuat cookie. Sebuah script Javascript dapat
digunakan untuk menyimpan dan mengambil informasi pada komputer pengunjung.
2.13.1 jQuery
JQuery adalah Javascript library, jQuery mempunyai semboyan “write less, do more”.
JQuery dirancang untuk memperingkas kode-kode Javascript. JQuery adalah Javascript library
yang cepat dan ringan untuk menangani dokumen HTML, menangani event, membuat animasi
dan interaksi ajax. JQuery dirancang untuk mengubah cara anda menulis Javascript (The jQuery
Foundation). Menurut Bibeault dan Katz (2010) menggunakan Javascript baku dapat
menghasilkan puluhan baris kode untuk masing-masing tugas. Sedangkan dengan menggunakan
jQuery maka puluhan kode itu bisa di minimalisir “Power in the economy of code”. Pada intinya
jQuery berfokus pada mengambil elemen dari halaman HTML dan melakukan operasi-operasi
pada halaman HTML tersebut.
Contoh penggunaan Javascript :
<script>
47
var checkedValue;
var elements = document. getElementsByTagName('input');
for (var n = 0; n < elements. length; n++)
{
if (elements[n]. type == 'radio' &&
elements[n]. name == 'someRadioGroup' &&
elements[n]. checked)
{
checkedValue = elements[n]. value;
}
}
</script>
Contoh penulisan Javascript dengan jQuery :
<script>
var checkedValue = $('[name="someRadioGroup"]:checked'). val();
</script>
2.13.2 jQuery Mobile
Dengan menggunakan jQuery Mobile, pengembang dapat membuat aplikasi mobile yang
dapat berjalan dengan lancar di mayoritas mobile OS, seperti Android, Blackberry OS6, iOS,
Fennec (oleh Mozilla). jQuery Mobile ini pertama kali dipublikasikan sebagai proyek yang
independen pada tanggal 10 Agustus 2010, dan dijelaskan pada blog jQuery bahwa pengembang
jQuery ingin memasukkan jQuery ke perangkat mobile. Aksesbilitas dan kesederhanaan
memainkan peran kunci dalam pengembangan jQuery Mobile dan aplikasi yang dibangun
dengan bantuan jQuery Mobile. Dan yang paling penting ialah ukuran file jQuery Mobile ini
48
sangat kecil dengan ukuran sekitar 12KB, dikarenakan untuk penggunaan mobile (Bai, 2011, pp.
7, 8, 19).
Tim pengembang jQuery Mobile telah mengeluarkan jQuery Mobile versi final 1.2.0.
Versi final ini dikembangkan untuk smartphone dan tablet dalam mengoptimasikan fungsi touch.
jQuery Mobile versi final ini merupakan gabungan dari sistem antarmuka pengguna berbasis
HTML5 untuk semua perangkat mobile yang populer, dibangun diatas jQuery yang solid dan
fondasi jQuery UI. Dibangun dengan file size yang kecil dan peningkatannya progresif, dan
memiliki desain tema yang flexible dan mudah diubah (Parker, 2012).
2.14 Google Map
Google Maps adalah layanan Google yang diperkenalkan pada Februari 2005. Google
Maps menawarkan teknologi pemetaan yang bersifat user-friendly dan berisi informasi bisnis
local yang mencakup lokasi bisnis, informasi kontak dan arah perjalanan. Cara menggunakan
Google Maps pun mudah, pengguna hanya perlu menggeser atau menarik peta tersebut untuk
dapat menavigasinya. Google Maps berjalan dengan menggunakan HTML, CSS, dan Javascript
yang saling bekerja sama.
Sebelum adanya public Application Programming Interface (API), seorang hacker
membobol atau meng-hack Google Maps untuk dimasukkan atau di integrasikan ke suatu
website, karena itulah dibuat API yang bertujuan untuk membuat Google Maps API tersebut
menjadi free akan tetapi google bebas untuk memasukkan advertisement ke Google Maps API
tersebut (Svennerberg, 2010).
Selama beberapa tahun terakhir, Google Earth dan Google Maps telah digunakan oleh
banyak lembaga akademis sebagai penelitian akademik dan alat pemetaan. Sebuah survei
49
dilakukan untuk menentukan popularitas produk pemetaan, dan jenis penggunaan dalam suasana
perpustakaan akademik. Hasil penelitian menunjukkan bahwa lebih dari 90 persen responden
menggunakan Google Earth dan Google Maps baik untuk membantu menjawab pertanyaan
penelitian, ataupun untuk membuat dan mengakses dalam menemukan alat bantu, dengan tujuan
instruksional atau untuk promosi dan pemasaran (Dodsworth & Nicholson, 2012).
2.15 Teknologi Cross Platform Software Development Kit
Menurut Allen, Graupera dan Lundrigan (2010), sekarang adalah era “The Year of the
Mobile Developer”, karena era ini adalah era dimana seorang developer dapat dengan mudah
membuat suatu aplikasi mobile dengan mudah dan dapat berjalan di sistem operasi yang berbeda
pula. Perangkat mobile sangat banyak jenisnya seperti samsung, apple, blackberry, nokia, dan
lainnya, dan sistem operasinya pun berbeda-beda seperti android, iOS, blackberry OS, symbian,
dan lainnya. Karena itulah dengan teknologi cross platform software development kit ini, akan
sangat membantu developer-developer untuk membuat aplikasi mobile dan berjalan diberbagai
sistem operasi. Untuk kasus sistem aplikasi telemedicine, penulis menggunakan teknologi cross
platform software development kit sebagai berikut:
2.15.1 PhoneGap
Menurut Ghatol dan Patel (2012, p. 17), PhoneGap adalah aplikasi HTML5 application
framework yang digunakan untuk mengembangkan aplikasi melalui teknologi web. Hal ini
menunjukkan bahwa pengembang dapat mengembangkan aplikasi untuk Smartphone dan Tablet
menggunakan pengetahuan yang telah pengembang punya seperti HTML, CSS, dan Javascript.
Dengan PhoneGap, pengembang tidak perlu belajar bahasa lain seperti Objective-C untuk
iPhone. Aplikasi yang dikembangkan menggunakan PhoneGap adalah aplikasi hybrid. Aplikasi
ini tidak seluruhnya murni berisikan hanya HTML ataupun Javascript, karena bagian dari
50
aplikasi, terutama UI (user interface) atau antarmuka pengguna, logika aplikasi, dan komunikasi
dengan server didasarkan pada HTML atau Javascript, sedangkan bagian lain dari aplikasi yang
berkomunikasi dan mengontrol perangkat (ponsel atau tablet) didasarkan pada bahasa asli dari
platform itu sendiri (ponsel atau tablet). PhoneGap menyediakan jembatan dari dunia Javascript
ke dunia native dari platform yang memungkinkan API Javascript untuk mengakses dan
mengontrol perangkat (ponsel atau tablet). Saat ini, perkembangan teknologi aplikasi untuk
perangkat mobile telah maju dengan sangat pesat, dimana banyak komunitas-komunitas
developer yang berlomba-lomba untuk membuat aplikasi-aplikasi mobile yang berguna untuk
kehidupan manusia. Karena itulah, PhoneGap dibuat untuk para pengembang aplikasi agar
mempermudah dalam pengembangan aplikasi mobile.
Gambar 2.7 PhoneGap Build
51
Tabel 2.5 PhoneGap Compability
2.15.1.1 Web Development vs Native Development
Pada penelitian terdahulu yang dilakukan oleh Corral, Sillitti dan Succi (2012, pp. 2, 5-6),
telah dilakukan studi analisis dari performance aplikasi mobile web yang dikembangkan
menggunakan PhoneGap dan dijalankan pada Android OS, dimana studi tersebut difokuskan
kepada waktu eksekusi aplikasi. Penelitian tersebut menghasilkan data analisis sebagai berikut:
52
Tabel 2.6 Perbandingan Waktu Eksekusi antara Aplikasi Android Asli (Native) dan
Aplikasi Web PhoneGap
Nilai-nilai dalam tabel diatas menunjukkan bahwa aplikasi web berhasil dalam
mengeksekusikan sama dengan atau lebih baik daripada aplikasi asli dalam satu tugas (misalnya
meluncurkan notification, 35% lebih cepat). Untuk selebihnya, ada kekurangan kinerja yang
berlangsung dari yang ringan (misalnya meminta informasi jaringan, 10% lebih lambat) dan
yang sangat signifikan (misalnya mengakses sensor GPS).
PhoneGap sekarang resmi menjadi salah satu proyek inkubator Apache Software
Foundation yang bernama Cordova. Cordova ini memungkinkan tim pengembang
memanfaatkan keterampilan skill yang dimiliki oleh tim pengembang dalam domain ponsel
dengan menggabungkan HTML, CSS, dan Javascript ke API untuk menekan fungsionalitas
dalam perangkat hardware yang asli. PhoneGap memberikan programmer web cara untuk
menyadap kontak dan file, memanipulasi penyimpanan lokal, bekerja dengan sensor (kamera,
53
GPS, dan semacamnya), dan memfasilitasi pertukaran data langsung dari HTML yang berasal
dari antarmuka pengguna mobile
2.16 Node.js
Node.js adalah sebuah platform dibangun di Chrome Javascript runtime easily building
fast, scalable network applications. Node.js menggunakan model event-driven, non-blocking I/O
yang membuatnya ringan dan efisien, cocok untuk real-time aplikasi yang berjalan di perangkat
yang didistribusikan. Javascript adalah bahasa berbasis event-driven, dan Node.js menggunakan
ini untuk keuntungan menghasilkan server yang scalable. Menggunakan arsitektur yang disebut
event-loop. Sehingga menggunakan Node.js membuat pemrograman server menjadi sangat
scalable mudah dan aman. Selain itu Node.js berhasil mengurangi kompleksitas bagi
pengembang aplikasi (Croucher & Wilson, 2012). Node.js dibuat oleh Ryan Dahl telah menjadi
popular dalam waktu singkat, berikut alasan – alasan mengapa Node.js menjadi platform yang
popular menurut (Croucher & Wilson, 2012) :
High Performance Web Servers.
o Node.js menggunakan arsitektur event-driven dalam pemrograman untuk server.
Node.js bukan platform yang pertama kali menggunakan ini, tetapi yang paling suk-
ses. Secara singkat setiap kali Node.js menangani permintaan dari client yang mem-
butuhkan waktu pemrosesan yang lama, maka Node.js akan menandai permintaan
client dan membuat itu seolah – olah permintaan telah di selesaikan, padahal Node.js
berpindah menangani client lain. Hal ini berbeda dengan server traditional bekerja se-
hingga jauh lebih efisien dibandingkan dengan memori server tradisional dan dapat
tetap memberikan waktu respon yang sangat cepat ke banyak client secara bersamaan.
Professionalism in Javascript
54
o Alasan lain orang suka Node.js adalah Javascript. Javascript di buat oleh Brendan
Eich tahun 1995 menjadi bahasa scripting sederhana untuk digunakan dalam halaman
web pada browser netscape. Semenjak dari awal Javascript digunakan dalam
pengaturan non-browser. Beberapa produk awal server netscape mendukung
Javascript yang kemudian lebih dikenal livescript sebagai bahasa scripting server-
side. Javascript bersaing dengan microsoft VBScript untuk menyediakan
fungsionalitas pemrograman di website. Dengan kemenangan Javascript, diawal
tahun 2000-an, Javascript telah muncul sebagai satu-satunya pilihan untuk
pemrograman dengan HTML di browser.
Browser Wars 2.0
o Perang browser atau lebih dikenal browser wars ini terjadi karena internet explorer
dan netscape bersaingan dengan kejam dalam fitur webnya masing-masing, dimana
fitur-fitur tersebut hanya kompatibel ke browser mereka dan tidak mendukung
browser lainnya. Bagi programmer web, hal ini tentu sangat melelahkan karena harus
menyesuaikan dikeduanya, dimana pada akhirnya internet explorer menang dan
menjadi browser dominan. Akan tetapi beberapa tahun kemudian, ketika internet
explorer terhenti perkembangannya di versi 6, muncul firefox yang berasal dari sisa-
sisa netscape. Firefox mengawali tanda sebagai kebangkitan dari browser, diikuti oleh
Webkit (Safari) dan kemudian Chrome. Setiap browser memiliki Javascript runti-
menya sendiri: Spider Monkey untuk Firefox, Squirrel Fish Extreme untuk Safari,
Karakan untuk Opera, dan akhirnya V8 untuk Chrome. Dengan bersaing pada kinerja
Javascript runtimes-nya sendiri, hal ini menciptakan lingkungan inovasi untuk
55
Javascript. Dan untuk membedakan browser mereka, vendor akan berusaha keras un-
tuk membuat mereka secepat mungkin.
Node.js telah dipakai diberbagai industri IT dan sudah terbukti kehandalannya dalam
mempertahankan satu Codebase untuk semua perangkat jaringan yang terkoneksi. Seperti Yahoo
yang telah meluncurkan teknologinya yang terbaru bernama “Cocktail” yaitu perpaduan dari
HTML5, Node.js, dan lainnya, dimana Node.js ini berperan penting sebagai server-side.
Teknologi yang diluncurkan oleh Yahoo ini terbagi menjadi dua, yaitu Yahoo!`s Mojito dan
Yahoo! Manhattan. Yahoo!`s Mojito akan memudahkan developer agar tidak perlu membuat
code yang berbeda untuk server sebagai backend dan browser sebagai frontend. Yahoo!
Manhattan menyediakan interface yang sederhana bagi developer untuk menyebarkan ataupun
tidak menyebarkan dan mengelola beberapa versi dari aplikasi Yahoo!`s Mojito berbasis aplikasi
developer sendiri, meningkatkan skala dan kinerja infrastruktur Yahoo! Technology. Teknologi
Yahoo! Ini akan memudah developer untuk membuat satu aplikasi dan menyebarkan kebeberapa
device yang berbeda-beda sehingga akan menghemat waktu dan mengurangi biaya pengeluaran
(Fernandez, 2011).
2.17 Web Service REST
Pada tahun 2000, Roy Fielding, salah satu kunci kontributor HTTP dan URI, kodifikasi
(pembukuan jenis-jenis hukum tertentu dalam kitab undang-undang secara sistematis dan
lengkap) arsitektur dari Web dalam tesis doktornya. Dalam tesis ini, ia memperkenalkan gaya
arsitektur yang dikenal sebagai Representational State Transfer (REST). Gaya ini dalam hal
abstrak, menjelaskan fondasi dari World Wide Web. Teknologi yang membentuk fondasi ini ialah
Hypertext Transfer Protocol (HTTP), Uniform Resource Identifier (URI), HTML dan XML, dan
JSON. Representational State Transfer atau REST ialah sebuah gaya arsitektur untuk aplikasi
56
jaringan. REST ini dibuat untuk mengatasi beberapa masalah yang menjadi kendala seperti
visibilitas, reliability, skalabilitas, kinerja, dan lainnya (Allamaraju, 2010, p. ix).
Menurut Fishcer (2010), REST adalah cara sederhana untuk mengatur interaksi antara
sistem independen. REST semakin meningkat popularitasnya sejak tahun 2005, dan
menginspirasi desain layanan seperti Twitter API. Hal ini karena REST memungkinkan untuk
berinteraksi dengan klien yang beragam seperti ponsel dan situs-situs lain. Secara teori, REST
tidak terikat ke web, tapi REST hampir selalu dilaksanakan seperti itu, dan terinspirasi oleh
HTTP. Akibatnya, REST dapat digunakan dimanapun HTTP bisa lakukan.
2.17.1 REST vs SOAP
Menurut Singh (2009), semua web services utama di Internet sekarang menggunakan
REST: seperti Twitter, web Yahoo menggunakan layanan REST, yang lain termasuk Flickr,
del.icio.us, PubSub, Bloglines, technorati, dan beberapa lainnya. Baik eBay dan Amazon
memiliki 2 web service yaitu REST dan SOAP. SOAP banyak digunakan untuk aplikasi
Enterprise yaitu mengintegrasikan wide types dan jumlah aplikasi, dan tren lainnya adalah untuk
mengintegrasikan dengan legacy system, dan lainnya. Di sudut pandang Internet - Google telah
konsisten dalam menerapkan web service, dimana Google menggunakan SOAP, dengan
pengecualian Blogger, yang menggunakan XML-RPC.
Dimana kelebihan utama REST ialah:
Lightweight atau ringan – tidak banyak xml markup
Human readable results atau dapat dibaca oleh manusia
Easy to build atau mudah untuk dibuat – tidak membutuhkan toolkits
Sedangkan kelebihan SOAP ialah:
Easy to consume
57
Rigid – type checking, mematuhi kontrak
Development tools
Perbandingan REST dan SOAP dilihat dari API fleksibilitas dan simplicity yaitu kunci
dari REST metodologinya ialah membuat web service dengan menggunakan sebuah interface
yang telah dikenal dan paling banyak digunakan, misalkan URI. Sebagai contoh, mengekspos
layanan konverter mata uang, di mana pengguna memasukkan simbol mata uang yang kemudian
dikembalikan kepada pengguna yaitu harga mata uang secara real-time, dapat sesederhana
tersebut dengan membuat script yang diakses pada server Web. Sedangkan SOAP memerlukan
pengetahuan spesifik mengenai spesifikasi XML, dan kebanyakan developer akan membutuhkan
SOAP toolkit untuk membuat form request dan meneruskan hasilnya (Singh, 2009).
2.17.2 JSON
JSON adalah format data yang berbasis Javascript. Seperti XML, merupakan format
untuk keperluan umum, bisa dibaca oleh manusia, dan dapat diperluas. Dalam bahasa seperti
Javascript dan PHP, parsing struktur JSON lebih mudah daripada parsing XML. Kebanyakan
layanan web yang dikonsumsi oleh klien berbasis browser biasanya lebih memilih JSON
daripada format representasi (Allamaraju, 2010, p. 58).
2.18 LAMP
LAMP adalah istilah yang merupakan singkatan dari Linux, Apache, MySQL dan
Perl/PHP/Phyton. LAMP ini merupakan sebuah paket perangkat lunak bebas yang digunakan
untuk menjalankan sebuah aplikasi secara lengkap. Komponen-komponen dari LAMP:
58
2.18.1 Linux
2.18.1.1 Sejarah Linux
Pada tahun 1969, terdapat sebuah tim pengembang yang bertempatkan di Bell Labs
laboratories yang mengerjakan suatu proyek dengan masalah utamanya yaitu semua komputer
mempunyai sistem operasi yang berbeda sehingga software-software tidak dapat berjalan di
sistem operasi yang berbeda. Karena itulah mereka membuat sistem operasi yang baru dengan
kelebihannya:
Simpel dan elegan.
Menggunakan bahasa C progamming
Mampu recycle atau mendaur ulang code
Pengembang Bell Labs menamakan proyek tersebut “UNIX”. Pada awal tahun 90-an,
komputer-komputer PC akhirnya cukup kuat untuk menjalankan UNIX secara penuh. Linus
Torvalds, seorang pemuda yang mempelajari Computer Science di Universitas Helsinki,
mendapatkan sebuah ide yaitu alangkah baiknya mendapatkan UNIX versi akademik secara
gratis yang kemudian lebih dikenal Linux, dimana pada akhirnya beberapa tahun kemudian
semua fitur UNIX ditambahkan, dan menghasilkan sistem operasi Linux yang sempurna hingga
saat ini. Linux adalah full kloning dari UNIX, cocok untuk workstations maupun sebagai server
yang middle-range atau high-end (Garrels, 2010).
2.18.2 Apache
Menurut Langley (2008), Apache 1.0 dirilis pada tahun 1995, dan tumbuh beriringan
dengan pertumbuhan web. The Apache Software Foundation didirikan pada tahun 1999, dan
sekarang bertanggung jawab atas lebih dari 30 proyek, termasuk sebagai penopang framework
java application yang open source, dan servlet Tomcat. Apache adalah web server dan
59
merupakan salah satu dari komponen LAMP. Apache telah pindah jauh dari yang hanya
melayani halaman web statis dan dinamis, dengan otentikasi dan kriptografi, dan dukungan
untuk bahasa scripting.
Apache HTTP Server web telah kehilangan banyak pangsa pasar dari Microsoft di US
dalam beberapa tahun terakhir. Tetapi karena sahamnya pernah mencapai hampir 80% dari pasar,
penyesuaian ulang itu mungkin tak terelakkan.. Dalam beberapa bulan terakhir, jatuhnya pangsa
Apache dan pertumbuhan pangsa IIS (Internet Information Server) tampaknya telah normal
kembali, memberikan Apache lebih dari 50% pangsa pasar, dan US hanya di bawah 36%.
Angka-angka ini berasal dari Netcraft, yang terlihat pada angka mutlak, tanpa menghiraukan dari
ukuran situs. Sebuah survei dari "Top 100" situs US memberikan Apache 49% pangsa pasar, dan
US 20%. Apache Software Foundation menjelaskan bahwa Project Server HTTP sebagai "upaya
pengembangan perangkat lunak kolaboratif bertujuan untuk menciptakan kualitas komersial
yang kuat, featureful, dan implementasi HTTP (web) server yang open source", melindungi
protokol web dari kepemilikan yang eksklusif. Web server open source yang gratis untuk
diunduh juga telah mencapai keberhasilan luas di antara vendor komersial dan telah digandeng
oleh orang-orang seperti IBM dan Oracle, serta dengan distribusi Linux (Langley, 2008).
2.18.3 MySQL
Menurut Gilmore (2010, pp. 477-480), MySQL adalah server database ber-relasional,
menawarkan fitur-fitur yang persis ditemukan dalam produk-produk bersaing. Dengan kata lain,
developer tidak akan terlalu terkejut walaupun developer terbiasa dengan produk lain database
karena MySQL ini termasuk untuk free user. Selain itu, yang membuat MySQL ini populer
ialah:
Flexibility
60
o MySQL dapat berjalan di 14 platform, seperti Microsoft Windows, Linux, Mac OS X,
dan lainnya. MySQL juga menawarkan berbagai jenis mekanisme untuk mengelola
data, yang dikenal sebagai storage engines. Karena pentingnya merawat untuk
memilih storage engines tertentu, sejalan dengan pentingnya menggunakan algoritma
yang tepat untuk suatu tugas tertentu. Seperti algoritma, storage engines sangat mahir
dalam menjalankan tugas-tugas tertentu dan dapat beradaptasi terhadap kesalahan
yang dilakukan orang lain.
Power
o Sejak pertama kali dirilis, para pengembang MySQL telah berfokus pada
performance, bahkan pada biaya untuk fitur setting berkurang. Sampai hari ini,
komitmen untuk kecepatan yang luar biasa tidak berubah, walaupun seiring waktu
kemampuan sebelumnya berkurang karena telah tumbuh kompetitor-kompetitor dari
banyak kompetitor komersial dan open source.
2.18.4 PHP
PHP adalah bahasa skrip yang dapat ditanamkan atau disisipkan pada halaman HTML.
Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP
pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama
Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk
mengolah data formulir dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum
dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka
banyak pemrogram yang tertarik untuk ikut mengembangkan PHP. Pada November 1997, dirilis
PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam
rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara
61
signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP
menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut
merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan
PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing. Pada pertengahan tahun
1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0
adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai
disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki
kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti
dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model
pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa
pemrograman ke arah paradigma berorientasi objek (Gilmore, 2010, pp. 1-5).
2.19 Sistem Operasi Android
Android adalah sebuah sistem operasi berbasis linux untuk smartphone. Android ini
merupakan open source baru software toolkit untuk smartphone yang diciptakan atau dibuat oleh
google dan Open Handset Alliance. Hanya dalam beberapa tahun saja, sistem operasi android ini
terdapat pada jutaan telepon selular. Android banyak menjadi pilihan orang banyak karena
android dapat digunakan untuk bersenang-senang maupun untuk mendapatkan keuntungan.
Ledakan Android telah benar-benar meletus hanya dalam beberapa tahun terakhir, sekitar dua
tahun setelah Android memulai debutnya pada musim gugur 2007. Sejak Januari saja, Android
telah menguasai dua kali lipat total pasaran di sistem operasi mobile, dan perangkat berbasis
Android menyumbang 44% kekalahan dari smartphone dibeli pada kuartal ketiga 2010 (Reed,
2010). Android merupakan yang pertama kalinya yang menggabungkan beberapa kelebihan
(Burnette, 2008) :
62
Kebebasan mengembangkan aplikasi berbasiskan linux dan open source. Banyak tim
pengembang yang sangat menyukai hal ini karena mereka dapat menggunakan ataupun
mengkostumisasi kan aplikasi yang mereka buat sendiri tanpa harus membayar royalty
dan tidak terkunci hanya untuk satu vendor.
Sebuah arsitektur berbasis komponen terinspirasi oleh Internet mashup yaitu
menggabungkan layanan dari website yang berbeda menjadi satu situs Web. Bagian dari
satu aplikasi dapat digunakan dengan cara yang berbeda melalui cara yang awalnya tidak
dibayangkan oleh tim pengembang. Tim pengembang bahkan dapat menggantikan
komponen built-in dengan versi mereka sendiri yang telah ditingkatkan. Hal ini akan
menambahkan pengalaman dan kreativitas dalam ruang mobile.
Ribuan bahkan jutaan services built-in yang ‘out of the box’. Service yang berbasiskan
lokasi yang menggunakan GPS dapat mengizinkan pelanggan untuk meng-kustomisasi
user interface berdasakan lokasi pelanggan. Sebuah SQL database yang full-powered
mengizinkan pelanggan untuk menguatkan kekuatan atau keamanan dari local storage
yang selalu terkoneksi ataupun ter-sinkronisasi kan ke internet. Interface dari browser
dan map dapat digabungkan langsung di aplikasi pelanggan. Semua services built-in ini
dapat meningkatkan fungsionalitas aplikasi dengan biaya pengembangan yang rendah.
Mengelola secara otomatis siklus hidup aplikasi. Pelanggan tidak perlu lagi khawatir
tentang aplikasi apa yang terbuka atau tertutup agar program yang lain dapat berjalan,
dengan menggunakan android maka sebuah program akan terisolasi dari program yang
lain dengan multiple layer security. Hal ini akan memberikan stability system yang tidak
pernah ada sebelumnya di smartphone. Android dioptimalkan untuk low-power, low-
memory dengan cara yang tidak ada pada platform lainnya.
63
High-quality grapik dan suara. Halus, anti-aliased grafis vektor 2D dan animasi
terinspirasi oleh Flash yang menyatu dengan grafis 3D OpenGL yang dipercepat untuk
memungkinkan jenis permainan baru dan aplikasi bisnis. Codec untuk audio standar
industri yang paling umum dan format video yang dibangun, termasuk H. 264 (AVC),
MP3, dan AAC.
Portabilitas di berbagai hardware saat ini dan masa depan. Semua program tim
pengembang ditulis di Java dan dieksekusi oleh mesin Android virtual Dalvik, sehingga
kode mereka akan menjadi portabel di ARM, x86, dan arsitektur lain. Dukungan untuk
berbagai metode input termasuk seperti keyboard, touch, dan trackball. User interface
dapat disesuaikan untuk setiap resolusi layar dan orientasi.
2.20 Enkripsi
Enkripsi adalah sebuah mekanisme yang melindungi informasi berharga, seperti
dokumen, gambar, atau transaksi online, dari orang-orang yang tidak diinginkan sehingga dapat
mengakses atau mengubahnya. Enkripsi bekerja dengan menggunakan rumus matematika yang
disebut cipher dan key untuk mengkonversi sebuah data (teks biasa) ke dalam bentuk yang lain
dan sulit dipahami (ciphertext). Cipher adalah resep umum untuk enkripsi, dan key Anda
membuat data dienkripsi Anda yang unik. Hanya orang dengan kunci unik dan cipher yang sama
dapat menguraikan atau dekripsikan. Key biasanya terbentuk dari urutan angka yang dan
dilindungi oleh mekanisme otentikasi yang umum, seperti password, token, atau biometrik
(seperti sidik jari) (Kerby, 2011).
Salah satu cara yang umum digunakan adalah dengan membuat password yang ada
menjadi kumpulan karakter yang tidak beraturan atau pada umumnya. Dalam kasus telemedicine,
penyusun menggunakan SHA1 sebagai metode sekuritas terhadap password pengguna. SHA1
64
merupakan sebuah algoritma yang lebih spesifik dari Secure Hash Algorithm, dimana dapat
digunakan untuk menghasilkan representasi dari sebuah pesan yang disebut dengan message
digest atau pesan yang telah diolah. SHA1 diperlukan untuk digunakan bersama dengan Digital
Signature Algorithm (DSA) yang telah dispesifikasi dari Digital Signature Standard (DSS) dan
kapanpun sebuah Secure Hash Algorithm diperlukan. Kedua pemancar dan penerima yang dituju
dari sebuah pesan melakukan perhitungan dan verifikasi signal digital yang ada dalam pesan
tersebut menggunakan SHA1 (Vocal Technology, Ltd, 2012).
Untuk memperjelas penjelasan dari paragraf sebelumnya berikut adalah Block Diagram
dari SHA1 :
Gambar 2.8 SHA1 Block Diagram, , (Cast, Inc., 2007)
Performa yang tinggi dari SHA1, (Cast, Inc., 2007) cocok untuk berbagai macam jenis
aplikasi, seperti:
E-commerce
Data integrity
Bulk Encryption
High speed networking equipment
65
Secure wireless applications
SHA1 dapat dikatakan memiliki performa yang tinggi berdasarkan fitur-fitur yang
ditawarkan dari algoritma tersebut, (Vocal Technology, Ltd., 2003), antara lain:
SHA1 biasa digunakan untuk kalkulasi sebuah message digest untuk sebuah pesan atau
data dalam bentuk file yang disediakan sebagai input.
Pesan atau data dalam bentuk file harus dalam bentuk bit string.
Panjang dari pesan merupakan jumlah dari bit yang ada di pesan tersebut (pesan yang
kosong memiliki panjang 0).
Jika jumlah dari bit yang ada dalam sebuah pesan adalah kelipatan 8, untuk efektifitas
dan efisiensi dapat direpresentasikan sebagai hexadecimal.
Tujuan dari message padding adalah untuk membuat panjang total dari pesan yang telah
dibentuk dalam blok kelipatan dari 512.
SHA1 secara sequence melakukan proses terhadap blok-blok yang ada dalam kelipatan
512 bit ketika kalkulasi message digest.
Sebagai kesimpulan, sebuah “1” yang diikuti oleh m “0” diikuti oleh sebuah 64-bit inte-
ger ditambahkan di akhir pesan untuk menghasilkan pesan yang telah dibentuk dalam
blok dengan panjang 512 * n.
Pesan yang telah dibentuk dalam blok akan diproses oleh SHA1 sebagai blok n 512-bit.
2.21 Competitive Matrix Analysis
Salah satu alat terbaik yang dapat digunakan untuk mengetahui peluang baru dalam
persaingan adalah competitive matrix analysis. Dengan menggunakan competitive matrix
analysis akan membantu untuk menemukan peluang berinovasi dalam produk baru atau
66
peningkatan produk baru, jasa, dan strategi pemasaran. Competitivev matrix analysis ini
digunakan untuk membandingkan kelebihan dan kekurangan dari produk satu dengan produk
lainnya. Competitive matrix analysis ini merupakan alat analisis yang dapat membantu untuk
membuat keunggulan atau kelebihan dari suatu produk yang mudah dibaca dan dimengerti
(Alter).
Gambar 2.9 Competitive Matrix Analysis