Anda di halaman 1dari 11

MODUL PERKULIAHAN

Mobile
Programming
Konsep Dasar Pemrograman
Mobile

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

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.

Sistem operasi yang umum saat ini:

Android dari Google Inc. (open source, Apache)


Sistem operasi yang berbasis linux dan banyak digunakan oleh para pembuat/pabrikan telepon
genggam sekarang ini (Samsung, HTC, Motorola, Sony Ericsson, LG, Huawei, dll). Android OS adalah
sebuah sistem operasi mobile yang diperuntukan bagi smartphone dan komputer tablet. Android
OS yang bebasis linux kernel ini dikembangkan oleh Open Handset Alliance dibawah bendera
Google. Pengembangkan aplikasi-aplikasi Android dan menguploadnya di Android Market, dengan
tujuan aplikasi-aplikasi tersebut dapat didownload oleh para pengguna smartphone android. Dalam
empat tahun terakhir (rilis tahun 2008) Android berhasil merilis versi terbaru mulai dari : Cupcake,
Donut, Eclair, Froyo, Gingerbread, Honeycomb , Ice Cream Sandwich, jelly beam dan yang terbaru
adalah kitkat.

BlackBerry OS dari RIM (closed source, proprietary)


BlackBerry menggunakan BlackBerry OS sebagai sistem operasinya. BlackBerry OS, dikembangkan
oleh Reseach in Motion (RIM), untuk BlackBerry, perusahaan telekomunikasi asal Kanada ini. Diawal
kemunculannya BlackBerry booming dengan layanan push-email dan sebagai smartphone yang
sukses dipasaran. Versi terakhir dari BlackBerry OS adalah BlackBerry OS 7.

iOS dari Apple Inc. (closed source, proprietary)


iOS adalah sistem operasi mobile milik Apple yang dikembangkan dan hanya diaplikasikan untuk
perangkat Apple Inc seperti iPhone, iPod Touch, iPad dan Apple TV. iOS memiliki lebih dari 500.000
aplikasi di App Store dengan angka penjualan perangkat smartphone terbaik di dunia pada tahun
2011 disusul Google Android dan Nokia Symbian. iOS menjadi “leading” bagi sistem operasi mobile
yang lain dengan mengusung interface multitouch yang bisa digeser (slider), ditekan (switch), dan
tombol. Perangkat Apple masih menjadi nomor satu dalam hal teknologi dan angka penjualan di
dunia. Produk smartphone Apple yang terbaru adalah iPhone 5 dan iOS7 adalah versi terbaru.

Symbian OS dari the Symbian Foundation (open public license)


Symbian terdiri dari beberapa mobile OS yang tidak saling mendukung secara penuh; S60 3rd
edition, S60 5th edition, S80, UIQ, MOAP, dan Symbian^3/Anna. Symbian OS adalah sebuah
Operating System yang digunakan untuk operasi standar ponsel dengan perangkat smartphone.
Symbian OS menetapkan persyaratan bahwa sistem operasi ini hanya dapat digunakan oleh ponsel
dengan fitur 2.5G dan 3G.

Windows Phone dari Microsoft (closed source, proprietary)


Windows Mobile merupakan sistem operasi mobile yang dikembangkan oleh Microsoft, produk
Mobile Windows seperti Sagem myS-7, O2 Xphone dll. Sistem operasi yang berhasil dikembangkan
dan diaplikasikan mulai dari Pocket PC 2000 hingga Windows Mobile versi 6.5.5. Meskipun ada
beberapa kelebihan seperti fitur GPS, dapat menonton televisi, mobile blog, mobile database
namun kelemahan dari Windows Mobile adalah minim developer independen. Karena pihak
Microsoft yang menerapkan peraturan bahwa Windows Mobile bersifat tertutup. Hal ini tidak
menguntungkan bagi pasar Windows Mobile karena produk mereka yang minim developer
berakibat pada minimnya aplikasi-aplikasi yang dapat dikembangkan. Sehingga Windows Mobile
kalah bersaing dengan smartphone lain, terutama bagi vendor yang menerapkan sistem terbuka
bagi developer manapun yang bersedia mengembangkan sebuah sistem operasi, seperti Andorid.

Mobile Computing
Mobile Computing adalah suatu istilah yang digunakan untuk menggambarkan aplikasi pada piranti
berukuran kecil, portable, dan wireless serta mendukung komunikasi.

Yang termasuk mobile computing:

 laptop dengan wireless LAN


 mobile phone
 wearable computer
 Personal Digital Assistant (PDA) dengan Bluetooth atau IRDA

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:

 Database dengan SQLite.


 Menulis dan membaca file di SD card.
 Integrated browser berbasis WebKit engine
 2D graphics library; dan OpenGL ES 2.0 untuk 3D graphics
 Lokasi dan sensor: GPS, compass, gyroscope, barometer, light sensor, accelerometer.
 Renderscript untuk pemrosesan paralel memanfaatakan CPU dan GPU
 Kamera, Audio capture, Jetplayer, Media support untuk MPEG4, H.264, MP3, AAC, AMR, JPG,
PNG, GIF
 GSM Telephony: fasilitas telepon dan SMS.
 Connectivity: USB, Bluetooth, NFC, SIP (Session Initiation Protocol, internet telephony khusunya
untuk video conference dan instant messaging) dan WiFi
 Multitouch

Perbedaan dengan Aplikasi Desktop


Walaupun Java yang digunakan untuk mengembangkan Android app setara dengan J2SE ada beberapa
berbedaan app Android vs app Desktop yang perlu diperhatikan:

 Beragamnya ukuran layar dan resolusi.


 Karakteristik device yang memiliki banyak sensor (kamera, GPS, accelometer dsb), terhubung ke
internet dan selalu dibawa pengguna membuat app Android punya potensi di bidang baru.
 Walaupun saat ini prosesor device sudah powerfull, tetapi kemampuan batere dan memori
tetap menjadi masalah. Komputasi berat, terutama yang berjalan di background perlu
memperhitungkan masalah penggunaan daya.
Alasan Membangun Aplikasi Android

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.

Arsitektur Mobile Programming


Google sebagai pencipta Android yang kemudian diasuh oleh Open Handset Alliance mengibaratkan
Android sebagai sebuah tumpukan software. Setiap lapisan dari tumpukan ini menghimpun
beberapa program yang mendukung fungsi-fungsi spesifik dari sistem operasi. Tumpukan paling
bawah adalah kernel. Google menggunakan kernel Linux versi 2.6 untuk membangun Android, yang
mencakup memory management, security setting, power management, dan beberapa driver
hardware. Bertempat di level yang sama dengan library adalah lapisan runtime yang mencakup
serangkaian inti library Java. Dengannya, para programmer dapat mengembangkan aplikasi untuk
Android menggunakan bahasa pemrograman Java. Lapisan selanjutnya adalah application
framework, yang mencakup program untuk mengatur fungs i- fungsi dasar smartphone.
Arsitektur Android

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

Anda mungkin juga menyukai