Mobile
Programming
Konsep Dasar Pemrograman
Mobile
01
Fakultas Ilmu Teknik Informatika 87036 Winarsih, S.Si, MMSI.
Komputer
Abstract Kompetensi
Konsep Dasar Pemrograman Mobile Mahasiswa mampu menjelaskan
konsep dasar pemrograman mobile
dan mampu membuat program java
sederhana
Sistem Operasi Mobile
Sistem operasi perangkat mobile (bahasa Inggris: mobile operating system, disingkat Mobile OS) adalah
suatu sistem operasi yang mengontrol sistem dan kinerja pada barang elektronik yang mobile, mirip
dengan fungsi Windows,Mac OS X, dan Linux pada Desktop PC atau Laptop/Notebook tetapi lebih
sederhana. Biasanya penggunaannya hadir di ponsel pintar, PDA, tablet komputer, dan PMP.
Pada tahun 1993 dirilis smartphone yang pertama, “IBM Simon” yang memiliki fitur layar sentuh, email
serta PDA. Selang 3 tahun kemudian, tahun 1996 Palm Pilot 1000 memperkenalkan personal digital
assistant (PDA) untuk pertama kalinya dengan sistem operasi Palm OS. Masih dalam tahun yang sama
PC Handled untuk pertama kalinya diperkenalkan dengan sistemWindows CE. 4 tahun, kemudian, tahun
2000 Symbian menjadi sistem operasi mobile modern pertama pada smartphone yang diluncurkan
oleh Ericsson R380.
Tahun 2002, Microsoft pertama Windows CE (Pocket PC) pada smartphone . Masih pada tahun
2002, Blackberry merilis smartphone pertamanya. 3 tahun kemudian, tahun 2005 Nokia
memperkenalkan Maemo OS pada tablet internet pertama Nokia N770. Lalu tahun 2007, Apple
iPhone dengan iOS diperkenalkan sebagai iPhone “mobile phone” dan “internet communicator”.
Setahun kemudian, tahun 2008 OHA yang dibentuk oleh Google merilis Android 1.0 dengan HTC
Dream (T-Mobile G1) sebagai ponselAndroid yang pertama.
Mobile Computing
Mobile Computing adalah suatu istilah yang digunakan untuk menggambarkan aplikasi pada piranti
berukuran kecil, portable, dan wireless serta mendukung komunikasi.
Pengenalan Android
Android adalah sistem operasi untuk telepon seluler yang berbasis Linux.Android menyediakan platform
yang bersifat open source bagi para pengembang untuk menciptakan sebuah aplikasi.Awalnya, Google
Inc. mengakuisi Android Inc. yang mengembangkan software untuk ponsel yang berada di Palo Alto,
California Amerika Serikat. Kemudian untuk mengembangkan Android, dibentuklah Open Handset
Alliance, yaitu konsorsium dari 34 perusahaan hardware, software, dan telekomunikasi, termasuk
Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Sebuah Activity biasanya ditampilkan dalam satu screen sebagai bagian komponen dari View (yang
terdiri dari komponen UI, widget atau control), yang bertugas melakukan interaksi dengan user untuk
melakukan sebuah task tunggal (misalnya, melihat informasi, mengedit data, atau memasukkan data).
Sebuah aplikasi Android biasanya memiliki satu atau lebih Activity. Salah satu Activity ditandai sebagai
startup activity, yang pada gilirannya memulai activity berikutnya, melalui sebuah intent. Untuk
membuat suatu activity, kita melakukan extend terhadap class android.app.Activity, dan melakukan
override beberapa method, khususnya method OnCreate().
Kita bisa mengatur konten view dari activity secara bahasa pemrograman java atau juga bisa melalui
kode layout file XML Daur hidup sebuah activity diatur melalui method call-back, yang di definisikan
pada class dasar Activity pada gambar 1.1. tentang siklus hidup android.
Android versi 1.0 dikeluarkan tanggal 23 September 2008. Versi 1.1 adalah versi yang pertama kali
digunakan di mobile phone disusul versi 1.5 (Cupcake), 1.6 (Donut) dst. Versi Android terakhir adalah:
2.2 (Froyo), mempercepat kinerja dengan Just In Time compiler dan Chrome V8 JavaScript engine,
Wi-Fi hotspot tethering dan suppport Adobe Flash.
2.3 (Gingerbread), memperbaiki user interface, soft keyboard, copy/paste features dan support
Near Field Communication (NFC).
3.0 (Honeycomb), diperuntukkan untuk tablet yang menggunakan layar lebih besar, multicore
processors dan hardware acceleration untuk grafis.
4.0 (Ice-cream sandwich), kombinasi Gingerbread and 3.0 Honeycomb. Integrasi antara platform
untuk tablet dan smartphone.
4.1 & 4.2 (Jelly-Bean), user interface yang lebih halus (project butter).
4.4 (Kit-Kat),
Lolipob
Marshmallow
Untuk mengembangkan aplikasi di Android, bahasa utama yang digunakan adalah Java, tetapi bukan
dalam platform J2ME yang memiliki banyak keterbatasan. Platform yang digunakan di Android setara
dengan J2SE, dan ini merupakan kelebihan utama Android.
Fitur-fitur
Fitur-fitur utama Android yang dapat dimanfaatkan oleh pengembang app sebagai berikut:
Terdapat beberapa alasan mengapa Android berkembang dengan pesat dan kenapa developer
sebaiknya membangun Aplikasi Android.
Market Share
Developer memiliki kesempatan untuk mengembangkan aplikasi untuk pasar yang relative baru dan
sedang berkembang pesat. Keberadaan Android Market akan menempatkan aplikasi yang dibuat oleh
developer langsung kepada pengguna. Pengguna tidak perlu mencari melalui internet untuk menemukan
dan meng-install aplikasi yang dibuat oleh developer. Pengguna cukup membuka Android Market yang
sudah ter-install di perangkat android pengguna dan mengakses aplikasi yang pengguna butuhkan dan
menginstall kedalam perangkat android pengguna.
Time to Market
Terdapat Android APIs (Application Programming Interfaces) yang memudahkan developer untuk
membangun aplikasi dengan mudah dan waktu yang singkat.
Open Platform
Sistem operasi Android merupakan platform terbuka.Sehingga tidak merujuk pada suatu perusahaan
hardwareatau suatu provider. Platform terbuka android memungkinkan perkembangan marketdengan
sangat cepat, karena semua perusahaan hardware dan providerdapat membuat dan menjual perangkat
android.Source code android dapat di akses melalui at http://source.android.com, untuk digunakan dan
dimodifikasi sesuai kebutuhan perusahaan hardware, provider atau developeraplikasi.
Cross Compatibility
Android dapat berjalan di berbagai perangkat dengan ukuran dan resolusi layar yang berbeda.Android
memiliki fitur yang membantu developeruntuk mengembangkan aplikasi yang compatibleuntuk berbagai
perangkat (cross-compatibleapplication). Google memiliki feature detectionyang mengatur agar aplikasi
yang dikembangkan oleh developerhanya berjalan di perangkat yang compatible. Sebagai contoh, jika
suatu aplikasi membutuhkan kamera depan (front-facing camera) maka hanya perangkat android
dengan kamera depan yang akan dapat melihat aplikasi tersebut di Android Market. Suatu perangkat
android harus mengikuti suatu aturan untuk mendapatkan sertifikat kesesuaian terhadap Android
Market untuk memastikan aplikasi dapat berjalan diatasnya, diantaranya keberadaan: (a) Kamera, (b)
Kompas, (c) GPS (Global Positioning System), (d) Bluetooth Transceiver.
Mashup Capability
Mashup Capability merupakan kemampuan untuk mengkombinasikan dua atau lebih layanan untuk
mengembangkan suatu aplikasi.Sebagai contoh, developerdapat membuat mashupdengan
menggunakan kamera dan GPS, sehingga terbangun aplikasi pengambilan photo dengan dilengkapi
secara tepat lokasi pengambilannya.
Linux Kernel
Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android bukanlah linux,
karena dalam android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux
merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh
karenanya pada android hanya terdapat beberapa servis yang diperlukan seperti keamanan,
manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar,
kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess Communication) untuk mengatur
aplikasi dan lubang keamanan.
Libraries
Android menggunakan beberapa paket pustaka yang terdapat pada C/C++ dengan standar Berkeley
Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux.
Beberapa pustaka diantaranya:
• Media Library untuk memutar dan merekam berbagai macam format audio dan video.
• Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.
• Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan 2D dan 3D.
• SQLite untuk mengatur relasi database yang digunakan pada aplikasi.
• SSl dan WebKit untuk browser dan keamanan internet.
Android Runtime
Pada android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi android. Inilah
yang membedakan Android dibandingkan dengan sistem operasi lain yang juga
mengimplementasikan Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi
android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime
terdapat 2 bagian utama, diantaranya:
Application Framework
Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi
android. Selain itu, juga menyediakan abstraksi generik untuk mengakses perangkat, serta
mengatur tampilan user interface dan sumber daya aplikasi. Bagian terpenting dalam kerangka
aplikasi android adalah sebagai berikut [Hello Android 2nd Edition]:
1. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan
”Backstack“ untuk navigasi penggunaan.
2. Content Providers, berfungsi untuk merangkum data yang memungkinkan digunakan oleh
aplikasi lainnya, seperti daftar nama.
3. Resuource Manager, untuk mengatur sumber daya yang ada dalam program. Serta
menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan file
layout.
4. Location Manager, berfungsi untuk memberikan informasi detail mengenai lokasi perangkat
android berada.
5. Notification Manager, mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan
lain sebagainya yang akan ditampilkan pada status bar
Application Layer
Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget. Lapisan aplikasi
merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna
hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan
aplikasi. Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang
tersedia pada framework aplikasi. Lapisan aplikasi android sangat berbeda dibandingkan dengan
sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak
ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application Programming
Interface) yang sama.
Daftar Pustaka
1. Burd, B. (2012). Android Application Development All-in-One For Dummies. For Dummies.
2. Cinar, O. (2012). Android Apps with Eclipse (1 ed.). Appress.
3. Murphy, M. L. (2010). Android Programming Tutorials. United States of America:
CommonsWare, LLC.
4. Modul Mobile Programming Susanto Hariyanto, S.Kom.
5. Modul Mobile Programming, Sekolah Tinggi Manajemen Informatika & Komputer Indonesia,
6. Modul Praktikum Pemrograman Mobile, Teknik Informatika, Fakultas teknik Industri, Institut
Sains Dan Teknologi AKPRIND, Yogyakarta, 2014