USAID-SMART Lab ProgramSelamat Datang di Bank ABC Saldo saat ini: Rp. 100000 Simpan uang: Rp. 500000...

67
USAID-SMART Lab Program 1 Modul Mobile Programming

Transcript of USAID-SMART Lab ProgramSelamat Datang di Bank ABC Saldo saat ini: Rp. 100000 Simpan uang: Rp. 500000...

  • 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

    ([email protected])

  • 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.

  • �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������