Anda di halaman 1dari 67

USAID-SMART Lab Program

Modul Mobile Programming


1
USAID-SMART Lab Program

Modul Pelatihan
Android Programming

Oleh:
Indra, S.Kom, M.T.I (indra@budiluhur.ac.id)
Dzulfaqqar (dzulfaqqar.arab@gmail.com)
Dolly Virgian Shaka Yudha Sakti, M.Kom
(Shaka@budiluhur.ac.id)

Modul Mobile Programming


2
USAID-SMART Lab Program

Daftar Isi

BAB 1 ................................................................................................................................................ 4
Object Oriented Programming........................................................................................................... 4
1.1. Konsep Pemrograman dan Paradigmanya .......................................................................... 4
1.2. Teknologi Java dan Perangkat Pemrograman...................................................................... 5
1.3. Konsep Dasar Pemrograman Berorientasi Objek .............................................................. 10
1.4. Karakteristik Pemrograman Berorientasi Objek ................................................................ 19
BAB 2 .............................................................................................................................................. 26
Android Programming ..................................................................................................................... 26
2.1. Pengenalan Android ......................................................................................................... 26
2.2. Arsitektur Sistem Android ................................................................................................ 27
2.3. Fitur pada Android ........................................................................................................... 28
2.4. Life Cycle pada Android .................................................................................................... 29
2.5. Persiapan Editor Android ................................................................................................. 31
BAB 3 .............................................................................................................................................. 33
Desain dan Membuat User Interface ............................................................................................... 33
3.1. Widget Android................................................................................................................ 33
BAB 4 .............................................................................................................................................. 40
Activity, Fragment dan Intent Android ............................................................................................. 40
4.1. Pengenalan Activity.......................................................................................................... 40
4.2. Pengenalan Fragment ...................................................................................................... 42
4.3. Pengenalan Intent ............................................................................................................ 47
BAB 5 .............................................................................................................................................. 52
Desain Algoritma di Android ............................................................................................................ 52
5.1. Kalkulator Mobile ............................................................................................................. 52
BAB 6 .............................................................................................................................................. 57
Shared Preference Android.............................................................................................................. 57
6.1. Macam­Macam Penyimpanan .......................................................................................... 57

Modul Mobile Programming


3
USAID-SMART Lab Program

BAB 1
Object Oriented Programming

1.1. Konsep Pemrograman dan Paradigmanya

A. Teori Singkat
Bahasa pemrograman?
Komputer bekerja seperti switching dan hanya mengenali 0 dan 1. Manusia tidak
(paham) berbicara dengan bahasa 0 dan 1. Perlu bahasa pemrograman yang dapat
menjadi perantara percakapan antara komputer dan manusia. Bahasa
pemrograman diubah ke dalam bahasa yang dipahami oleh komputer dengan
menggunakan interpreter atau kompiler.
Compiler or Interpreter?
1. Compiler:
Mengkompilasi source code menjadi bentuk file yang bisa dieksekusi

2. Interpreter:
Mengkompilasi dan menjalankan source code secara langsung
C Language (Compiler)

Modul Mobile Programming


4
USAID-SMART Lab Program

Java Language (Compiler + Interpreter)

Tingkat Bahasa Pemrograman


1. Bahasa Pemrograman Tingkat Rendah (Assembler)
2. Bahasa Pemrograman Tingkat Sedang (C, Pascal, Fortran)
3. Bahasa Pemrograman Tingkat Tinggi (Java, C++, C#)
Paradigma Pemrograman dapat dilihat dari sudut pandang dan style pemrograman
berhubungan dengan bagaimana sebuah masalah diformulasikan dalam bahasa
pemrograman
1. Functional Programming: Urutan fungsi secara sekuensial (Scheme, Lisp)

2. Procedural Programming: Pemecahan masalah berdasarkan prosedural kerja


yg terkumpul dalam unit pemrograman bernama fungsi (C, Pascal)
3. Object-Oriented Programming: Koleksi object yang saling berinteraksi . Class
adalah unit pemrograman (Java, C#, C++)
1.2.Teknologi Java dan Perangkat Pemrograman
A. Teori Singkat
Sejarah Java
James Gosling, Mike Sheridan, and Patrick Naughton memulai bahasa Java pada
Juni 1991. Bahasa pemrograman ini pertama bernama Oak, kemudian berganti
nama menjadi Green dan pada akhirnya bernama Java.

Modul Mobile Programming


5
USAID-SMART Lab Program

Java Family Suite


1. Java Standard Edition (Java SE)
For desktop, client/server application

2. Java Enterprise Edition (Java EE)


For e-business, e-commerce web based application

3. Java Micro Edition (Java ME)


For small devices, like palm, handphone, etc

Modul Mobile Programming


6
USAID-SMART Lab Program

Java Version

Version Year Important New Features

1.0 1996

1.1 1997 Inner classes

1.2 1998 Swing, Collections

1.3 2000 Performance enhancements

1.4 2002 Assertions, XML

5 2004 Generic classes, enhanced for


loop, auto-boxing, enumerations

6 2006 Library improvements

7 2010 Small language changes and


library improvements

8 2014

Why Java?

� Simple dan merupakan pemrograman berorientasi objek

� Open Source

� Arsitektur netral (multi platform)

Perangkat pemrograman Java


1. Compiler (Interpreter):
Java Standard Edition (JSE)
2. Code Editor:
a. Text Editor:
TextPad, Notepad++

b. Integrated Development Environment (IDE):


Netbeans, Eclipse, JCreator

Modul Mobile Programming


7
USAID-SMART Lab Program

How Java Works?

Menulis Program Java


Bentuk program:

� Text-Based Console Application -> menggunakan library non-GUI di Java

� GUI Application -> menggunakan AWT atau Swing untuk library GUI

Suatu class bisa dieksekusi karena memiliki method main


public static void main(String[] args)

Modul Mobile Programming


8
USAID-SMART Lab Program

B. Praktikum
1. Buat class HaloIndonesia
2. Isi HaloIndonesia.java dengan main method dan tiga tampilan di bawah:
Halo Indonesia

Selamat Pagi Indonesia


Jaya Indonesia

Modul Mobile Programming


9
USAID-SMART Lab Program

1.3.Konsep Dasar Pemrograman Berorientasi Objek


B. Teori Singkat
Berorientasi Objek?

Modul Mobile Programming


10
USAID-SMART Lab Program

Perbedaan Class dan Object

� Class: konsep dan deskripsi dari sesuatu

o Class mendeklarasikan method yang dapat digunakan (dipanggil) oleh


object

� Object: instance dari class, bentuk (contoh) nyata dari class


o Object memiliki sifat independen dan dapat digunakan untuk
memanggil method

� Contoh Class dan Object:

o Class: mobil
o Object: mobilnya pak Joko, mobilku, mobil berwarna merah

� Class seperti cetakan kue, dimana kue yg dihasilkan dari cetakan kue itu
adalah object

� Warna kue bisa bermacam-macam meskipun berasal dari cetakan yang sama
(object memiliki sifat independen)

Modul Mobile Programming


11
USAID-SMART Lab Program

Class = Method + Variable

Object = Method + Variable yang Memiliki Nilai

Modul Mobile Programming


12
USAID-SMART Lab Program

Attribute dan Method


Variable yang mengitari class, dengan nilai datanya bisa ditentukan di object.
Variable digunakan untuk menyimpan nilai yang nantinya akan digunakan pada
program. Variable memiliki jenis (tipe), nama dan nilai.
Name, age, dan weight adalah atribute (variabel) dari class Person.

Method adalah urutan instruksi yang mengakses data dari object.


Method melakukan:
1. Manipulasi data

2. Perhitungan matematika
3. Memonitor kejadian dari suatu event

Modul Mobile Programming


13
USAID-SMART Lab Program

Jenis Method: Mutator dan Accessor

Parameter
Sepeda akan berguna apabila ada object lain yang berinterasi dengan sepeda
tersebut. Object software berinteraksi dan berkomunikasi dengan object lain
dengan cara mengirimkan message atau pesan. Pesan adalah suatu method, dan
informasi dalam pesan dikenal dengan nama parameter

Modul Mobile Programming


14
USAID-SMART Lab Program

Pengiriman Pesan dan Parameter

1. You -> object pengirim


2. YourBicycle -> object penerima
3. changeGears -> pesan berupa method yang dijalankan
4. lowerGera -> parameter yang dibutuhkan method (pesan) untuk
dijalankan

1. Remote AC -> object pengirim


2. AC -> object penerima

Modul Mobile Programming


15
USAID-SMART Lab Program

Konstruktor
Method yang digunakan untuk memberi nilai awal pada saat object diciptakan.
Dipanggil secara otomatis ketika new digunakan untuk membuat instan class
Sifat konstruktor:
1. Nama konstruktor sama dengan nama class
2. Tidak memiliki nilai balik dan tidak boleh ada kata kunci void
Kata Kunci ‘this’
Digunakan pada pembuatan class dan digunakan untuk menyatakan object
sekarang.

C. Praktikum
1. Membuat Class, Object dan Memanggil Atribut

Modul Mobile Programming


16
USAID-SMART Lab Program

2. Membuat dan Memanggil Method

3. Buat class Handphone, masukkan dalam package hp


Class Handphone berisi empat method di bawah:
a. hidupkan()
b. lakukanPanggilan()

c. kirimSMS()
d. matikan()
Isi masing-masing method dengan tampilan status menggunakan
System.out.println()

Buat class HandphoneBeraksi, dan panggil method-method diatas dalam class


tersebut
4. Buat class Mahasiswa yang berisi tiga method:
a. membaca()
b. nyontek()

c. modifikasi()
Isi masing-masing method dengan tampilan status menggunakan
System.out.println()
Buat class MahasiswaBeraksi, dan panggil method-method diatas dalam class
tersebut

Modul Mobile Programming


17
USAID-SMART Lab Program

5. Buat Class bernama Matematika, yang berisi method dengan dua parameter:
a. pertambahan(int a, int b)
b. pengurangan(int a, int b)
c. perkalian(int a, int b)

d. pembagian(int a, int b)
Buat Class bernama MatematikaBeraksi, yang mengeksekusi method dan
menampilkan:
a. Pertambahan: 20 + 20 = 40

b. Pengurangan: 10-5 = 5
c. Perkalian: 10*20 = 200
d. Pembagian: 21/2 = 10
6. Buat class Bank
Buat konstruktor class Bank dengan parameter: saldo
Buat method: simpanUang, ambilUang, dan getSaldo

Buat class BankBeraksi, tetapkan saldo awal lewat konstruktur Rp. 100000,
jalankan 3 method di atas, dan tampilkan proses sebagai berikut:
Selamat Datang di Bank ABC
Saldo saat ini: Rp. 100000

Simpan uang: Rp. 500000


Saldo saat ini: Rp. 600000
Ambil uang: Rp. 150000
Saldo saat ini: Rp. 450000

Modul Mobile Programming


18
USAID-SMART Lab Program

1.4.Karakteristik Pemrograman Berorientasi Objek


A. Teori Singkat

Abstraction
Cara kita melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu sebagai
suatu kumpulan subsistem (object) yang saling berinteraksi.

� Mobil adalah kumpulan sistem pengapian, sistem kemudi, sistem pengereman


Alat meng-abstraksikan sesuatu adalah class.
Object bersifat modularity. Object dapat ditulis dan dimaintain terpisah
(independen) dari object lain.

Encapsulation
Mekanisme menyembunyikan suatu proses dan data dalam sistem untuk
menghindari interferensi, dan menyederhanakan penggunaan proses itu sendiri.

Modul Mobile Programming


19
USAID-SMART Lab Program

� Tongkat transmisi (gigi) pada mobil

� Tombol on/off/pengaturan suhu pada AC

Class access level (public, protected, privat) adalah implementasi dari konsep
encapsulation.
Enkapsulasi data dapat dilakukan dengan cara:

� mendeklarasikan instance variable sebagai private

� mendeklarasikan method yang sifatnya public untuk mengakses variable


tersebut

Encapsulation dan Access Modifier

Dalam Dalam
Dalam Class Dalam Sub
Modifier package yang Package
yang sama Class
sama Lain
private √
tanpa
√ √
tanda
protected √ √ √
public √ √ √ √

Enkapsulasi data juga dapat dilakukan dengan cara:

� mendeklarasikan instance variable sebagai private

� mendeklarasikan method yang sifatnya public untuk mengakses variable


tersebut

Modul Mobile Programming


20
USAID-SMART Lab Program

Inheritance (Pewarisan)
Suatu class dapat mewariskan atribut dan method kepada class lain (subclass)
serta membentuk class hierarchy. Pewarisan sangat penting untuk Reusability.
Pewarisan pada Java menggunakan keyword “extends”.

Modul Mobile Programming


21
USAID-SMART Lab Program

Modul Mobile Programming


22
USAID-SMART Lab Program

Polymorphism
Kemampuan untuk memperlakukan object yang memiliki perilaku (bentuk) yang
berbeda. Implementasi konsep polymorphism:
1. Overloading: Kemampuan untuk menggunakan nama yang sama untuk
beberapa method yang berbeda parameter (tipe dan atau jumlah)
2. Overriding: Kemampuan subclass untuk menimpa method dari superclass,
yaitu dengan cara menggunakan nama dan parameter yang sama pada method

Polymorphism – Overloading

Modul Mobile Programming


23
USAID-SMART Lab Program

Polymorphism – Overriding

Modul Mobile Programming


24
USAID-SMART Lab Program

B. Praktikum
1. Buat class MatematikaCanggih yang merupakan inherit dari class Matematika
a. Tambahkan method modulus(int a, int b) yang menghitung modulus dari a
dan b
b. Operator modulus adalah %
2. Buat class MatematikaCanggihBeraksi yang memanggil method pertambahan,
perkalian dan modulus
3. Overloading pada Matematika
a. Kembangkan class Matematika, MatematikaCanggih dan
MatematikaBeraksi

b. Lakukan overloading pada Method yang ada (pertambahan, pengurangan,


perkalian, pembagian, modulus)
c. Tambahkan method baru bertipe data double (pecahan) dan memiliki 3
parameter
d. Uji di kelas MatematikaBeraksi dengan parameter pecahan: 12.5, 28.7,
14.2

e. Misalnya:
pertambahan(12.5, 28.7, 14.2) pertambahan(12, 28, 14)
pertambahan(23, 34) pertambahan(3.4, 4.9)

Modul Mobile Programming


25
USAID-SMART Lab Program

BAB 2
Android Programming

2.1.Pengenalan Android

A. Tujuan
Praktikum diharapkan dapat:
1. Memahami Android
B. Teori Singkat

Apa itu android ?


Android adalah sebuah system operasi berbasis linux yang di rancang khusus
untuk perangkat selular / telpon genggam yang biasa di sebut gadget atau
smartphone (telpon pintar) dan computer tablet (tab).

Android awalnya di kembangkan oleh android inc, sebuah perusahaan yang


membuat software untuk ponsel yang berada di Palo Alto, California Amerika
Serikat . Di tahun 2005 Google membeli/mengakusisi perusahaan yang waktu itu
bernama Android sebuah perusahaan yang berkecimpung didunia mobile. Setelah
diambil alih oleh Google, pada November 2007 Google mengumumkan bahwa
mereka sedang mengembangkan ponsel Google dengan OS (Operating System)
mobile terbaru yang mereka namai Android. Google merilis versi Android
pertama pada Oktober 2008.
Android merupakan sekumpulan software untuk perangkat berbasis mobile yang
berisi Sistem Operasi, Middleware, dan Aplikasi berdaya guna. Android
menyediakan SDK termasuk API yang dibutuhkan untuk memulai
mengembangkan aplikasi berbasis android.
Dalam mengembangkan aplikasi android dapat menggunakan bahasa
pemrograman Java. Android menggunakan java tetapi bukan java. Android
berjalan diatas Dalvik Virtual Machine.

Modul Mobile Programming


26
USAID-SMART Lab Program

2.2.Arsitektur Sistem Android


A. Tujuan
Praktikum diharapkan dapat:
1. Mengetahui arsitektur sistem pada Android

B. Teori Singkat

Android merupakan sistem operasi, middleware, dan aplikasi berdaya guna. Pada
android memiliki sistem arsiketur yang terdiri dari

� Linux Kernel => merupakan sistem operasi pada android yang berbasis Linux

� Libraries => fitur-fitur pada android yang dapat digunakan untuk


memanfaatkan suatu fungsi

� Android Runtime => merupakan inti atau nyawa, Dalvik Virtuual Machine
memang di optimalkan untuk android mobile device

� Application Framework => berbagai jenis framework yang digunakan dalam


memudahkan mengembangkan aplikasi android

� Application => aplikasi-aplikasi yang dapat di install pada android

Modul Mobile Programming


27
USAID-SMART Lab Program

2.3.Fitur pada Android


A. Tujuan
Praktikum diharapkan dapat:
Mengetahui arsitektur sistem pada Android

B. Teori Singkat
Google telah menyediakan banyak fungsionalitas yang dapat memudahkan
programmer dalam membuat aplikasi apapun di android.

Kebutuhan Fitur yang digunakan


Menyimpan data? SharedPreference, SQLite
Mengambil gambar / merekam video? Camera
Lokasi keberadaan? GPS
Device menghadap atas atau bawah? Sensor Proximity
Device bergerak? Accelerometer

Dalam mengembangkan aplikasi android perlu


1. Application framework enabling reuse and replacement of components

2. Dalvik virtual machine optimized for mobile devices


3. Integrated browser based on the open source WebKit engine
4. Optimized graphics powered by a custom 2D graphics library; 3D graphics
based on the OpenGL ES 1.0 specification (hardware acceleration optional)
5. SQLite for structured data storage

6. Media support for common audio, video, and still image formats (MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF)
7. GSM Telephony (hardware dependent)
8. Bluetooth, EDGE, 3G, and WiFi (hardware dependent)

9. Camera, GPS, compass, and accelerometer (hardware dependent)


10. Rich development environment including a device emulator, tools for
debugging, memory and performance profiling, and a plugin for the Eclipse
IDE

Modul Mobile Programming


28
USAID-SMART Lab Program

2.4.Life Cycle pada Android


A. Tujuan
Praktikum diharapkan dapat:
1. Mengetahui arsitektur sistem pada Android

B. Teori Singkat
Dalam pembuatan aplikasi android memiliki beberapa tahap seperti gambar
dibawah ini.

1. Pada tahap pertama ini menyiapkan tampilan dan kebutuhan seperti kata-
kata, gambar, warna dan lain-lain
a. layout => file-file xml berupa tampilan

b. string => file xml yang berisi variabel kata yang bersifat global
c. asset => tempat storage file seperti movie, sound dan lain-lain
d. style => file xml yang berisi theme
e. color => file xml yang berisi variabel warna yang bersifat global
2. Pada tahap kedua ini, SDK pada aplikasi akan otomatis mengenerate /
membuat R.java yang berisi kode-kode yang melambangkan setiap bagian
dari xml ke kode yang dapat dikenali file .java pada tahap ketiga.

Modul Mobile Programming


29
USAID-SMART Lab Program

3. Pada tahap ketiga ini, proses pembuatan activity. Untuk satu activity akan
menangani satu layout utama seperti contoh dibawah ini ActivityLayout
memiliki method onCreate yang mengatur setContentView ke
R.layout.activity_layout yang dibuat pada tahap pertama.

4. Pada tahap keempat ini, merupakan proses pengaturan aplikasi dari versi
android minimal dan maksimal, nama aplikasi, icon / gambar aplikasi,
permission yang dibutuhkan dan mendaftarkan setiap activity yang ada di
aplikasi. Aplikasi android terdiri dari satu hingga banyak activity.
5. Pada tahap kelima ini, keseluruhan file akan disatukan dan dibuild menjadi
aplikasi utuh yang sudah siap di gunakan.

Modul Mobile Programming


30
USAID-SMART Lab Program

2.5.Persiapan Editor Android


A. Tujuan
Praktikan diharapkan dapat:
1. Memahami kebutuhan software maupun hardware

2. Mengerti mengatur editor android


B. Teori Singkat
Persiapan yang dibutuhkan:
1. Editor, ada banyak editor yang dapat digunakan dalam
mengembangkan aplikasi android diantaranya
a. Android Studio, menggunakan bahasa pemrograman Java
b. Eclipse, menggunakan bahasa pemrograman Java
c. Xamarin, menggunakan bahasa pemrograman C#
Saat ini akan menggunakan Eclipse sebagai editor utama. Extract
Eclipse pada C:/Android
2. Android SDK
Tools ini dibutuhkan sebagai engine seperti JDK. Download SDK
terbaru dari link berikut http://developer.android.com/sdk/index.html
kemudian extract SDK pada C:/Android
3. Update Eclipse dengan cara buka Eclipse, pilih Help -> Install New
Software -> Masukan link download berikut https://dl-
ssl.google.com/android/eclipse/
4. Konfigurasi Eclipse ke lokasi SDK yang telah di download pada tahap
2 dengan cara buka Eclipse pilih Window -> Preferences -> Android -
> Browse lokasi SDK berada

Modul Mobile Programming


31
USAID-SMART Lab Program

5. Setting Android Virtual Device (AVD) dengan cara buka Eclipse ->
Window -> Android Virtual Manager -> pilih Create untuk membuat
device baru -> beri nama dan pilih OS yang diinginkan

C. Praktikum
1. Buat sebuah android application dengan cara pilih File -> New -> Android
Application Project dengan ketentuan berikut

� Application name : MengenalAndroid

� Project name : MengenalAndroid

� Package name : com.praktikum.android

� Minimum SDK : API 8: Android 2.2 (Froyo)

� Target SDK : API 17: Android 4.2 (Jelly Bean)

� Compile with : API 17: Android 4.2 (Jelly Bean)

� Theme : None
Jalankan aplikasi dengan cara klik kanan pada project -> pilih Run As ->
Android Application -> pilih AVD yang sudah dikonfigurasi sebelumnya.

Modul Mobile Programming


32
USAID-SMART Lab Program

BAB 3
Desain dan Membuat User Interface

3.1.Widget Android

A. Tujuan
Praktikan diharapkan dapat:
1. Mengetahui berbagai jenis widget
2. Mampu menggunakan widget
B. Teori Singkat
Widget digunakan untuk membuat tampilan memiliki fungsi. Dengan widget
sebagai perantara user menggunakan sistem pada aplikasi. Beberapa widget dasar
adalah: TextView, Button, Image, EditText, CheckBox, RadioButton, ListView.

Setiap widget memiliki property atau atribut yang mengatur bagaimana widget itu
ditampilkan, seperti tinggi dan lebar widget. Property ini dapat diset melalui xml
layout, property editor atau melalui program. Beberapa widget memiliki beberapa
event yang ter-trigger berdasarkan aksi dari pengguna, misalnya event click pada
button.
Berikut akan kita bahas beberapa widget yang terpenting. Silahkan buat project
baru.

1. Text View
TextView digunakan untuk menampilkan label teks. View memiliki beberapa
property seperti android:textSize, android:textStyle, android:textColor.
Contoh :

Modul Mobile Programming


33
USAID-SMART Lab Program

Hasil :

Penjelasan:

� android:id => penamaan sebuah TextView

� android:layout_width => mengatur lebar dari TextView

� android:layout_height => mengatur tinggi dari TextView

� android:text => menampilkan tulisan pada TextView

� android:textColor => memberi warna pada tulisan di TextView

� android:textStyle => membuat bentuk tulisan di TextView

� android:textSize => memberi ukuran pada TextView

2. Button
Button merupakan turunan dari TextView sehingga yang berlaku di textView
juga berlaku di button. Tambahan property yang penting adalah
android:onClick
Contoh :

Modul Mobile Programming


34
USAID-SMART Lab Program

Hasil :

Penjelasan :

� android:id => penamaan sebuah Button

� android:layout_width => mengatur lebar dari Button

� android:layout_height => mengatur tinggi dari Button

� android:text => menampilkan tulisan pada Button

� android:background => memberi gambar / warna pada background Button

� android:clickable => membuat Button dapat di klik, bernilai true atau false

3. EditText
EditText digunakan untuk menerima input dari pengguna. Pada palette telah
disediakan berbagai jenis EditText, penggunaan disesuaikan berdasarkan apa
yang akan diinput. Property yang digunakan pada EditText memiliki tambahan
seperti

� android:inputType => memberi tipe inputan dari EditText seperti input


angka,email, dan password

� android:hint => memberi tulisan sebagai petunjuk apa yang harus


diinputkan

Modul Mobile Programming


35
USAID-SMART Lab Program

4. Spinner
Spinner digunakan untuk menampilkan pilihan seperti combo box
Contoh :

Gambar 1

Gambar 2

Gambar 3
Hasil :

Modul Mobile Programming


36
USAID-SMART Lab Program

Penjelasan :

� android:entries => mengisi Spinner dengan data array, digunakan saat isi
dari Spinner tetap

� Untuk mengisi data pada Spinner melalui program dapat diliat pada
Gambar 3

5. CheckBox
User dapat memilih lebih dari satu pilihan dengan checkbox.
Contoh:

Hasil:

Modul Mobile Programming


37
USAID-SMART Lab Program

Pada CheckBox memiliki property umum seperti yang lainnya, tetapi juga
memiliki property android:checked yang dapat diberi nilai true atau false.
Property tersebut digunakan untuk memberi checklist secara default pada
suatu pilihan jika diberi nilai true.

6. RadioButton
Pada radioButton, hanya satu pilihan yang boleh aktif (mutual exclusive) di
dalam satu group yang disebut radioGroup.
Contoh:

Hasil:

Untuk membuat RadioGroup cukup dengan meletakkan RadioButton di dalam


RadioGroup. Pada RadioButton memiliki property yang menyerupai dengan
CheckBox. Akan tetapi pada RadioGroup dapat diberi property
android:orientation yang bernilai vertical atau horizontal.

Modul Mobile Programming


38
USAID-SMART Lab Program

7. ListView
List view adalah widget untuk menampilkan data dalam bentuk list yang dapat
di-scroll. Karena ukuran layar smartphone terbatas, listview merupakan salah
satu widget terpenting dan paling sering digunakan untuk menampilkan
kelompok informasi.

Modul Mobile Programming


39
USAID-SMART Lab Program

BAB 4
Activity, Fragment dan Intent Android

4.1.Pengenalan Activity

A. Tujuan
Praktikan diharapkan dapat:
1. Memahami activity pada android
B. Teori Singkat
Activity adalah komponen terkecil penyusun Android App. Android pada
umumnya minimal memiliki satu activity atau lebih. Activity digunakan untuk
interaksi pengguna dengan sistem pada aplikasi. Pada android memiliki life cycle
activity seperti gambar di bawah ini

Modul Mobile Programming


40
USAID-SMART Lab Program

Berikut ini tahap­tahap activity

onCreate() : membangun activity dengan layout

onStart() : menandakan activity siap di tampilkan ke pengguna

onPause() : method ini akan berjalan ketika ada activity lain sedang berjalan di
activity ini

onResume() : pengguna kembali lagi ke activity awal

onStop() : method ini akan berjalan ketika activity sudah tidak berjalan di
foreground maupun background

onRestart() : method akan memanggil method onStart lagi untuk memulai


activity

onDestroy() : activity selesai atau telah dihentikan dari sistem android

Mengatur activity ada 2 hal penting yang harus diperhatikan yaitu pada activity
class memiliki method setContentView() dan pada AndroidManifest.xml harus
didaftarkan untuk setiap activity.

Modul Mobile Programming


41
USAID-SMART Lab Program

4.2.Pengenalan Fragment
A. Tujuan
Praktikan diharapkan dapat:
1. Memahami fragment pada Android

B. Teori Singkat
Sebelumnya sudah mengetahui activity dan bagaimana menggunakan activity.
Activity merupakan wadah untuk tampilan. Activity yang di tampilkan pada
device dengan layar lebar seperti tablet akan berantakan atau tidak sesuai. Pada
akhirnya activity dapat menampung satu atau lebih mini-activity. Mini-activity ini
disebut dengan fragment.
Sebagai contoh fragment 1 akan merupakan activity pertama dan fragment 2
merupakan activity lain yaitu activity kedua. Activity pertama merupakan list
buku bacaan yang pengguna di arahkan memilih salah satu jenis. Activity kedua
akan menampilkan judul bacaan.

Fragment 1 Fragment 2
Majalah
Koran
Komik Judul Bacaan
...
...
Novel
Pada penerapannya pada device kecil maka akan menampilkan fragment menjadi
activity yang terpisah menjadi 2. Namun pada device berlayar besar fragment
akan menjadi satu activity.

Fragment 1 Fragment 2
Majalah
Koran
Judul
Komik
Bacaan
...
...
Novel

Modul Mobile Programming


42
USAID-SMART Lab Program

Fragment 1 Fragment 2
Majalah
Koran
Judul
Komik
Bacaan
...
...
Novel

C. Praktikum
Buat file di res->layout dengan nama fragment1.xml dan fragment2.xml dan ubah
main.xml

Modul Mobile Programming


43
USAID-SMART Lab Program

Pada main.xml diatas terdapat 2 fragment name Fragment1 dan Fragment2. Buat
file java Fragment1.java dan Fragment2.java seperti dibawah ini

Modul Mobile Programming


44
USAID-SMART Lab Program

Hasil :
Selanjutnya buat fragment secara dinamik, aplikasi akan memeriksa apakah

device dalam keadaan landscape atau portrait dan akan menampilkan setiap
fragment. Beri tanda remark atau komen pada kedua fragment di main.xml <!--
dan --> kemudian lengkapi program pada class MainActivity.

Modul Mobile Programming


45
USAID-SMART Lab Program

Hasil:

Modul Mobile Programming


46
USAID-SMART Lab Program

4.3.Pengenalan Intent
A. Tujuan
Praktikan diharapkan dapat:
1. Memahami Intent antar Activity

B. Teori Singkat
Untuk menghubungkan antar activity dapat digunakan intent. Intent adalah
fasilitas untuk menghubungkan satu activity ke activity yang lain, baik untuk app
yang sama maupun app yang berbeda. Intent juga digunakan untuk notifikasi
event misalnya SD card dimasukkan, SMS masuk dan lain-lain.
C. Praktikum

Buat layout untuk activity kedua dengan nama layout_activity_dua.xml seperti


berikut

Kemudian buat class ActivityDua.java seperti berikut

Modul Mobile Programming


47
USAID-SMART Lab Program

Selanjutnya pada activity pertama yaitu MainActivity akan memanggil


ActivityDua saat button ditekan. Buat layout main.xml seperti berikut dengan
property android:onClick akan memanggil method tampilActivity2().

Selanjutnya pada MainActivity.java buat method tampilActivity2 seperti berikut

Modul Mobile Programming


48
USAID-SMART Lab Program

Untuk dapat memanggil ActivityDua perlu diatur pada AndroidManifest.xml,


activity yang akan berjalan harus terdaftar pada AndroidManifest. Ubah
AndroidManifest.xml menjadi seperti berikut

Pada AndroidManifest.xml merupakan pengaturan dari versi SDK yang


digunakan, permission yang dibutuhkan, nama aplikasi, icon aplikasi dan satu
activity atau lebih. Activity dapat memiliki intent-filter yang digunakan untuk
memfilter intent yang dapat dihandle activity. Pada baris 22 terdapat
android.intent.category.LAUNCHER menyatakan activity ini adalah initial
activity (activity yang pertama kali jalan) yang dapat dipanggil langsung oleh
launcher. Sedangkan intent.action.MAIN menyatakan activity ini adalah initial
activity tanpa data input dan tidak menghasilkan output.

Modul Mobile Programming


49
USAID-SMART Lab Program

Pada AndroidManifest ini tambahkan activity baru seperti pada baris 26


menyatakan aplikasi memiliki activity lain yaitu ActivityDua. Jalankan aplikasi
maka hasilnya akan seperti berikut

Intent tidak hanya dapat digunakan untuk memanggil activity pada aplikasi yang
sama tetapi dapat juga memanggil activity pada aplikasi lain seperti Web Browser
dan Telepon. Tambahkan beberapa button pada main.xml seperti berikut
Kemudian lengkapi program pada MainActivity.java seperti berikut

Modul Mobile Programming


50
USAID-SMART Lab Program

Jalankan aplikasi dan hasilnya akan seperti berikut

Modul Mobile Programming


51
USAID-SMART Lab Program

BAB 5
Desain Algoritma di Android

5.1.Kalkulator Mobile

A. Tujuan
Praktikan diharapkan dapat:
1. Membuat Aplikasi Kalkulator Sederhana
2. Mengembangkan dan Menerapkan Algoritma di Android
B. Teori Singkat
Kalkultator adalah perangkat sederhana sering digunakan oleh siswa, pekerja dan
ibu rumah tangga untuk menyelesaikan permasalahan terkait matematika. Pada
pembahasan ini akan dijelaskan pembuatan kalkulator sederhana untuk proses
perhitungan penambahan, pengurangan, pembagian dan perkalian. Ilustrasi dari
alur program kalkultor sederhana memiliki dua tahap. Tahap pertama adalah
memasukkan dua nilai yang akan dilakukan operasi matematika. Tahap kedua
adalah dua inputan yang sudah diinput akan dilakukan proses perhitungan sesuai
dengan jenis operator yang dipilih dengan menggunakan algoritma yang dibangun
berdasarkan perhitungan matematika.

Adapun kode atau sintak untuk membuat desain Form Kalkulator pada Gambar
5.1 perangkat Android pada main .xml adalah sebagai berikut:

Modul Mobile Programming


52
USAID-SMART Lab Program

Gambar 5.1 Ilustrasi Layout Kalkulator

Modul Mobile Programming


53
USAID-SMART Lab Program

Setelah pembuatan layout kalkulator selesai, maka tahapan berikutnya adalah


membuat desain algoritma untuk logika perhitungan kalkulator pada class
Kalkulator.java seperti pada Gambar 5.2 dibawah ini:

Gambar 5.2 Ilustrasi Sintak Kalkulator

Modul Mobile Programming


54
USAID-SMART Lab Program

Gambar 5.2 Ilustrasi Sintak Kalkulator

Modul Mobile Programming


55
USAID-SMART Lab Program

Pada tahap terakhir adalah melihat hasil dari program Kalkulator Mobile seperti
pada Gambar 5.3 :

Gambar 5.3 Hasil Akhir Program Kalkulator


C. Praktikum
Buatlah program Perhitungan Kecepatan dalam rumus Fisika Mobile untuk
perhitungan kecepatan, jarak dan waktu dalam menentukan kecepatan suatu
kendaraan bermotor.

Modul Mobile Programming


56
USAID-SMART Lab Program

BAB 6
Shared Preference Android

6.1.Macam-Macam Penyimpanan

A. Tujuan
Praktikan diharapkan dapat:
1. Memahami penyimpanan data pada android
B. Teori Singkat
Metode penyimpanan pada android dapat menggunakan banyak cara, diantaranya
1. File Lokal

� SharedPreferences

� XML File

� Text

� SQL Lite

2. File Server

� JSON -> Php -> Mysql

� XML File

� Text

File lokal mengartikan data tersimpan di dalam device dalam 4 bentuk diatas.
SQL Lite merupakan penyimpanan menggunakan bahasa Structure Query
Language (SQL) dengan ukuran yang terbatas. Penyimpanan data yang paling
sering digunakan yaitu menggunakan file server dengan cara XML File dan
JSON.
SharedPreference merupakan penyimpanan data berdasarkan key-value pair yang
berarti data disimpan dengan sebuah kode dalam bentuk kata dan memiliki nilai
sebagai pasangan dari kode tersebut.

Modul Mobile Programming


57
USAID-SMART Lab Program

C. Praktikum
1. Buatlah sebuah Android Application Project baru dan ubah main.xml menjadi
seperti berikut

Modul Mobile Programming


58
USAID-SMART Lab Program

Selanjutnya lengkapi program pada MainActivity.java seperti berikut

Jalankan aplikasi dan inputkan nama pada EditText

Modul Mobile Programming


59
USAID-SMART Lab Program

Selanjutnya untuk memeriksa apakah data tersimpan dalam file xml maka
pada Eclipse pilih Window -> Open Perspective -> Other -> DDMS. Pilih
device aktif yang digunakan dari Devices.

Kemudian pilih File Explorer dan buka lokasi file SharedPreference berada,
yaitu di data -> data -> nama package (com.praktikum.android) ->
shared_prefs -> nama file preference (MyPrefs.xml) kemudian pilih export di
pojok kanan didalam lingkaran merah

Modul Mobile Programming


60
USAID-SMART Lab Program

Maka data akan tersimpan dalam file xml tersebut seperti berikut

2. Pada penyimpanan SharedPreference biasa digunakan juga untuk menyimpan


pengaturan dari sebuah aplikasi android. Buatlah Android Application Project
baru kemudian buat folder baru pada folder res dan beri nama xml dan buat
juga file dengan nama mypreference.xml seperti berikut

Modul Mobile Programming


61
USAID-SMART Lab Program

Selanjutnya buat activity dengan nama AppPreferenceActivity.java seperti


berikut

Selanjutnya ubah main.xml seperti berikut

Modul Mobile Programming


62
USAID-SMART Lab Program

Selanjutnya ubah MainActivity.java seperti berikut

Dan yang terakhir daftarkan activity pada AndroidManifest.xml seperti berikut

Modul Mobile Programming


63
USAID-SMART Lab Program

Jalankan aplikasi dan hasilnya akan seperti berikut

Modul Mobile Programming


64
USAID-SMART Lab Program

Untuk melihat data yang telah dibuat sama seperti cara sebelumnya berada di
data -> data -> nama package (com.praktikum.android) -> shared_prefs ->
nama file berupa nama package ditambah _preferences
(com.praktikum.android_preference.xml).
Aplikasi ini memiliki 3 button pada main.xml
Load Preferences Screen untuk memanggil activity lain data akan tersimpan
disana

Display Preferences Screen untuk menampilkan isi saat ini pada file xml
Modify Preferences Screen untuk mengganti nilai pada file xml

Modul Mobile Programming


65
USAID-SMART Lab Program

Daftar Pustaka:
Lee,Wei Meng. (2012). Beginning Android 4 Application Development. John
Wiley & Sons, Inc. Indianapolis, Canada.
Satriawahono, Romi. (2013). OOP: Java GUI. Retrieved From
http://romisatriawahono.net/lecture/java/romi-java-03-gui-
october2013.pptx.

Modul Mobile Programming


66
���������������������������������������������������������������������������
���������������������������������������������������������������������������������
�����������������������������������������������������

Anda mungkin juga menyukai