21
7 BAB 2 TINJAUAN PUSTAKA 2.1. Aplikasi Mobile Menurut (Lim, 2015)Selama lima tahun terakhir, perangkat mobile, seperti smartphone, dan tablet telah jauh lebih populer daripada perangkat desk-based tradisional seperti komputer pribadi dan laptop. Sejak iOS telah dirilis pada iPhone pada 2007, dan Android telah dirilis pada berbagai smartphone dan tablet pada tahun 2008, Sistem Operasi paling populer yang berjalan pada perangkat komputasi telah menjadi sistem operasi mobile. Dengan demikian, semakin banyak aplikasi yang berjalan pada Sistem Operasi mobile daripada Sistem Operasi desktop. Perkembangan aplikasi berbasis sistem operasi mobile telah menjadi populer. Program aplikasi yang berjalan pada smartphone dan tablet disebut aplikasi mobile. Aplikasi mobile biasanya dikembangkan dan dioperasikan sesuai dengan Sistem Operasi mereka, dan biasanya tersedia dari aplikasi distribusi platform, seperti Google Play, Apple App Store. Popularitas aplikasi mobile terus meningkat, dimana penggunaan mereka telah menjadi semakin lazim diantara pengguna ponsel. Sebuah studi comScore Mei 2012 melaporkan bahwa selama kuartal sebelumnya, lebih banyak pelanggan selular yang menggunakan aplikasi daripada melakukan web browsing pada perangkat mereka: masing-masing 51,2% vs 48,8%. Berbeda dengan pengembangan aplikasi desktop, pengembang aplikasi mobile harus mempertimbangkan kendala perangkat mobile, seperti berbagai ukuran layar dan spesifikasi perangkat keras, karena persaingan yang ketat pada sistem mobile dalam setiap platform mobile. Ada dua faktor kunci dalam mengembangkan aplikasi mobile; satu adalah desain user interface, dan yang lainnya adalah pemanfaatan efisien dari kemampuan perangkat seperti berbagai sensor, kamera, dan antarmuka jaringan. Mobile desain user interface (UI Desain) adalah salah satu proses penting di antara isu-isu pembangunan. Pengguna mobile menganggap kendala dan konteks, layar, masukan dan mobilitas sebagai garis besar untuk desain, dan berinteraksi dengan perangkat mereka dengan komponen UI dan beberapa tindakan. Dengan demikian, tujuan

BAB 2 TINJAUAN PUSTAKA 2.1. Aplikasi Mobile · Hal ini didasarkan pada Linux ... atau untukberbagi data mereka ... Tingkat ini terdiri dari sistem file, manajemen memori, keamanan

  • Upload
    lecong

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

7

BAB 2

TINJAUAN PUSTAKA

2.1. Aplikasi Mobile

Menurut (Lim, 2015)Selama lima tahun terakhir, perangkat mobile, seperti

smartphone, dan tablet telah jauh lebih populer daripada perangkat desk-based

tradisional seperti komputer pribadi dan laptop. Sejak iOS telah dirilis pada

iPhone pada 2007, dan Android telah dirilis pada berbagai smartphone dan tablet

pada tahun 2008, Sistem Operasi paling populer yang berjalan pada perangkat

komputasi telah menjadi sistem operasi mobile. Dengan demikian, semakin

banyak aplikasi yang berjalan pada Sistem Operasi mobile daripada Sistem

Operasi desktop.

Perkembangan aplikasi berbasis sistem operasi mobile telah menjadi populer.

Program aplikasi yang berjalan pada smartphone dan tablet disebut aplikasi

mobile. Aplikasi mobile biasanya dikembangkan dan dioperasikan sesuai dengan

Sistem Operasi mereka, dan biasanya tersedia dari aplikasi distribusi platform,

seperti Google Play, Apple App Store. Popularitas aplikasi mobile terus

meningkat, dimana penggunaan mereka telah menjadi semakin lazim diantara

pengguna ponsel. Sebuah studi comScore Mei 2012 melaporkan bahwa selama

kuartal sebelumnya, lebih banyak pelanggan selular yang menggunakan aplikasi

daripada melakukan web browsing pada perangkat mereka: masing-masing

51,2% vs 48,8%.

Berbeda dengan pengembangan aplikasi desktop, pengembang aplikasi mobile

harus mempertimbangkan kendala perangkat mobile, seperti berbagai ukuran

layar dan spesifikasi perangkat keras, karena persaingan yang ketat pada sistem

mobile dalam setiap platform mobile. Ada dua faktor kunci dalam

mengembangkan aplikasi mobile; satu adalah desain user interface, dan yang

lainnya adalah pemanfaatan efisien dari kemampuan perangkat seperti berbagai

sensor, kamera, dan antarmuka jaringan. Mobile desain user interface (UI

Desain) adalah salah satu proses penting di antara isu-isu pembangunan.

Pengguna mobile menganggap kendala dan konteks, layar, masukan dan

mobilitas sebagai garis besar untuk desain, dan berinteraksi dengan perangkat

mereka dengan komponen UI dan beberapa tindakan. Dengan demikian, tujuan

8

dari desain UI mobile terutama untuk desain antarmuka dimengerti dan user-

friendly.

2.2. Android

Menurut (Jackson, 2011), Android awalnya diciptakan oleh Andy Rubin sebagai

sistem operasi untuk ponsel telepon, sekitar awal abad kedua puluh satu ini.

Pada tahun 2005, Google mengakuisisi Android Inc., dan membuat Andy Rubin

menjadi Direktur Mobile Platform untuk Google. Banyak yang berpikir akuisisi

sebagian besar dalam menanggapi munculnya Apple iPhone saat itu; Namun,

ada pemain cukup besar lainnya, seperti Nokia Symbian dan Microsoft Windows

Mobile, yang sepertinya menjadi keputusan bisnis penting bagi Google untuk

membeli bakat dan kekayaan intelektual yang diperlukan untuk menegaskan

perusahaan menjadi ruang yang muncul ini, yang telah menjadi dikenal sebagai

Internet 2.0. Internet 2.0 memungkinkan pengguna elektronik untuk mengakses

konten melalui jaringan data bervariasi secara luas melalui perangkat elektronik

konsumen yang sangat portabel, seperti smartphone, tablet touchscreen, dan e-

book, dan bahkan melalui perangkat yang tidak begitu portabel, seperti ITV,

pusat-pusat media di rumah. Hal ini menempatkan citra konten media baru

seperti game, animasi 3D, video digital, audio digital, dan high-definition ke

dalam setiap kesempatan di kehidupan kita. Android adalah salah satu media

yang seniman digital akan manfaatkan untuk mengembangkan kreasi yang

belum pernah dirasakan pengguna. Android memiliki kekuatan sistem operasi

komputer full-blown. Hal ini didasarkan pada Linux platformopen source dan

Oracle (sebelumnya Sun Microsystems) Java, salah satu bahasa pemrograman

yang paling populer di dunia. Hal ini tidak biasa untuk produk Android memiliki

prosesor 1GHz dan memori 1GB DDR2 yang cepat dan sekelas komputer. Ini

saingan komputer desktop hanya beberapa tahun yang lalu dan netbook yang

masih tersedia saat ini. Konvergensi lebih lanjut dari sistem operasi genggam

dan sistem operasi desktop akan terlihat seiring waktu. Beberapa contoh adalah

platform mobile Windows Mobile 7 dan iPhone 4. Setelah menjadi jelas bahwa

Android dan open source yang kekuatannya harus diperhitungkan, sejumlah

perusahaan besar termasuk HTC, Samsung, LG Electronics, dan Tmobile

bergabung dengan Open Handset Alliance (OHA). Hal ini dilakukan dalam

rangka untuk menempatkan beberapa momentum di belakang sumber terbuka

Android Google Platform, dan itu bekerja. Hari ini, produsen bermerek lebih

9

menggunakan Android sebagai sistem operasi pada perangkat elektronik

konsumen mereka daripada sistem operasi lain. Pengembangan OHA ini adalah

manfaat utama untuk pengembang Android. Android memungkinkan

pengembang untuk menciptakan aplikasi mereka dalam lingkungan tunggal, dan

dukungan oleh OHA memungkinkan pengembang menyampaikan konten

mereka di puluhan produk produsen bermerek utama dunia, serta di beberapa

jenis perangkat elektronik:smartphone, iTV, pembaca e-book, pusat-pusat media

di rumah, dantablet touchscreen. Jadi, Android adalah sistem operasi yang telah

menjadi salah satu pemain terbesar dalam komputasi hari ini, dan dengan

Google di belakangnya. Android menggunakan teknologi open source seperti

Linux dan Java, dan standar seperti XML, untuk menyediakan konten dan

platform pengiriman aplikasi untuk pengembang serta produsen elektronik

konsumen terbesar di dunia.

Ada begitu banyak manfaat dari platform Android. Pertama-tama, Android

didasarkan pada teknologi open source, yang pada awalnya tidak sesempurna

seperti teknologi berbayar dari Apple dan Microsoft. Namun, selama dua dekade

terakhir, teknologi perangkat lunak open source telah menjadi sama canggih

seperti teknologi pembangunan konvensional. Hal ini terbukti di Internet 2.0,

sebagai mayoritas produsen elektronik konsumen telah memilih Linux dan Java

di atas sistem operasi Windows dan Macintosh. Oleh karena itu, pengembang

Android dapat mengembangkan tidak hanya untuk smartphone, tetapi juga untuk

perangkat elektronik konsumen baru dan muncul yang jaringan yang kompatibel

dan dengan demikian tersedia untuk terhubung ke Android Market. Hal ini

berarti lebih banyak penjualan ke perangkat lainnya di daerah yang lebih banyak

pelanggan, dan dengan demikian semakin gencar mengembangkan untuk

Android di atas sistem operasi tertutup dan PC. Selain menjadi gratis untuk

penggunaan komersial, Android memiliki salah satu perusahaan yang terbesar,

terkaya, dan paling inovatif di komputasi zaman modern di belakangnya, yaitu

Google. Tambahkan di OHA, dan ada lebih dari satu triliun dolar dari

perusahaan megabrand yang mendukung upaya pengembangan Android.

Akhirnya, dan yang paling penting, jauh lebih mudah untuk mendapatkan

aplikasi Android dirilis daripada platform lain yang mirip dengan Android. Kita

semua pernah mendengar cerita-cerita horor tentang perusahaan pengembangan

yang menunggu berbulan-bulan atau bahkan bertahun-tahun, untuk aplikasi

10

mereka diterima di pasar aplikasi (app marketplace). Masalah-masalah ini

hampir tidak ada di open sourceplatform Android. Penerbitan aplikasi di

Android Market semudah membayar $25, meng-upload file yang APK, lalu

menentukan download gratis atau berbayar.

Menurut (Holla & Katti, 2012)Android adalah sistem operasi mobile baru, next-

gen yang berjalan pada Kernel Linux. Pengembangan Aplikasi Mobile Android

ini didasarkan pada bahasa Java, karena memungkinkan pengembang untuk

menulis kode dalam bahasa Java. Kode ini dapat mengontrol perangkat mobile

melalui library Java Google. Ini adalah platform penting untuk mengembangkan

aplikasi mobile menggunakan tumpukan perangkat lunak yang disediakan di

Android SDK Google. OS mobile Android menyediakan lingkungan yang

fleksibel untuk Pengembangan Aplikasi Mobile Android sebagai pengembang

tidak hanya dapat menggunakan Android Java library tetapi juga memungkinkan

untuk menggunakan IDE Java normal. Para pengembang perangkat lunak di

Mobile Development India memiliki keahlian dalam mengembangkan aplikasi

berbasis Android Java library dan alat-alat penting lainnya. Pengembangan

Aplikasi Mobile Android dapat digunakan untuk membuat aplikasi pihak ketiga

yang inovatif dan dinamis. Ponsel Development India telah bekerja secara luas

pada proyek-proyek mulai dari software game, penyelenggara, media player,

editor gambar untuk peralatan go-cart dan banyak lagi.Platform ini secara resmi

diumumkan dan alat SDK yang tersedia pada bulan Oktober 2008. Platform

Android ini terbagi ke dalam empat fitur inti seperti yang ditunjukkan pada

Gambar 2.1:

Gambar 2.1.Empat fitur inti dari platform android

11

Dasar Aplikasi

Aplikasi Android ditulis dalam pemrograman bahasa Java. Namun, penting

untuk diingat bahwa mereka tidak dieksekusi menggunakan standar Java Virtual

Machine (JVM). Sebaliknya, Google telah menciptakan kustom VM disebut

Dalvik yang bertanggung jawab untuk mengubah dan mengeksekusi kode byte

Java. Semua kelas Java kustom harus dikonversi (ini dilakukan secara otomatis

tetapi juga dapat dilakukan secara manual) dalam instruksi kompatibel Dalvik

ditetapkan sebelum dieksekusi dalam sistem operasi Android. Dalvik VM

mengambil file yang dihasilkan kelas Java dan menggabungkan mereka ke

dalam satu atau lebih Dalvik executable (Dex) file. Ini menggunakan kembali

duplikat informasi dari beberapa file kelas, efektif mengurangi kebutuhan

ruang(Tidak terkompresi) setengah dari file .jar tradisional. Dalvik diciptakan

untuk mendukung sifat sistem operasi seluler ringan membutuhkan karena

kemampuan perangkat keras terbatas dibandingkan dengan desktop

konvensional atau laptop.

Gambaran Platform Android

Android adalah software stack untuk perangkat mobile yang mencakup sistem

operasi, middleware dan aplikasi kunci. Android SDK menyediakan alat dan

API yang diperlukan untuk mulai mengembangkan aplikasi pada platform

Android menggunakan bahasa pemrograman Java. Android berbasis Linux versi

2.6. Sistem layanan seperti keamanan, manajemen memori, manajemen proses

dikendalikan oleh Linux. Gambar 2.2 menunjukkan arsitektur android.

12

Gambar 2.2 Arsitektur android

Mengembangkan Aplikasi Android

Android SDK menyediakan serangkaian Application Programming Interface

(API) yang bersifat modern dan kuat. Layanan sistem inti handset Android yang

terekspos dan dapat diakses oleh semua aplikasi. Ketika diberikan izin yang

sesuai, aplikasi Android dapat berbagi data satu sama lain dan berbagi akses

sumber daya pada sistem secara aman.

Kerangka Aplikasi

Dengan menyediakan sebuah platform pengembangan terbuka,

Androidmenawarkan pengembang kemampuan untuk membangun aplikasi yang

sangat kaya dan inovatif. Pengembang bebas untuk mengambil keuntungan dari

13

perangkat keras,akses informasi lokasi, layanan background yang berjalan, set

alarm, menambahkan pemberitahuan ke status bar, dan masih banyak

lagi.Pengembang memiliki akses penuh ke kerangka API yang sama digunakan

oleh aplikasi inti. Arsitektur aplikasi dirancang untuk menyederhanakan

penggunaan kembali komponen; aplikasi apapun dapat mempublikasikan

kemampuan dan aplikasi lainnya kemudian dapat menggunakan kemampuan

mereka (tunduk pada batasan keamanan yang diberlakukan oleh framework).

Mekanisme yang sama memungkinkan komponen untuk diganti oleh pengguna.

Mendasari semua aplikasi adalah seperangkat layanan dan sistem, termasuk:

1. Satu set dari View yang kaya dan extensible dan dapat digunakan untuk

membangun sebuah aplikasi, termasuk daftar, grids, kotak teks,

tombol, dan bahkan sebuah browser web embeddable

2. Penyedia Konten yang memungkinkan aplikasi untuk mengakses

data dari aplikasi lain (seperti Kontak), atau untukberbagi data mereka

sendiri

3. Resource Manager, yang menyediakan akses ke non-kodesumber daya

seperti string lokal, grafis, dan file layout

4. Notification Manager yang memungkinkan semua aplikasiuntuk

menampilkan peringatan kebiasaan di status bar

5. Activity Manager yang mengelola siklus hidupaplikasi dan menyediakan

navigasi umum backstack.

Android Runtime

Android memuat satu set inti library yang menyediakan sebagian besar fungsi

yang tersedia di library inti dari bahasa pemrograman Java. Setiap aplikasi

Android berjalan pada prosesnya sendiri, dengan contoh dari mesin virtual

Dalvik itu sendiri. Dalvik telah ditulis sehingga perangkat dapat menjalankan

beberapa VM secara efisien. Dalvik VM mengeksekusi file dalam Dalvik

executable (Dex) Format yang dioptimalkan untuk meminimalkan jejak memori.

VM adalah register-based, dan run class yang dikompilasi oleh compiler bahasa

Java dan telah diubah menjadi format Dex dengan alat "dx". Dalvik VM

bergantung pada kernel Linux untuk fungsionalitas dasar seperti threading dan

manajemen memori tingkat rendah.

Android Studio

14

Menurut (Android Developers, n.d.)AndroidStudioadalahIDEresmi

untukpengembangan aplikasiAndroid, berdasarkanIntelliJ IDEA.

AndroidStudiomenawarkan:

1. Flexible Gradle-based build system

2. Build variants dan multiple apk file generation

3. Code templates untuk build fitur aplikasi pada umumnya

4. Rich layout editor dengan dukungan drag and drop theme editing

5. Lint tools untuk menangkapkinerja, kegunaan, versikompatibilitas, dan

masalahlainnya

6. ProGuard dan app-signing capabilities

7. Built-in support untuk Google Cloud Platform, sehingga mudahuntuk

mengintegrasikanGoogle Cloud Messaging and App Engine

2.3. iOS

Menurut (Epifani, 2015) iOS pada awalnya dikenal sebagai iPhone OS hingga

versi 3, itu dikembangkan oleh Apple khusus untuk iPhone, iPad, dan iPod

touch. Hal ini diresmikan untuk pertama waktu bulan Januari 2007 dan

diperkenalkan dengan model pertama dari iPhone pada bulan Juni tahun yang

sama.iOS adalah sistem operasi, didasarkan pada nenek moyang Mac OS X yang

lebih tua, derivatif BSD Unix dengan kernel Mach XNU berdasarkan Darwin

OS. Menggunakan empat tingkat abstraksi:

1. Inti OS: Tingkat ini terdiri dari sistem file, manajemen memori,

keamanan,manajemen daya, TCP / IP, soket, dan enkripsi.

2. Layanan Inti: Tingkat ini terdiri dari jaringan, SQLite, geolocation,dan

thread

3. Media: Tingkat ini terdiri dari OpenAL, audio, gambar, video, dan OpenGL

4. Cocoa Touch: Tingkat ini terdiri dari animasi inti, multitasking, dangesture

recognizer

Layar utama, yang dikenal sebagai SpringBoard, dibagi menjadi tiga bagian:

1. Bagian atas bar yang menampilkan sinyal telepon, setiap sambungan aktif

3G / Wi-Fi / Bluetooth, dan status baterai

2. Bagian tengah yang berisi ikon aplikasi di perangkat

3. Bar di bagian bawah yang berisi aplikasi yang paling sering digunakan

iPhone: Telepon, Mail, Safari, Musik

iPad / iPod touch: Pesan, Mail, Safari, Musik

15

Gambaran arsitektur iOS dapat dilihat pada Gambar 2.3

Gambar 2.3Arsitektur iOS

Aplikasi untuk iOS itu sendiri dapat dibuat dengan Bahasa Objective-C ataupun

Swift. Menurut (García, Espada, G-Bustelo, & Lovelle,

2015)Swiftadalahbahasa pemrogramanbaru yang diciptakan olehApple danitu

disajikankepada publikpada9 September

2014tetapipengembangdapatmenggunakannyasejak 6 Juni2014.Hal ini

memungkinkanuntuk mengembangkan aplikasiuntuk versibarudarisistem

operasiApple: iOSdanOSX . NiatAppleadalah untuk menawarkanbahasa

pemrograman baruyang lebih mudah, sederhana, lebih fleksibel, dan lebih cepat

dibandingkanObjective-Cuntuk memfasilitasi pengembanganaplikasiuntuk

platformApple.Swift diluncurkan untuk menawarkan alternatif untuk Objective-

C karena ini memiliki sintaks yang hampir tidak berubah dari awal dibuat dan

memiliki perbedaan besar dengan bahasa pemrograman lain yang telah muncul

pada tahun-tahun terakhir, karena initelah didasarkan pada sintaks C ++. Untuk

itu, Swift terinspirasi dari bahasa pemrograman baru seperti C++11, C #, F #,

Go, Haskell, Java, JavaScript, Python, Ruby, atau Scala. Maka sintaks nya

benar-benar berbeda dari pendahulunya. Sintaks Swift lebih disederhanakan

karena tidak menggunakan pointer dan termasuk perbaikan dalam struktur data

16

dan sintaks. Seperti yang akan kita lihat, Swift memiliki sintaks yang lebih

mudah yang membantu pengembang untuk mengurangi kesalahan dan

menggabungkan fungsionalitas baru danparadigma pemrograman baru.

Terutama, Swift adalah bahasa pemrograman object-oriented dan

imperatifseperti Objective-C tapi Swift menggabungkan pemrograman

fungsional. Swift telah memiliki versi yang berbeda dengan perubahan sintaks

dan fungsi sejak versi pertama untuk pengembang muncul di 6 Juni 2014. Versi

publik pertama, Swift 1.0 GM, disajikan pada6 Juni 2014. Itu adalah

versiGolden Master(GM) karena Apple mengumumkan bahwa mereka akan

terus menambahkan perubahan dan perbaikan dalam bahasa pemrograman. Swift

1.0 GM disajikan dengan banyak perubahan sintaks, native library danjenis nilai

dari beberapa fungsi, variabel menggunakan jenis baru "optional" dan sintaks

dari beberapa kata dicadangkan seperti array, kamus dan operator kisaran

terbuka.Swift 1.1, versi kedua, muncul pada 22 Oktober, 2014. Pembaruan ini

menambahkan "kegagalan initializer", mengubah beberapa "protokol" dan

beberapa fungsi internal Swift. Swift 1.2 muncul pada tanggal 8 April 2015

dengan Xcode versi 6.3. Ini memperkenalkan perbaikan yang berbeda dalam

compiler, kompilator mulai membuat incremental build dan kecepatan kompilasi

yang lebih baik.Kondisi saat ini sudah menggunakan swift 2 dan XCode 7.0

dimana pada swift 2 terdapat error handling.

Menurut (Apple, 2015)Penanganan kesalahan (error handling)adalah

prosesmerespondanpulih darikondisi kesalahandalam suatu program.

Swiftmemberikandukungankelas satuuntukmelempar, menangkap,

menyebarkan, danmemanipulasikesalahan yang dapatdipulihkanpada saat

runtime.Beberapa operasitidak dijamin untukselalu dieksekusisecara penuh

ataumenghasilkan outputyang berguna. Optionaldigunakan untuk

mewakiliketiadaannilai, tetapi ketikaoperasigagal, hal ini sering bergunauntuk

memahamiapa yang menyebabkankesalahan, sehinggakode yang telah

dibuatdapat merespondengan benar.

Sebagaicontoh, mempertimbangkantugasmembacadan pengolahandata

darisebuah filepada disk. Adabeberapa kemungkinan dimanatugas inibisa gagal,

termasukfiletidakadadijalur yang ditetapkan, file tidakmemilikiizinmembaca,

ataufiletidak sedangdikodekandalam formatyang kompatibel.

Membedakanantara inisituasi yang berbedamemungkinkanprogram

17

untukmengatasibeberapa kesalahandanuntuk berkomunikasi

denganpenggunadimana ada kesalahanyang tidak dapat diselesaikan.

2.4. Website

Menurut (Aghaei, Nematbakhsh, & Hadi , 2012)World WideWeb(umumnya

dikenal sebagai web) tidak identik denganinternet tetapiadalah bagianyang

paling menonjoldariinternet yangdapat didefinisikansebagai sistemtechno-sosial

untuk berinteraksi denganmanusiaberdasarkanjaringanteknologi.

Gagasansistemtechno-sosial mengacu pada sistemyang meningkatkankognisi

manusia, komunikasi, dankerjasama; Kognisiadalahprasyaratyang

diperlukanuntuk berkomunikasi danprasyaratuntuk bekerja sama. Dengan kata

lain,kerjasamamembutuhkankomunikasi dankomunikasiperlukognisi.

Menurut (Mathur & Mathur, 2015)Sebuah aplikasihybridadalah salah satu

aplikasi yangdibuat denganteknologi yang samayang digunakanuntukwebsite

danimplementasimobile web, danyang di-hostatauberjalandi dalamnative

containerpada perangkat mobile. Seperti yang dikatakan,

aplikasihybridadalahkombinasiaplikasi nativedanweb, perusahaanmembangun

aplikasihybridsebagaipenutupdarihalaman web yang ada, dengan cara

iniperusahaan menggunakanhalamanwebmereka danmembuataplikasihybrid

denganupayakecil, tanpa memberikanbanyak usahayangdiberikan dalamaplikasi

nativedan karenanyaappmendapatkanpreferensidiapp store, tanpa

menghabiskanupaya yang signifikanuntukmengembangkan aplikasiyang

berbeda.

Menurut (Neugschwandtner, Lindorfer, & Platzer, 2013)Dengan munculnya

Web 2.0 dan teknologinya, web bergeser dari konten statis menjadi konten

dinamis, memungkinkan munculnya jaringan sosial dan memuncak dalam

keadaan saat ini aplikasi web yang berusaha untuk menyaingi aplikasi desktop

yang begitu berkembang. Sejalan dengan perkembangan ini, sektor lain kurang

bertumbuh : smartphone dan saudara perangkat mobile mereka, yaitu, tablet.

Disertai dengan tren ini maka nyata bahwa adanya pergeseran konsumsi konten

web dari komputer desktop ke perangkat mobile.

Pada perangkat mobile, pengguna akhir mengharapkan fungsi untuk

disampaikan sebagai aplikasi mandiri. Dalam rangka untuk membuat hidup lebih

mudah untuk pengembang, semua platform ponsel besar, seperti Android, iOS,

Windows Phone dan Blackberry memperkenalkan WebView. Pada dasarnya

18

WebView browser-library yang memungkinkan pengembang untuk

menyampaikan konten web, atau bahkan aplikasi web secara keseluruhan

sebagai bagian dari aplikasi klien smartphone mereka. Hal ini diarahkan

kemudahan penggunaan: mengambil dan menampilkan konten web adalah

masalah metode tunggal. Menggunakan WebView, para pengembang tidak perlu

menerapkan kembali dan memelihara aplikasi web mereka untuk setiap platform

tunggal. Selain itu, update didistribusikan seketika dan tanpa memerlukan

interaksi pengguna.

Pengembang hanya perlu mengubah konten yang disampaikan oleh server web.

Sementara solusi berbasis browser murni akan memiliki manfaat yang sama,

keuntungan utama dari memilih WebView adalah integrasi efisien fungsi

perangkat. Dengan membuat penyimpanan persisten, akses ke layanan pesan

singkat danfungsi lain yang tersedia untuk aplikasi web, aplikasi yang dihasilkan

keduanya akan fleksibel seperti aplikasi web dan kuat seperti aplikasi native.

Menurut (Android Developers, n.d.)Kelas WebView merupakan perpanjangan

dari kelas Android View yang memungkinkan untuk menampilkan halaman web

sebagai bagian dari tata letak activity. Ini tidak termasuk fitur web browser

sepenuhnya, seperti kontrol navigasi atau address bar. Semua WebView, secara

defaultakan menunjukkan halaman web.Sebuah skenario umum di mana

menggunakan WebView untuk membantu adalah ketika ingin memberikan

informasi dalam aplikasidimanamungkin informasi tersebut perlu diperbarui,

seperti end user agreement atau buku petunjuk user. Dalam aplikasi Android,

Dapat dibuat sebuah Activity yang berisi WebView, kemudian menggunakannya

untuk menampilkan dokumen yang dihost secara online.Skenario lain di mana

WebView dapat membantu adalah jika aplikasi memberikan data ke pengguna

yang selalu membutuhkan koneksi internet untuk mengambil data, seperti email.

Dalam hal ini, lebih mudah untuk membangun WebView dalam aplikasi

Android yang menunjukkan sebuah halaman web dengan semua data pengguna,

dibandingkan melakukan permintaan jaringan, kemudian parsing data dan

rendering dalam tata letak Android. Sebaliknya, pengembang dapat merancang

sebuah halaman web yang disesuaikan untuk perangkat Android dan kemudian

menerapkan WebView dalam aplikasi Android yang memuat halaman web.

Menurut (Apple, 2015)KelasUIWebViewuntuk menanamkankontenwebdi app.

Untuk melakukannya, membuat objekUIWebView, pasangkan kewindow, dan

19

mengirimkannyapermintaanuntuk memuatkontenweb. Pengembang juga dapat

menggunakankelas iniuntuk bergerakkembali dan majudalam sejarahhalaman

Web, bahkan dapat mengaturbeberapa propertikontenweb.

2.5. Database

Menurut (Lee, 2012)Database adalah kumpulan elemen data berurutan yang

dimaksudkan untuk memenuhi kebutuhan informasi dari suatu organisasi dan

dirancang untuk digunakan bersama oleh beberapa pengguna. Sistem basis data

mengurangi redundansi data, mengintegrasikan data perusahaan, dan

memungkinkan berbagi informasi antara berbagai kelompok dalam organisasi.

Ini adalah istilah yang biasanya digunakan untuk merangkum konstruksi dari

model data, sistem manajemen basis data (DBMS) dan basis data.Database

merupakankumpulan data terorganisir yang secara logis terkait. Data disimpan

dalam struktur data pada database. Sebuah DBMS adalah perangkat lunak

komputer yang menyediakan antarmuka antara pengguna dan database. Sebuah

DBMS adalah shell yang mengelilingi database atau serangkaian database

melalui semua interaksi yang berlangsung dengan database. Interaksi yang

dipenuhi oleh sebagian besar DBMS dibagi ke dalam empat kelompok utama,

yaitu:

1. Data Definition. Mendefinisikan struktur data baru untuk database,

menghapus struktur data dari database, memodifikasi struktur data yang ada.

2. Pemeliharaan Data. Memasukkan data baru ke dalam struktur data yang ada,

memperbarui data dalam struktur data yang ada, menghapus data dari struktur

data yang ada.

3. Pengambilan data. Query data yang ada dengan pengguna akhir dan

penggalian data untuk digunakan oleh program aplikasi.

4. Data Control. Membuat dan memonitor pengguna database, membatasi akses

ke data dalam database dan pemantauan kinerja database.

Baik Database maupun DBMS memenuhi prinsip-prinsip model data tertentu.

Model data termasuk model hirarkis data, model data jaringan, model data

relasional dan model data berorientasi objek

2.6. Web Service

Menurut (Gashti, 2012)Web Service / Layanan webdapat

menggunakanberbagaiprotokoldiinternet, salah satunya adalahHTTP.Layanan

webdapatmelakukan banyak hal. Misalnya, dalamsebuah program, mereka dapat

20

mengambiljudulberita terakhirdari layananwebAssociated Pressataumisalnya,

programkeuangandapatmengambil berita dandata saham terakhir melalui

layanan web. Yang dilakukan layanan web dapat sesederhanamengalikan dua

angka atau serumit melakukan semua urusan berlangganan dari sebuah

perusahaan.Layanan web memiliki property yang membuatnya berbeda dari

teknologi dan model komputer lainnya.Paul Flessner, wakil presiden Microsoft

telah menyebutkan beberapa karakteristik untuk layanan webdi dot NET

Enterprise Server. Karakteristik pertama adalah layanan web yang dapat

diprogram. Sebuah layanan web terusmenyimpan rahasia mengenai apa yang

dilakukannya. Ketika sebuah program memberikan data untuk itu, layanan web

akan memprosesnya dan akan mengembalikan data untuk program utama

sebagai respon. Kedua, layanan web terbuat dari XMLdan XML dibuat

berdasarkan SOAP atau Simple Object Access Protocolyang merupakan

teknologi untuk menyediakan layanan webagar dapat terhubung ke program lain

bahkan jika program-program tersebut ditulisdalambahasa yang berbeda dan

dijalankan di komputer yang berbeda. Selain itu, layanan web juga dapat

mendeskripsikan dirinya, yang berarti menjelaskan apa yang dapat dilakukan

dan kegunaan dari layanan web tersebut.

2.7. Design

Menurut Schneiderman dalam (Mazumder & Das, 2014) ada 8 aturan design,

yaitu :

1. Strive for Consistency: Semuatindakan sepertitata letak, terminologi,

penggunaanperintah, urutandansebagainyaharus menjagaurutankonsisten.

2. Cater to Universal Usability: Mengenali kebutuhan beragam pengguna

sehingga aplikasi dapat digunakan oleh berbagai macam user.

3. Offer Informative Feedback: Umpan baliksistemini sangat pentinguntuk

semua jenistindakan. Jadiuntuk semuatindakan pengguna, sistem

harusmemberikan umpan balikyang tepat

4. Design Dialog to Yield Closure: Setelah menyelesaikan suatu pekerjaan,

pengguna diberitahu bahwa pekerjaan tersebuttelah selesai.

5. Offer Simple Error Handling: Mencegah penggunauntuk membuat

kesalahandanmemberikan instruksiuntuk pulih darikesalahan.

21

6. Permit Easy Reversal of Actions: Pengguna akan tahu bahwa mereka

selalu dapat kembali ke tahap sebelumnya yang membantu mendorong

untuk eksplorasi

7. Support Internal Locus of Control: Design sistem sedemikian rupa

sehingga operator bertanggung jawab atas sistem dan sistem merespon

tindakan mereka

8. Reduce Short-Term Memory Load: Hal ini dimungkinkandengan

menggabungkan beberapatampilan halaman, menjagatampilan

tetapsederhana, memfasilitasiwaktu untuk belajarurutan tindakan

2.8. UML (Unified Modelling Language)

Menurut (Lee, 2012)Langkah pertamadalam

mengembangkanmetodologidesainberorientasi objekuntuk aplikasi

komputerserta untuksistem basis dataadalah penggunaanUML(Unified Modeling

Language) sebagainotasistandar untukpemodelanobjek. Desainer Sistem

perangkat lunakdiberikanbanyak pilihan untukmenyediakan objek yang handal,

fleksibel danefisienuntuk aplikasi komputerdan sistem basis data.

Merekabisamemilih antaraObject-Oriented, hybridObject-Relational,

relasionaldan solusi lain berdasarkanformat fileterbuka.UMLdianggapsebagai

bahasa pemodelanstandar untuk industridengannotasigrafisyang kaya,

danseperangkatdiagram danelemen. Hal ini digunakanuntuk menentukan,

memvisualisasikan, memodifikasi, membangun danmendokumentasikansistem

softwareberorientasi objekdalampengembangan.

2.8.1. Use Case Diagram

Fungsionalitas yang disediakanoleh sistembasis data

atauaplikasikomputerdapat diilustrasikan dengandiagramuse case. Tujuan

utamanyaadalah

untukmemvisualisasikanpersyaratanfungsionaldarisistem,

termasukhubungan"aktor" (manusia yang akanberinteraksi dengan

sistem) denganprosespenting, sertahubunganantara use case yang

berbeda. Iniadalah daftarlangkah, biasanyamendefinisikaninteraksi

antaraperan(dikenal dalamUMLsebagai"aktor") dansistem,untuk

mencapai suatu tujuan.

Menurut (Hoffmann & Lichter, 2010) Use Case narrative adalah

deskripsitekstualterstrukturdariuse case. Dalam use case narrative

22

setiaplangkah use casedijelaskan dalambahasa alamiyang tidak

dibatasi.Dalam model use case narrative setiap use case diwakili oleh

deskripsi narasi. Setiap deskripsi narasi terdiri dari satu set arus yang

menggambarkanperilaku penggunaan kasus ini dengan serangkaian

tindakan. Tindakan adalah perilaku yang ditulis dalam bahasa alami dan

setiap tindakan merupakan satu langkahyang dilakukan oleh seorang

aktor atau sistem itu sendiri.

2.8.2. Class Diagram

Strukturstatisaplikasikomputer ataulingkunganbasis dataditampilkan

dalamdiagramkelas. Hal ini juga menunjukkanbagaimanaentitas yang

berbeda(orang, benda, dan data) berhubungan satu sama lain. Hal ini

dapat digunakanuntuk menampilkankelaslogis,dan

implementasikelas.Class Diagramadalah blokbangunan

utamadaripemodelanberorientasi objek. Iniadalah jenisdiagram

strukturstatis dalamUMLyang menggambarkanstrukturdari suatu

sistemdengan menunjukkankelassistem, atribut mereka, operasi(atau

metode), dan hubungan di antarakelas-kelas

2.8.3. State Diagram

State diagramdigunakanuntuk memvisualisasikandanmemodelkanstate

yang berbedadimana suatu kelasdapat bertransisidari state yang satu ke

state lainnya. Ini menggambarkanaliran kontroldari satustate ke statelain.

Statedidefinisikansebagaikondisi di manasuatu objekada danituberubah

ketikabeberapa peristiwadipicu. Tujuannya adalahuntuk modelumurobjek

daripenciptaan sampaiterminasi. Ini memilikilimaelemen dasar: titik

awal, yangdiambilmenggunakanlingkaranpadat;transisiantara state-state,

yangdiambilmenggunakangarisdenganpanahterbuka; state,

yangdiambilmenggunakanpersegi panjangdengan sudut membulat;

titikkeputusan, yangditariksebagailingkaranterbuka; dansatu atau

lebihpointerminasi, yangdiambilmenggunakanlingkarandengan

lingkaranyang soliddi dalamnya.

2.8.4. Sequence Diagram

Sequence Diagram menunjukkanaliranrinciuntuk use case tertentuatau

bahkanhanya bagian dariuse case tertentu. Ini

menunjukkanpanggilanantaraobjek yang berbedasecara

23

berurutandandapatmenunjukkan, pada tingkat rinci, panggilanyang

berbeda untukobjek yang berbeda. Sequence Diagram memiliki dua

dimensi: Dimensivertikalmenunjukkan urutanpesan/panggilandalam

urutanwaktuyangterjadi,

sedangkandimensihorisontalmenunjukkaninstance objekdimanapesan

akan dikirim.

2.9.Incremental Software Development

Ada banyak situasi di mana persyaratan perangkat lunak pada awalnya

didefinisikan dengan baik, tetapi ruang lingkup keseluruhan upaya

pengembangan menghalangi proses murni linear. Selain itu, mungkin ada

kebutuhan mendesak untuk menyediakan satu set fungsi terbatas peranti lunak

untuk user secara cepat dan kemudian memperbaiki dan memperluas fungsi

software yang dirilis nantinya. Dalam kasus tersebut, dapat dipilih proses model

yang dirancang untuk menghasilkan perangkat lunak secara bertahap.

Model incremental menggabungkan elemen dari proses linear dan alur proses

paralel, dimana model incremental menerapkan urutan linear dalam mode

stagger sebagai kalender waktu berjalan. Setiap urutan linier menghasilkan

penyampaian "bertahap" dari perangkat lunak dengan cara yang mirip dengan

kenaikan yang dihasilkan oleh aliran proses evolusi. Sebagai contoh, perangkat

lunak pengolah kata yang dikembangkan menggunakan paradigma

incrementaldapat memberikan manajemen dasar file, mengedit, dan fungsi-

fungsi produksi dokumen dalam tahap increment pertama; kemampuan editing

dan produksi dokumenyang lebih canggih dalam increment kedua; ejaan dan

pemeriksaan tata bahasa di increment ketiga; dan halaman lanjutan tata letak

kemampuan dalam increment keempat. Perlu dicatat bahwa aliran proses untuk

increment apapun dapat digabungkan dengan paradigma prototyping. Untuk

lebih jelasnya dapat dilihat pada Gambar 2.4.

Ketika model incremental digunakan, increment pertama pada umumnya

merupakan inti produk. Artinya, persyaratan dasar ditangani tapi banyak fitur

tambahan (beberapa dikenal, yang lain tidak diketahui) belum dibuat. Inti

produk digunakan oleh customer (atau untukevaluasi rinci). Sebagai hasil dari

penggunaan dan / atau evaluasi, rencana dikembangkan

untukpeningkatan/increment selanjutnya. Rencananya membahas modifikasi

dari inti produk untuk lebih memenuhi kebutuhan pelanggan dan penambahan

24

fitur serta fungsionalitas. Proses ini diulang setelah pengiriman setiap kenaikan,

sampai produk lengkap diproduksi.

Proses model incremental berfokus pada penyampaian produk operasional

dengan increment/kenaikan masing-masing. Bertahap dari versi awal hingga

versi akhir, mereka memberikan kemampuan yang berfungsi bagi pengguna dan

juga menyediakan platform untuk evaluasi oleh pengguna.Pembangunan

incremental sangat berguna ketika staff tidak tersedia untuk implementasi

lengkap dengan tenggat waktu bisnis yang telah ditetapkan untuk proyek

tersebut. Kenaikan awal dapat diimplementasikan dengan lebih sedikit orang.

Jika inti produk diterima dengan baik, maka staff tambahan (jika diperlukan)

dapat ditambahkan untuk menerapkan kenaikan berikutnya. Selain itu, kenaikan

dapat direncanakan untuk mengelola risiko teknis. Contohnya, sistem utama

mungkin memerlukan ketersediaan hardware baru yang sedang dikembangkan

dan yang tanggal pengiriman tidak pasti. Ini mungkin untuk merencanakan

kenaikan awal dengan cara yang menghindari penggunaan perangkat ini,

sehingga memungkinkan fungsi parsial yang akan dikirimkan ke pengguna akhir

tanpa banyak penundaan.

Gambar 2.4Proses Model Incremental

25

2.10. Sekolah

Menurut Peraturan Pemerintah Republik Indonesia Nomor 17 Tahun 2010 Bab 1

Pasal 1 ayat 35,pendidikan bertaraf internasional adalah pendidikan yang

diselenggarakan setelah memenuhi Standar Nasional Pendidikan dan diperkaya

dengan standar pendidikan negara maju.

Menurut Peraturan Pemerintah Republik Indonesia Nomor 17 Tahun 2010 Bab 6

Pasal 120 ayat 1 Pengorganisasian pendidikan jarak jauh dapat diselenggarakan

dalam modus tunggal, ganda, atau konsorsium.

Menurut Peraturan Pemerintah Republik Indonesia Nomor 17 Tahun 2010 Bab 6

Pasal 120 ayat 3 Pengorganisasian modus ganda sebagaimana dimaksud pada

ayat (1) berbentuk satuan pendidikan yang menyelenggarakan program

pendidikan baik secara tatap muka maupun jarak jauh.

Menurut Penjelasan atas Peraturan Pemerintah Republik Indonesia Nomor 17

Tahun 2010 Bab 6 Pasal 120 ayat 3 Yang dimaksud dengan “pengorganisasian

modus ganda”adalah penyelenggaraan pendidikan jarak jauh bersamaandengan

pendidikan tatap muka pada berbagai jalur,jenjang, dan jenis pendidikan.

Pendidikan tatap mukatersebut terikat dengan jadwal waktu dan tempat

sepertiyang berlangsung pada lembaga pendidikan umumnya.

Menurut (Cambridge International Examinations, n.d.)ProgramCambridge

dankualifikasimemiliki reputasiterbuktiuntuk menjadipersiapan yang sangat

baikuntuk universitas, pekerjaan dan kehidupan. Mereka

menyediakanpatokaninternasional yang berhargadarikinerjapeserta

didik.KualifikasiCambridge International Examinations,

termasukCambridgeIGCSE, CambridgeOLevel,CambridgeInternationalASandA

Level, danCambridgePre-U diakuidandisambut olehuniversitas danpengusahadi

seluruh dunia.

PendekatanCambridgemendukungsekolahuntuk mengembangkanpeserta

didikyang:

1. Percaya diridalam bekerja denganinformasi danide-idemereka sendiridan

orang lain

2. Bertanggung jawabuntuk diri mereka sendiri, bertanggung jawabuntukdan

menghormati orang lain

3. Reflektifsebagaipeserta didik, mengembangkankemampuan mereka untuk

belajar

26

4. Inovatif dandilengkapiuntuk tantangan barudan masa depan

5. Terlibatsecara intelektualdansosial, siap untukmembuat perbedaan

27