BAB 2 LANDASAN TEORI 2.1. Sistem Operasi Android Nazruddin Safaat H (2011) dalam bukunya yang berjudul “Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Beerbasis Android” (2014), mengemukakan bahwa android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Pada buku karya Akhmad Dharma Kasman yang berjudul “Kolaborasi Dahsyat Android dengan PHP & MYSQL” (2013), android adalah sebuah sistem operasi telepon seluler dan komputer tablet layar sentuh (touchscreen) yang berbasis Linux. Namun seiring perkembangannya, Android berubah menjadi platform yang begitu cepat dalam malakukan inovasi. Hal ini tidak lepas dari pengembang utama dibelakangnya yaitu Google. Google-lah yang mengakusisi android, kemudian membuatkan sebuah platform. Platform Android terdiri dari sistem operasi berbasis Linux, sebuah GUI (Graphic User Interface), sebuah web browser dan aplikasi enduser yang dapat di download dan juga para pengembang bisa dengan leluasa berkarya serta menciptakan aplikasi yang terbaik dan terbuka untuk digunakan oleh berbagai macam perangkat. Universitas Sumatera Utara 2.1.1. Sejarah Android Pada awalnya, Android Inc. merupakan sebuah perusahaan software kecil yang didirikan pada bulan Oktober 2003 di Palo Alto, California, USA. Didirikan oleh beberapa senior di beberapa perusahaan yang berbasis IT & Communication; Andy, Rubin, Rich Miner, Nick Sears dan Chris White. Menurut Rubin, Android Inc. didirikan untuk mewujudkan mobile device yang lebih peka terhadap lokasi dan preferensi pemilik. Dengan kata lain, Android Inc. ingin mewujudkan mobile device yang lebih mengerti pemiliknya. Konsep yang dimiliki Android Inc. ternyata menggugah minat Google untuk memilikinya. Pada bulan Agustus 2005, akhirnya Android Inc. diakuisisi oleh Google Inc. seluruh sahamnya dibeli oleh Google. Saat ini terdapat dua jenis distributor sistem operasi bagi mobile phone di dunia. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Service (GMS) dan yang kedua adalah yang benar-benar bebas distribusinya tanpa dukungan langsung dari Google atau dikenal dengan Open Handset Distribution (OHD). Sistem operasi ini membuka pintu untuk para developer untuk mengembangkan software ini dengan Android SDK (Software Development Kit), yang menyediakan tool dan API yang dibutuhkan untuk memulai mengembangkan aplikasi pada platform Android menggunakan pemrograman Java. Pada bulan September 2007, Google mulai mengajukan hak paten aplikasi telepon seluler. Disusul dengan dikenalkannya perangkat seluler Android yang pertama pada tahun 2008, yaitu HTC Dream yang menggunakan Android versi 1.0. 10 Universitas Sumatera Utara Hadirnya HTC Dream telah mendorong perusahaan-perusahaan perangkat keras lainnya untuk ikut menggunakan sistem operasi Android. kemudian pada tahun 2008 terdapat beberapa perusahaan yang ikut bergabung dalam Android Arm Holdings, yaitu Atheros Communications diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc. Saat ini, sistem operasi Android menjadi pilihan yang menguntungkan bagi banyak vendor smartphone, karena memiliki biaya lisensi yang lebih murah dan sifatnya yang semi-open source. Selain itu, Android tentunya juga akan support dengan berbagai layanan dari Google. 2.1.2. Perkembangan Versi OS Android Keunikan dari nama sistem operasi (OS) Android adalah dengan menggunakan nama makanan hidangan penutup (dessert). Selain itu juga nama-nama OS Android memiliki huruf awal berurutan sesuai abjad. Perkembangan versi Android menurut buku karya Alfa Satyaputra dan Eva Maulina Aritonang adalah sebagai berikut: 1. Android 1.0 Apple Pie Telah dirilis setelah versi Android beta dan menjadi versi komersial pertama yang hadir untuk para konsumen. Diantara fitur yang menjadi andalan saat itu adalah: a. Android Market. Para pengguna bisa memanfaatkan aplikasi-aplikasi yang ada di web itu dengan men-download atau meng-upgrade. Banyak sekali aplikasi termasuk game android yang boleh diunduh secara gratis. 11 Universitas Sumatera Utara b. Kamera. Tetapi belum ada fasilitas yang lengkap untuk membuat hasil kamera itu maksimal, seperti resolusi, kualitas gambar, kejernihan, dan lainnya. c. Shortcut icon. Dengan itu, pengguna bisa dengan mudah masuk ke aplikasi, pesan, telepon atau yang lain karena bisa diletakkan pada homescreen. 2. Android 1.1 Banana Bread Android 1.1 dirilis pada tanggal 9 Februari 2009 yang memiliki kode nama Banana bread serta ukuran layar 320×480 HVA. 3. Android 1.5 Cupcake Versi ini mulai memakai nama-nama makanan agar mudah diingat. Di antara fitur yang diperbaharui adalah: a. Dapat merekam sekaligus memutar video berekstensi MPEG-4 serta 3GP. b. Dapat meng- copy dan paste tulisan saat membuka blog atau website. c. Bisa menambahkan foto di kontak favorit. d. Layar dilengkapi dengan animasi-animasi. e. Layar dapat berputar secara otomatis. 4. Android 1.6 Donut a. Terdapat history bookmark untuk kontak dan web. Ini akan mempermudah jika kita ingin melihat web yang pernah kita buka. b. Beberapa aplikasi dapat melafalkan teks. 12 Universitas Sumatera Utara c. Kamera, perekam video, serta galery sudah diperbaharui agar lebih maksimal penggunaannya. 5. Android Éclair a. Penambahan fitur bluetooth 2.1 b. Fitur pencarian SMS dan MMS yang disimpan dan SMS yang paling lama akan terhapus apabila mencapai batas yang ditentukan. c. Keyboardvirtual diperbaharui agar mudah untuk mengetik tulisan. d. Penambahan Google Maps versi 3.1.2 e. Versi : Android 2.0 , Android 2.0.1 , dan Android 2.1 6. Android 2.2–2.2.3 Froyo a. Pembaharuan terhadap kecepatan kinerja android. b. Peningkatan peluncur aplikasi dengan jalan pintas ke Telepon dan aplikasi penjelajah web. c. Memperbaharui fitur USB tethering serta hotspot Wi-Fi. d. Terdapat fitur upgrade otomatis pada Google Play. e. Kontak dapat di-share memakai Bluetooth. f. Penambahan aplikasi Adobe Flash. 7. Android Gingerbread a. Akurasi terhadap keyboard virtual telah ditingkatkan. Ditambah lagi dengan fitur input suara. b. Fitur copypasteditingkatkan untuk mempermudah penggunanya. 13 Universitas Sumatera Utara c. Download Manager, untuk mempermudah proses pengunduhan beberapa aplikasi termasuk game android. d. Versi : Android 2.3 – 2.3.2 , Android 2.3.3 – 2.3.7 8. Android Honeycomb a. Penambahan sistem bar yang berfungsi untuk mempercepat pemberitahuan, status, serta tombol navigasi. b. Fitur untuk melihat aplikasi yang sedang berjalan. c. Galery baru bisa melihat foto-foto dengan fullscreen d. Aplikasi Google Talk. Berfungsi sebagai obtolan. e. Versi : Android 3.0 , Android 3.1 , dan Android 3.2 9. Android Ice Cream Sandwich a. Membuat folder lebih gampang karena cukup dengan drag dan drop. b. Tambahan webbrowser bawaan dari Chrome. Dapat membuka laman sampai 16 tab c. Beberapa huruf baru telah ditambahkan. d. Data internet bisa dibatasi sesuai keinginan. Internet akan mati apabila mencapai batas tersebut. e. Versi : Android 4.0 -4.0.2 , dan Android 4.0.3 – 4.0.4 10. Android Jelly Bean a. Akses lebih cepat. b. Dapat mematikan pemberitahuan pada aplikasi tertentu 14 Universitas Sumatera Utara c. Shortcut serta widget dapat disusun ulang atau diubah ukurannya sesuai keinginan. d. Aplikasi pada kamera ditambah. e. Dapat menambahkan widget aplikasi tanpa harus root terlebih dulu. f. Versi : Android 4.1 , Android 4.2 , dan Android 4.3 11. Android 4.4 KitKat a. Status bar serta navigasi menjadi transparan pada homescreen. b. Ilengkapi dengan Infrared c. Akses API ditingkatkan. d. Mode layar penuh diperbaharui e. Tambahan BluetoothMessageAccessProfile. 12. Android 5.0 Lollipop a. Sistem keamanan Lollipop dijalankan diatas sistem SeLinux. b. Tampilan lebih berwarna dan responsif. c. Menawarkan fitur priority yang fungsinya tidak kalah dengan fitur Apple Do Not Disturb milik iPhone. d. Lebih hemat baterai. 15 Universitas Sumatera Utara 2.2. Framework PhoneGap PhoneGap adalah sebuah kerangka kerja/framework open source yang dipakai untuk membuat aplikasi cross-platform mobile dengan HTML, CSS, dan JavaScript. PhoneGap menjadi suatu solusi yang ideal untuk seorang web developer yang tertarik dalam pembuatan aplikasi di smartphone. PhoneGap juga merupakan solusi ideal bagi mereka yang tertarik untuk membuat sebuah aplikasi yang dapat berjalan pada beberapa perangkat smartphone dengan basis kode yang sama. Artinya, cukup hanya dengan 1 kali koding saja, anda bisa membuat aplikasi untuk smartphone iPhone, Android, Blackberry, Symbian dan Palm. Hal ini yang disebut dengan cross-platform karena PhoneGap dapat membuat aplikasi pada beberapa smartphone dengan hanya 1 koding. PhoneGap SDK menyediakan sebuah API, yaitu sebuah lapisan abstrak yang menyediakan pengembang dengan akses ke fitur hardware dan platform tertentu. PhoneGap menjelaskan bahwa dengan kode yang sama dapat digunakan pada sejumlah platform mobile dengan sedikit perubahan koding ataupun tidak, yang membuat aplikasi kita dapat dipakai untuk kalangan pengguna yang lebih luas. 2.2.1. Sejarah Framework PhoneGap Pertama kali dikembangkan disebuah acara iPhoneDevCamp di San Francisco, PhoneGap memenangkan Choice Award Rakyat di O’Reilly Media Web 2.0 Conference 2009 dan kerangka telah digunakan untuk mengembangkan berbagai 16 Universitas Sumatera Utara aplikasi. Apple Inc, telah mengkonfirmasi bahwa kerangka memiliki persetujuan, bahkan dengan 4.0 pengembang lisensi perubahan kesepakatan baru kerangka PhoneGap digunakan oleh beberapa platform aplikasi mobile seperti ViziApps, worklight, Convertigo, dan appMobi sebagai tulang punggung mesin pengembangan klien mobile mereka. Adobe resmi mengumumkan akuisisi Nitobi Software (pengembang asli) pada tanggal 4 Oktober 2011. Bersamaan dengan itu, kode PhoneGap disumbangkan kepada Apache Software Foundation untuk memulai sebuah proyek baru yang disebut Apache Cordova. Nama asli proyek, Apache Callback, dipandang sebagai terlalu umum. Kemudian juga muncul dalam Adobe Systems sebagai Adobe PhoneGap dan juga sebagai Adobe PhoneGap Build. PhoneGap lahir pada tahun 2008 dibuat oleh Nitobi software. Nitobi sendiri adalah konsultan web yang telah berpengalaman pada javascript serta web development, karena sudah berpengalaman menjadi konsultan maka Nitobi memiliki keyakinan yang besar terhadap PhoneGap yang menjadi proyek mereka yakni PhoneGap team developer serta apache cordova commiter. Mereka memiliki dua kepercayaan yaitu web adalah solusi dari crossplatform, yakni web telah menjadi solusi yang paling meyakinkan untuk mencapai banyak perangkat kemampuan yang berbeda, hambatan yang sangat rendah untuk teknologi web authoring, serta siapa pun, setiap saat, dapat mempublikasikan sesuatu dari mana saja. Kepercayaan yang kedua adalah setiap teknologi itu akan usang, mungkin pernyataan ini terdengar agak berani namun mereka juga memiliki 17 Universitas Sumatera Utara alasan sendiri mengapa mengeluarkan pernyataan tersebut. Ini adalah lebih dari sebuah pengamatan, dan sejarah yang ada selama menjadi konsultan. Dengan pemikiran ini mereka berjuang untuk berinovasi setiap waktu agar dapat bersaing dalam dunia teknologi. Mereka juga memiliki tujuan yakni menjadikan web sebagai platform pengembangan yang utama serta tujuan PhoneGap sendiri sudah habis. Mungkin terdengar agak arogan bagi tujuan kedua, namun tujuan itu dapat menjadi sebuah spirit yang membara guna menghasilkan produk yang dapat bersaing dalam pasar teknologi. Juga sebagai komitmen bagi mereka untuk menciptakan output yang benar-benar mengesankan bagi pasat teknologi. Mereka percaya dengan menjadikan web sabagai platform utama maka akan membuat semua orang dapat berpartisipasi. Filosofi dari PhoneGap adalah kami tidak mencoba untuk menjadi segalanya bagi semua orang. Kami percaya web telah memecahkan banyak kasus besar digunakan dalam perangkat lunak, dan karena semakin meningkat maka mereka akan terus melakukannya. PhoneGap ini memiliki ukuran 22,4 MB pada versi termutakhir yakni versi 2.9.0 yang rilis pada tanggal 26 Juni 2013. PhoneGap ini adalah open source dan free selama masih berada dibawah apache license versi 2.0. 18 Universitas Sumatera Utara 2.2.2. Fitur-Fitur Framework PhoneGap Framework PhonrGap memiliki fitur-fitur sebagai berikut: 1. Arsitektur PhoneGap Spesifikasi arsitektur aplikasi berbeda pada setiap basisnya. Biarpun begitu datadriven aplikasi dibuat dengan mengikuti aristektur dasar. Aplikasi PhoneGap bertindak sebagai client agar user bisa berinteraksi dengannya. PhoneGap client berkomunikasi dengan sebuah server aplikasi untuk menerima data. Server aplikasi mengatur business logic dan berkomunikasi dengan sebuah back-end data repository. Server aplikasi biasanya adalah sebuah web server (Apache, IIS, dan sebagainya) dan mempunyai sebah server side scripting language seperti ColdFusion, Java, .NET, PHO, dan sebagainya. PhoneGap adalah sebuah agnotic dari back-end technologies dan dapat bekerja dengan banyak server aplikasi menggunakan protocol web standard. Server aplikasi melakukan business logic dan perhitungan, dan menerima atau menahan data dari repository data yang terpisah, biasanya sebuah relasional database, tetapi juga bia semua struktur atau mekanisme untuk penahanan data. Aplikasi PhoneGap biasanya tidak meminta langsung ke sebuah database, komunikasinya adalah melalui sebuah aplikasi server. Komunikasi client ke aplikasi server dapat berdasarkan standard HTTP request untuk content HTML, REST–full XML services, JSON services, atau SOAP (atau websockets jika OS 19 Universitas Sumatera Utara kita mendukung). Ada beberapa beberapa teknik yang dapat digunakan di sebuah desktop-browser berbasis AJAX. Arsiktektur client-side biasanya menggunakan Model Single-page application, dimana logic aplikasi berada disebuah page HTML single. Page ini tidak pernah diambil dari memori. Semua data akan di display dengan mengupdate HTML DOM, data diterima dari server aplikasi menggunakan teknik AJAX, dan variabel disimpan dimemori dengan JavaScript. Arsitektur Multi-page client-side aplikasi mendukung, tetapi tidak di anjurkan karena kita akan kehilangan variabel memori ketika memanggil page yang terpisah. Gambar 2.1. Arsitektur PhoneGap Aplikasi yang dibangun menggunakan PhoneGap sebenarnya adalah sebuah aplikasi Hybrid. Maksudnya aplikasi ini tidak murni berbasis HTML/Javascript, juga tidak murni berbasis Native Programming Language. Bagian dari aplikasi terutama User Interface (tampilan), logika aplikasi dan komunikasi data atau server didasarkan pada HTML/Javascript. Sedangkan bagian lain dari aplikasi 20 Universitas Sumatera Utara yang bertugas untuk mengkomunikasikan dan mengontrol fitur-fitur aplikasi tetap berdasarkan pada bahasa Native. Hebatnya PhoneGap adalah kita tidak perlu belajar lebih dalam mengenai bahasa native tersebut. 2. Cordova.js dan Cordova.jar Setiap aplikasi yang dibangun dengan Phonegap harus menyertakan sebuah library Javascript dari Phonegap. Library Phonegap ini diberi nama Cordova.js. Library cordova.js adalah inti dari aplikasi Phonegap, dia bekerja di belakang layar dan melakukan pekerjaan pemanggilan fitur-fitur asli platform. Cordova.js dan Cordova.jar bekerja saat melakukan pemanggilan API tertentu yang dokumentasi dapat dilihat melalui situs resmi Phonegap. Library Cordova.js inilah yang menjembatani antara bahasa pemrograman Phonegap dan fitur asli dalam aplikasi mobile seperti Camera, GPS, Accelerometer, Compass, File System dan lain sebagainya. 3. DroidGap Activity Saat membangun project berbasis Phonegap, pertama diharuskan membuat sebuah MainActivity, terutama untuk project berbasis platform Android. MainActivity adalah kunci Phonegap dalam mengakses fitur alami ponsel. Fitur ini adalah pendamping utama file Cordova.js dalam membimbing Cordova.js untuk mengakses berbagai fitur native ponsel tersebut. 21 Universitas Sumatera Utara 4. PhoneGap Compiler Memanfaatkan fitur Phonegap Build merupakan Cloud System untuk mengkompilasi project berbasis Android. Tetapi pekerjaan kompilasi menggunakan aplikasi bawaan native tentunya lebih banyak kelebihan dan mampu mengetahui performa maupun bug-bug yang terjadi secara langsung. Sistem kompilasi Phonegap jika memanfaaatkan aplikasi native adalah sebagai berikut: a. Eclipse IDE untuk kompilasi aplikasi Android, b. XCode untuk kompilasi aplikasi berbasis iOS/iPhone, dan c. Microsoft Visual Studio 2010 untuk mengkompilasi aplikasi berbasis Windows Phone. d. Selain platform di atas kita bisa memanfaatkan compiler Phonegap Build PhoneGap memiliki beberapa fitur yang mendukung aplikasi mereka, yakni Accelerometer, Camera, Compass, Contacts, File, Geolocation, Media, Network, Notification (Alert), Notification (Sound), Notification (Vibration), storage. Accelerometer sendiri adalah fitur yang menangkat pergerakan divais dalam arah x, y, dan z. Camera adalah fitur untuk mengakses kamera bawaan dari device, compass adalah fitur untuk mendapatkan arah, contacs adalah fitur yang menyediakan akses ke database kontak pada device, file adalah fitur API untuk membaca, menulis, dan menavigasi hierarki file sistem, geolocation adalah menyediakan akses ke data lokasi berdasarkan perangkat sensor GPS atau disimpulkan dari sinyal jaringan. Media adalah fitur yang menyediakan kemampuan untuk merekam dan memutar file audio pada device. Network adalah fitur yang menyediakan akses paket data menggunakan koneksi dari 22 Universitas Sumatera Utara operator, notification adalah fitur untuk menyediakan pemberitahuan bagi pengguna device dengan audio, visual, dan perabaan atau getaran pada ponsel, dan storage adalah fitur yang menyediakan akses kepada media penyimpanan pada device. 2.3. HTML5 (Hypertext Markup Language Versi 5) Hypertext Markup Language (HTML) adalah bahasa standard yang digunakan untuk menampilkan halaman web (Hidayatullah dan Kawistara, 2014). Dengan kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan dalam format ASCII normal sehingga menjadi halaman web dengan perintah-perintah HTML. Penanda perintah di dalam HTML biasanya disebut TAG. TAG digunakan untuk menentukan tampilan dari dokumen HTML. Yang dapat dilakukan dengan HTML yaitu: a. Mengatur tampilan dari halaman web dan isinya. b. Membuat tabel dalam halaman web. c. Mempublikasikan halaman web secara online. d. Membuat form yang bisa digunakan untuk menangani registrasi dan transaksi via web. e. Menambahkan objek-objek seperti citra, audio, video, animasi, java applet dalam halaman web. f. Menampilkan area gambar (canvas) di browser. 23 Universitas Sumatera Utara HTML5 adalah standar baru dari HTML. Versi HTML sebelumnya yaitu HTML 4.01 muncul pada tahun 1999. Internet mengalami perubahan yang sangat signifikan sejak saat itu sampai sekarang. HTML5 didesain untuk memenuhi hampir semua kebutuhan user tanpa plugin tambahan. Kebutuhan-kebutuhan tersebut antara lain menampilkan animasi, menjalankan aplikasi, memutar musik dan film. HTML5 juga cross-platform. Itu artinya kita dapat menjalankannya diberbagai platform dan device seperti tablet, smartphone, netbook, laptop bahkan Smart TV. Komponen utama yang membedakan HTML5 dengan HTML versi sebelumnya adalah Canvas. Dengan canvas kita bisa menggambar menggunakan HTML dan JavaScript. HTML5 adalah hasil kerja sama antara W3C (World Wide Web Consortium) dan WHATWG (Web Hypertext Application Technology Working Group). Dimana WHATWG sebelumnya bekerja dalam mengembangkan aplikasi web sedangkan W3C bekerja dengan XHTML 2.0. Pada tahun 2006, kemudian mereka memutuskan untuk bekerja sama dan membentuk versi baru dari HTML. Dari kerja sama itu, ada beberapa aturan yang coba diterapkan dalam versi baru HTML ini: a. Fitur baru harus berbasiskan pada HTML, CSS (Cascading Style Sheets), DOM (Document Object Mode) dan JavaScript. b. Mengurangi ketergantungan untuk plugin eksternal (seperti Flash). c. Penanganan kesalahan yang lebih baik. d. Lebih markup untuk menggantikan scripting. e. HTML5 merupakan perangkat mandiri (device-dependent). 24 Universitas Sumatera Utara Fitur terbaru yang terdapat dalam HTML5 yaitu: a. Unsur kanvas untuk menggambar 2D b. Video dan elemen audio untuk media pemutaran c. Dukungan yang lebih untuk penyimpanan secara offline. d. Elemen konten yang lebih spesifikasi, seperti artikel, footer, header, nav, section. e. Bentuk control form seperti kalender, tanggal, waktu, email, url, search. 2.4. CSS3 (Cascading Style Sheet Versi 3) Cascading Style Sheet (CSS) merupakan aturan untuk mengendalikan beberapa komponen dalam sebuah web sehingga akan lebih terstruktur dan seragam. CSS bukan merupakan bahasa pemograman. Pada umumnya CSS dipakai untuk memformat tampilan halaman web yang dibuat dengan bahasa HTML dan XHTML. Menurut BPTIK (Badan Pengembangan Teknologi Informasi dan Komunikasi) CSS adalah sebuah pemrogaman atau boleh dibilang script yang mengendalikan beberapa komponen (tag html) dalam sebuah website sehingga tampilan akan menjadi lebih terstruktur dan seragam. Cascading Style Sheet (CSS) sudah didukung oleh hamper semua web browser karena CSS telah distandarkan oleh World Wide Web Consortium (W3C). Ada 4 cara memasang kode CSS ke dalam kode HTML/halaman web, yaitu: 1. Inline style sheet (Memasukkan kode CSS langsung pada tag HTML). 25 Universitas Sumatera Utara 2. Internal style sheet (Embed atau memasang kode CSS ke dalam bagian <head>). 3. Me-link ke external CSS. 4. Import CSS file. Untuk saat ini terdapat 3 versi CSS, yaitu CSS1, CSS2, CSS3. CSS3 adalah versi terbaru dari CSS yang mampu melakukan banyak hal dalam desain website. CSS3 juga dapat melakukan animasi pada halaman website, diantaranya animasi warna hingga animasi 3D. Dengan CSS3 desainer lebih dimudahkan dalam hal kompatibilitas websitenya pada smartphone dengan dukungan fitur baru yakni media query. Selain itu, banyak fitur baru pada CSS3 seperti multiple background, border-radius, drop-shadow, border-images, CSS Math, dan CSS Objek Model. 2.5. JavaScript JavaScript adalah bahasa script yang berdasar pada objek yang memperbolehkan pemakai untuk banyak aspek interaksi pada suatu dokumen HTML. Dimana objek tersebut dapat berupa window, frame, URL, dokumen, form, button, atau item yang lain, yang semuanya itu mempunyai property yang saling berhubungan dengannya dan masing-masing memiliki nama, lokasi, warna dan atribut lain. Untuk dapat mempelajari pemrograman JavaScript, ada 2 piranti yang diperlukan yaitu browser dan teks editor. Teks editor adalah sebuah pengolah kata (word processor) yang menghasilkan file dalam format ASCII murni. Bila pengguna windows dapat menggunakan notepad, Wordpad, atau menggunakan 26 Universitas Sumatera Utara Ultraedit Text Editor. Browser yang mendukung JavaScript yaitu Internet Explorer, Opera, FireFox dan lain-lain. Kode dalam JavaScript dapat dituliskan langsung pada file HTML dengan dengan menggunakan tag container <SCRIPT>. Dengan kata lain tidak perlu menuliskan program JavaScript dengan file terpisah. Tag container adalah tag yang diawali dengan <NAMA_TAG> dan diakhiri dengan </NAMA_TAG>. Contoh tag container: <html></html> <body></body> <head></head> Tag container <SCRIPT> mempunyai 2 atribut tetapi yang harus diisi hanya 1 atribut yaitu Language. Istilah atribut language dengan “JavaScript”. Hal ini digunakan untuk memberitahukan pada browser bahwa yang akan ditulis adalah JavaScript. Contoh penulisan: <script language=”javascript”> //tulis program anda disini </script> 2.6. Ajax (Asynchronous JavaScript and XMLHTTP) Asynchronous JavaScript and XMLHTTP atau AJAX adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaktif pada komputer web surfer, melakukan pertukaran data dengan server dibelakang layar, sehingga halaman web 27 Universitas Sumatera Utara tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability. Ajax merupakan kombinasi dari: a. DOM yang diakses dengan client side scripting language, implementasi ECMAScript seperti JavaScript, untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan. b. Objek XMLHTTP dari Microsoft atau XMLHttpRequest yang lebih umum diimplementasikan pada beberapa browser. Objek ini berguna sebagai kendaraan pertukaran data asinkronus dengan web server. Pada beberapa framework AJAX, elemen HTML IFrame lebih dipilih daripada XMLHTTP atau XMLHttpRequest untuk melakukan pertukaran data dengan web server. c. XML umumnya digunakan sebagai dokumen transfer, walaupun format lain juga memungkinkan seperti HTML, plain text. XML dianjurkan dalam pemakaian teknik Ajax karena kemudahan akses penanganannya dengan memakai DOM. Seperti halnya DHTML, LAMP atau SPA, Ajax bukanlah teknologi spesifik melainkan merupakan gabungan dari teknologi yang dipakai bersamaan. Bahkan teknologi turunan/komposit yang berdasarkan Ajax seperti A-FLAX sudah mulai bermunculan. 28 Universitas Sumatera Utara 2.7. SQLite SQLite adalah sebuah embedded database yang sangat terkenal karena menggabungkan antarmuka SQL dengan memori yang sangat kecil dan kecepatan yang baik (Murphy, 2010). SQLite adalah sebuah open source database yang telah ada cukup lama, cukup stabil, dan sangat terkenal pada perangkat kecil, termasuk Android (Gargenta, 2011). Android menyediakan database relasional yang ringan untuk setiap aplikasi menggunakan SQLite (Meier, 2010). Aplikasi dapat mengambil keuntungan dari itu untuk mengatur relational database engine untuk menyimpan data secara aman dan efiesien. Menurut Murphy (2010) untuk Android, SQLite dijadikan satu di dalam Android runtime, sehingga setiap aplikasi Android dapat membuat basis data SQLite. Karena SQLite menggunakan antarmuka SQL, cukup mudah untuk digunakan orang-orang dengan pengalaman lain yang berbasis databases. Terdapat beberapa alasan mengapa SQLite sangat cocok untuk pengembangan aplikasi Android, yaitu: a. Database dengan konfigurasi nol. Artinya tidak ada konfigurasi database untuk para developer. Ini membuatnya relatif mudah digunakan. b. Tidak memiliki server. Tidak ada proses database SQLite yang berjalan. Pada dasarnya satu set libraries menyediakan fungsionalitas database. c. Single-file database. Ini membuat keamanan database secara langsung. d. Open source. Hal ini membuat developer mudah dalam pengembangan aplikasi. 29 Universitas Sumatera Utara 2.8. SDK (Software Development Kit) Menurut buku karya Nazruddin Safaat H (2011), Android SDK adalah tools API (Application Programming mengembangkan aplikasi Interface) pada platform yang diperlukan Android untuk mulai menggunakan bahasa pemrograman Java. Android memberi kesempatan untuk membuat aplikasi yang dibutuhkan, namun bukan merupakan aplikasi bawaan handphone/smartphone. Beberapa fitur-fitur Android yang paling penting adalah: a. Framework aplikasi yang mendukung penggantian komponen dan reusable. b. Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile c. Integrated browser berdasarkan engine open source WebKit. d. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasi opengl ES 1,0 (Opsional akselerasi hardware). e. SQLite untuk penyimpanan data (database). f. Media Support yang mendukung audio, video, dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony (tergantung hardware). g. Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware). h. Kamera, GPS, kompas, dan accelerometer (tergantung hardware). i. Lingkungan development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse. 30 Universitas Sumatera Utara 2.9. Flowchart Flowchart (diagram alir) adalah sebuah diagram yang merepresentasikan sebuah algoritma atau proses memperlihatkan menggunakan langkah-langkah yang beberapa bangun dilakukan oleh geometri untuk program dalam menyelesaiklan masalah (Opim Salim Sitompul, 2014). Berikut ini adalah simbolsimbol standar pada sebuah flowchart beserta fungsinya. Tabel 2.1. Simbol Flowchart No Nama Simbol Fungsi 1 Terminator Digunakan untuk mewakili simbol start atau end. 2 Arrow Menunjukkan alur proses. 3 Rectangle Menunjukkan langkah pemrosesan. 4 Trapezium Simbol untuk inputoutput. 5 Document Digunakan untuk mewakili output. 6 Decision Simbol yang berfungsi untuk menyatakan keputusan. 7 Preparation Simbol yang berfungsi untuk proses inisialisasi atau pemberian harga awal. 31 Universitas Sumatera Utara Tabel 2.1. Lanjutan No 8 Nama Simbol Fungsi Simbol untuk keluarmasuk atau penyambungan proses pada halaman yang berbeda. Connector 9 Manual Input Simbol untuk pemasukkan data secara manual melalui keyboard. 10 Manual Operation Simbol yang menunjukkan pengolahan yang tidak dilakukan oleh komputer. 11 Predefine Process Simbol untuk pelaksanaan suatu bagian (subprosedur) 12 Display Simbol yang menyatakan peralatan output yang digunakan seperti layar, printer, plotter, dan sebagainya. 13 Magnetic Disk Simbol yang digunakan untuk penyimpanan data ke database. Storage Data Simbol yang menyatakan input yang berasal dari disk atau disimpan ke disk. 14 32 Universitas Sumatera Utara 2.10. Data Flow Diagram Data Flow Diagram adalah alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi yang dapat digunakan untuk penggambaran analisa maupun perancangan sistem yang mudah dikomunikasikan ke pengguna ataupun ke pembuat program. Didalam DFD terdapat tiga level, yaitu: 1. Diagram Konteks (DFD Level 0) Diagram konteks menggambarkan satu lingkaran besar yang dapat mewakili seluruh proses yang terdapat dalam suatu sistem. Diagram konteks merupakan tingkatan tertinggi dalam Data Flow Diagram dan biasanya diberi penomoran nol. Semua entitas eksternal ditunjukkan dalam diagram konteks beserta dengan aliran-aliran data utama, baik dari dan menuju sistem. 2. Diagram Nol (DFD Level 1) Diagram nol merupakan satu lingkaran besar yang mewakili lingkaranlingkaran kecil yang ada pada diagram konteks. Dengan kata lain diagram nol merupakan pemecahan dari diagram konteks. 3. Diagram Rinci Lebih rinci lagi, diagram rinci adalah diagram yang menguraikan prosesproses yang terdapat di dalam diagram nol. 33 Universitas Sumatera Utara Berikut merupakan simbol-simbol standar menurut Yourdan dan DeMarco yang digunakan untuk membuat sebuah Data Flow Diagram. Tabel 2.2. Simbol Data Flow Diagram No Nama 1 Kesatuan Luar 2 Arus Data 3 Proses 4 Simpanan Data Simbol Nama data store Fungsi Sebagai kesatuan (entitas) di lingkungan luar sistem yang dapat berupa orang, organisasi, sumber asli transaksi, atau penerima akhir. Berfungsi untuk menghubungkan antara proses, simpanan data, dan kesatuan luar. Berupa kegiatan atau proses yang sedang dilakukan. Menunjukkan informasi yang tersimpan. 34 Universitas Sumatera Utara