-
USAID-SMART Lab Program
1 Modul Mobile Programming
-
USAID-SMART Lab Program
2 Modul Mobile Programming
Modul Pelatihan
Android Programming
Oleh: Indra, S.Kom, M.T.I ([email protected])
Dzulfaqqar ([email protected])
Dolly Virgian Shaka Yudha Sakti, M.Kom
-
USAID-SMART Lab Program
3 Modul Mobile Programming
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. MacamMacam Penyimpanan .......................................................................................... 57
-
USAID-SMART Lab Program
4 Modul Mobile Programming
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)
-
USAID-SMART Lab Program
5 Modul Mobile Programming
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.
-
USAID-SMART Lab Program
6 Modul Mobile Programming
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
-
USAID-SMART Lab Program
7 Modul Mobile Programming
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
-
USAID-SMART Lab Program
8 Modul Mobile Programming
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)
-
USAID-SMART Lab Program
9 Modul Mobile Programming
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
-
USAID-SMART Lab Program
10 Modul Mobile Programming
1.3.Konsep Dasar Pemrograman Berorientasi Objek
B. Teori Singkat
Berorientasi Objek?
-
USAID-SMART Lab Program
11 Modul Mobile Programming
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)
-
USAID-SMART Lab Program
12 Modul Mobile Programming
Class = Method + Variable
Object = Method + Variable yang Memiliki Nilai
-
USAID-SMART Lab Program
13 Modul Mobile Programming
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
-
USAID-SMART Lab Program
14 Modul Mobile Programming
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
-
USAID-SMART Lab Program
15 Modul Mobile Programming
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
-
USAID-SMART Lab Program
16 Modul Mobile Programming
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
-
USAID-SMART Lab Program
17 Modul Mobile Programming
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
-
USAID-SMART Lab Program
18 Modul Mobile Programming
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
-
USAID-SMART Lab Program
19 Modul Mobile Programming
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.
-
USAID-SMART Lab Program
20 Modul Mobile Programming
� 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
Modifier Dalam Class
yang sama
Dalam
package yang
sama
Dalam Sub
Class
Dalam
Package
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
-
USAID-SMART Lab Program
21 Modul Mobile Programming
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”.
-
USAID-SMART Lab Program
22 Modul Mobile Programming
-
USAID-SMART Lab Program
23 Modul Mobile Programming
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
-
USAID-SMART Lab Program
24 Modul Mobile Programming
Polymorphism – Overriding
-
USAID-SMART Lab Program
25 Modul Mobile Programming
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)
-
USAID-SMART Lab Program
26 Modul Mobile Programming
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.
-
USAID-SMART Lab Program
27 Modul Mobile Programming
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
-
USAID-SMART Lab Program
28 Modul Mobile Programming
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
-
USAID-SMART Lab Program
29 Modul Mobile Programming
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.
-
USAID-SMART Lab Program
30 Modul Mobile Programming
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.
-
USAID-SMART Lab Program
31 Modul Mobile Programming
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
-
USAID-SMART Lab Program
32 Modul Mobile Programming
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.
-
USAID-SMART Lab Program
33 Modul Mobile Programming
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 :
-
USAID-SMART Lab Program
34 Modul Mobile Programming
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 :
-
USAID-SMART Lab Program
35 Modul Mobile Programming
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
-
USAID-SMART Lab Program
36 Modul Mobile Programming
4. Spinner
Spinner digunakan untuk menampilkan pilihan seperti combo box
Contoh :
Gambar 1
Gambar 2
Gambar 3
Hasil :
-
USAID-SMART Lab Program
37 Modul Mobile Programming
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:
-
USAID-SMART Lab Program
38 Modul Mobile Programming
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.
-
USAID-SMART Lab Program
39 Modul Mobile Programming
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.
-
USAID-SMART Lab Program
40 Modul Mobile Programming
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
-
USAID-SMART Lab Program
41 Modul Mobile Programming
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.
Berikut ini tahaptahap 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
-
USAID-SMART Lab Program
42 Modul Mobile Programming
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.
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.
Majalah
Koran
Komik
...
Novel
...
Fragment 1
Judul Bacaan
Fragment 2
Judul Bacaan
Fragment 2
Majalah
Koran
Komik
...
Novel
...
Fragment 1
-
USAID-SMART Lab Program
43 Modul Mobile Programming
C. Praktikum
Buat file di res->layout dengan nama fragment1.xml dan fragment2.xml dan ubah main.xml
Judul Bacaan
Fragment 2
Majalah
Koran
Komik
...
Novel
...
Fragment 1
-
USAID-SMART Lab Program
44 Modul Mobile Programming
Pada main.xml diatas terdapat 2 fragment name Fragment1 dan Fragment2. Buat file java Fragment1.java dan Fragment2.java seperti dibawah ini
-
USAID-SMART Lab Program
45 Modul Mobile Programming
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 kemudian lengkapi program pada class MainActivity.
-
USAID-SMART Lab Program
46 Modul Mobile Programming
Hasil:
-
USAID-SMART Lab Program
47 Modul Mobile Programming
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
-
USAID-SMART Lab Program
48 Modul Mobile Programming
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
-
USAID-SMART Lab Program
49 Modul Mobile Programming
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.
-
USAID-SMART Lab Program
50 Modul Mobile Programming
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
-
USAID-SMART Lab Program
51 Modul Mobile Programming
Jalankan aplikasi dan hasilnya akan seperti berikut
-
USAID-SMART Lab Program
52 Modul Mobile Programming
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:
-
USAID-SMART Lab Program
53 Modul Mobile Programming
Gambar 5.1 Ilustrasi Layout Kalkulator
-
USAID-SMART Lab Program
54 Modul Mobile Programming
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
-
USAID-SMART Lab Program
55 Modul Mobile Programming
Gambar 5.2 Ilustrasi Sintak Kalkulator
-
USAID-SMART Lab Program
56 Modul Mobile Programming
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.
-
USAID-SMART Lab Program
57 Modul Mobile Programming
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.
-
USAID-SMART Lab Program
58 Modul Mobile Programming
C. Praktikum
1. Buatlah sebuah Android Application Project baru dan ubah main.xml menjadi seperti berikut
-
USAID-SMART Lab Program
59 Modul Mobile Programming
Selanjutnya lengkapi program pada MainActivity.java seperti berikut
Jalankan aplikasi dan inputkan nama pada EditText
-
USAID-SMART Lab Program
60 Modul Mobile Programming
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
-
USAID-SMART Lab Program
61 Modul Mobile Programming
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
-
USAID-SMART Lab Program
62 Modul Mobile Programming
Selanjutnya buat activity dengan nama AppPreferenceActivity.java seperti berikut
Selanjutnya ubah main.xml seperti berikut
-
USAID-SMART Lab Program
63 Modul Mobile Programming
Selanjutnya ubah MainActivity.java seperti berikut
Dan yang terakhir daftarkan activity pada AndroidManifest.xml seperti berikut
-
USAID-SMART Lab Program
64 Modul Mobile Programming
Jalankan aplikasi dan hasilnya akan seperti berikut
-
USAID-SMART Lab Program
65 Modul Mobile Programming
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
-
USAID-SMART Lab Program
66 Modul Mobile Programming
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.
-
�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������