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 7 8 dari desain UI mobile terutama untuk desain antarmuka dimengerti dan userfriendly. 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 ebook, 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, nextgen 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 untukpengembangan Developers, n.d.)AndroidStudioadalahIDEresmi 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 2014tetapipengembangdapatmenggunakannyasejak memungkinkanuntuk mengembangkan September 6 aplikasiuntuk Juni2014.Hal ini 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 ObjectiveC 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 Terutama, fungsionalitas Swift imperatifseperti adalah baru bahasa Objective-C danparadigma pemrograman tapi Swift pemrograman baru. object-oriented dan 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 prosesmerespondanpulih darikondisi Swiftmemberikandukungankelas menyebarkan, kesalahan (error kesalahandalam handling)adalah suatu satuuntukmelempar, danmemanipulasikesalahan program. menangkap, 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 Membedakanantara sedangdikodekandalam inisituasi yang formatyang kompatibel. 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 containerpada web, perangkat danyang mobile. di-hostatauberjalandi Seperti dalamnative yang dikatakan, aplikasihybridadalahkombinasiaplikasi nativedanweb, perusahaanmembangun aplikasihybridsebagaipenutupdarihalaman iniperusahaan web menggunakanhalamanwebmereka yang ada, dengan cara danmembuataplikasihybrid denganupayakecil, tanpa memberikanbanyak usahayangdiberikan dalamaplikasi nativedan karenanyaappmendapatkanpreferensidiapp menghabiskanupaya yang store, signifikanuntukmengembangkan tanpa 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 mengembangkanmetodologidesainberorientasi pertamadalam objekuntuk aplikasi komputerserta untuksistem basis dataadalah penggunaanUML(Unified Modeling Language) sebagainotasistandar untukpemodelanobjek. Desainer Sistem perangkat lunakdiberikanbanyak pilihan untukmenyediakan objek yang handal, fleksibel danefisienuntuk Merekabisamemilih aplikasi komputerdan antaraObject-Oriented, sistem basis data. 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 antaraperan(dikenal daftarlangkah, biasanyamendefinisikaninteraksi 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 implementasikelas.Class menampilkankelaslogis,dan Diagramadalah blokbangunan utamadaripemodelanberorientasi objek. strukturstatis menggambarkanstrukturdari dalamUMLyang Iniadalah jenisdiagram 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; yangdiambilmenggunakanpersegi titikkeputusan, panjangdengan state, sudut yangditariksebagailingkaranterbuka; lebihpointerminasi, membulat; dansatu atau yangdiambilmenggunakanlingkarandengan lingkaranyang soliddi dalamnya. 2.8.4. Sequence Diagram Sequence Diagram menunjukkanaliranrinciuntuk use case tertentuatau bahkanhanya bagian dariuse menunjukkanpanggilanantaraobjek case yang tertentu. Ini 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 fungsifungsi 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 menyediakanpatokaninternasional didik.KualifikasiCambridge dan yang International kehidupan. Mereka berhargadarikinerjapeserta 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