Modul Pelatiham Android Studio

19
Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

description

Langkah-langkah penggunaan awal Android Studio

Transcript of Modul Pelatiham Android Studio

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

BAB I PENGENALAN & BEBERAPA PENGERTIAN DALAM ANDROID

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sisem

operasi, middleware dan apikasi. Dirilis pertama kali pada tanggal 5 November 2007 oleh Google Inc.

yang kemudian membentuk konsorsium dari 34 perusahaan yang bernama Open Handset Alliance

untuk pendistribusiannya.

Pada saat ini, banyak sekali vendor-vendor smartphone yang memproduksi smartphone-nya

menggunakan operating system Android ini. Hal ini dikarenakan, android merupakan sistem operasi

yang open source sehingga bebas didistribusikan dan dipakai oleh vendor manapun, selain itu hal ini

juga dikarenakan Android sendiri adalah platform yang sangat lengkap baik itu sistem operasinya,

aplikasi dan tool pengembangannya, market aplikasi, serta dukungan yang sangat tinggi dari komunitas-

komunitas global.

THE DALVIK VIRTUAL MACHINE (DVM)

Salah satu elemen kunci dari Android adalah Dalvik Virtual Machine(DVM). Android berjalan di dalam

Dalvik Virtual Machine bukan di Java Virtual Machine, sebenarnya banyak persamaannya dengan Java

Virtual Machine seperti Java ME, tetapi Android menggunakan Virtual Machine sendiri yang menurut

saya dikustomisasi dan dirancang untuk memastikan bahwa beberapa fitur-fitur berjalan lebih efisien.

Dalvik Virtual Machine ini mengeksekusi executable file, sebuah format yang memastikan memori

yang digunakan sangat kecil.

ANDROID SDK

Android SDK adalah tools API (Application Programming Interface) yang digunakan untuk mulai

mengembangkan aplikasi pada platform Android menggunakan Bahasa pemrograman Java. Saat ini

disediakan Android SDK mengembangkan aplikasi pada platform Android menggunakan Bahasa

pemrograman Java. Sebagai platform aplikasi-netral, Androdi memberi kesempatan untuk membuat

aplikasi yang kita butuhkan yang bukan merupakan aplikasi bawaan Smartphone. Beberapa fitur-fitur

Android yang paling penting adalah:

Framework Aplikasi yang mendukung penggantian komponen dan reusable

Integrated Browser berdasarkan engine open source WebKit

Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan

spesifikasi opengl ES 1,0 (Opsional akselerasi hardware)

SQLite untuk penyimpanan data

Media Support yang mendukung audio, video dan gambar

Bluetoothe, EDGE, 3G, Wifi

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

Kamera, GPS, Kompas, Accelerometer

Lingkungan development yang lengkap

Untuk source SDK Android pada saat ini dapat diunduh satu dengan Android Studio di

www.developer.android.com

ANDROID STUDIO

Android Studio adalah sebuah IDE baru yang dibuat oleh Google untuk memudahkan kita dalam

membuat aplikasi project android, membuat GUI aplikasi dan menambahkan komponen-komponen

yang lainnya, begitu juga kita dapat melakukan running aplikasi menggunakan Android SDK melalui

Android Studio. Android Studio sendiri memakai IntelliJ IDEA Community Edition yang membuat

Android SDK yang di download di website resmi Android menjadi satu dengan Android

Studio. Selain itu, pada Android Studio diterapkan Gradle untuk manajemen proyeknya. Bagi

yang belum pernah mendengar, Gradle adalah build automation tool yang dapat dikonfigurasi melalui

DSL berbasis Groovy. Ini yang membedakan Gradle dari Ant atau Maven yang memakai

XML. Penggunaan DSL berbasis Groovy menyebabkan Gradle lebih fleksibel dan dapat diprogram

dengan mudah.

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

BAB II HELLO ANDROID

Sekarang kita akan membuat program pertama kita pada android. Seperti belajar bahasa pemrograman

yang lainnya, biasanya program pertama yang dibuat adalah program untuk menampilkan tulisan “hello

world”, yang lebih dikenal dengan sebutan program Hello World.

Jalankan Android Studio, pilih File – New Project sehingga muncul pilihan sebagai berikut :

Application Name akan menjadi nama project kita nantinya, sedangkan Project Location akan

memberikan informasi dimana project kita tersimpan. Selanjutnya ada pemilihan target platform

aplikasi yang akan kita bangun seperti gambar berikut ini :

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

Untuk target platform sendiri, google telah menyediakan opsi lengkap di Android Studio ini sesuai

dengan teknologi yang telah Google rilis. Mulai dari smartphone hingga Google Glass. Lengkap

tersedia sesuai dengan SDK-nya masing-masing. Untuk smartphone sendiri, sampai dengan modul ini

ditulis, telah mencapai versi 5.0 (Lolipop) yang kemungkinan besar akan terus berkembang seiring

dengan kebutuhan yang sangat kompleks di bidang penggunaan smartphone. Informasi detail versi

platform, dapat dilihat di www.developer.android.com. Untuk langkah selanjutnya adalah menentukan

template aplikasi yang dibangun, seperti gambar berikut:

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

Terakhir, beri nama activity pada java file serta file xml yang akan pertama kali di-run ketika program

dijalankan, seperti gambar berikut :

Secara teknis, kita telah berhasil membentuk sebuah projek baru. Pada sisi kiri program kita terdapat

project explorer yang berisi elemen-elemen yang ada pada program HelloWorld kita.

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

Dari project explorer di atas, dapat kita lihat susunan dari Android Studio, file java berada pada folder

java dimana file ini yang akan menjadi pengatur jalannya program kita. File xml berada pada folder

res (layout/values) yang akan menjadi interface kepada user. File Android Manifest.xml. Selanjutnya

kita akan melihat isi dari class java itu.

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

Activity merupakan basic class dalam aplikasi Android. Setiap activity merupakan sesuatu yang unik

atau single, yang ditujukan untuk meng-handle macam-macam hal yang bisa dilakukan oleh user. Di

mana kita lihat bahwa di dalam Activity terdapat sebuah method onCreate yang berfungsi untuk

memanggil setContentView. Sementara setContentView memanggil sebuah file activity_main.xml

(R.layout.activity_main), yang akan bertindak sebagai user interface. Double click file

activity_main.xml untuk melihat kodenya.

Dari source coding activity_main.xml di atas, dapat kita lihat bahwa untuk menampilkan text adalah

dengan coding android:text=@string/hello_world. Kode ini menunjukkan bahwa android:text berasal

dari string.xml yang berada pada directory res/values, melalui pointer yang berada pada file R.java

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

File R.java ini di-generate oleh sistem secara otomatis, dan tidak diperkenankan diubah secara langsung.

Selanjutnya kita akan melihat string yang berada di string.xml, penggunaan string.xml dalam user

interface adalah sesuatu yang direkomendasikan di dalam mem-build sebuah program Android.

Sebagai latihan, anda dapat ubah isi dari string menjadi <string name=”hello_world”>Hai, ini program

pertama saya di android</string>. Kemudian kita akan running aplikasi ini.

Untuk running program kali ini kita bisa memakai AVD biasa, namun pada kesempatan kali ini, kita

akan memakai GenyMotion karena aplikasinya lebih ringan, untuk itu maka kita buka terlebih dahulu

Geny Motionnya.

Apabila belum terinstall template phone maka kita harus mendownloadnya terlebih dahulu, namun

apabila sudah, kita bisa pakai itu untuk menjalankan program android kita.

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

Selanjutnya, jalankan program Androidnya dengan cara klik run di Android, maka secara otomatis

GenyMotion akan menampilkan program kita.

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

BAB III CALCULATOR

A. USER INTERFACE

Secara umum Arsitektur User Interface pada aplikasi Android adalah user interface yang

meliputi Activity dan user interface yang terdiri dari komponen, semua yang berhubungan

dengan user interface pada aplikasi android biasanya berada pada lokasi

res/layout/filename.xml di mana coding java untuk memanggilnya yang kita kenal dengan

R.layout.filename.

B. WIDGET

Paket widget pada dasarnya merupakan visualisasi dari elemen user interface (UI) yang

digunakan pada layar aplikasi Android di mana kita merancang sendiri sesuai kebutuhan kita.

Widget di dalam Android ditampikan dengan konsep view. Di mana aplikasi android pada

umumnya menggunakan widget sebagai layout xml. Di dalam android ada beberapa class

widget yang bisa kita pakai, namun widget yang dipakai secara umum dan wajib diketahui oleh

pengembang android adalah:

1. Widget TextView

Widget ini berfungsi untuk menampilkan text kepada layar dan memiliki opsional bisa

dilakukan edit, tetapi secara default TextView tidak dapat di edit, untuk dapat melakukan

edit harus menggunakan subclass yang berfungsi untuk menampilkan isi TextView

2. Widget EditText

EditText adalah kustomisasi dari TextView dimana menjadi TextView yang dapat

mengkonfigurasi dirinya sendiri sehingga dapat diedit.

3. Widget RadioButton

Pada umumnya RadioButton digunakan bersama-sama dengan RadioGroup didalam satu

RadioGroup terdapat beberapa RadioButton. Dan didalam satu RadioGroup user hanya

dapat melakukan satu check/pemilihan

4. Widget ImageView/ImageButton

ImageView adalah widget untuk menampilkan gambar seperti icon. ImageView dapat

memuat gambar dari berbagai sumber (resource atau content providers), sementara

ImaageButton adalah widget yang menampikan tombo yang berisi gambar yang bisa

ditekan oleh pengguna.

5. Widget ListView

6. Widget ComboList/Spinner

Kumpulan Widgets yang memiliki struktur tersendiri-tersendiri biasanya disebut dengan

contrainers. Jika kita bekerja dalam sebuah tampilan dimana terdapat beberapa widget kita

harus menentukan layout yang digunakan. Seperti kebanyakan GUI yang memiliki layout

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

management, untuk menampilkan containers, seperti layout BoxLayout di Java/Swing,

Android juga memiliki layout management yaitu :

1. Linear

Penggunaannya mirip dengan model box dari Java/Swing, yaitu menampilkan widgets atau

containers dalam posisi baris atau kolom, satu persau. Konfigurasi Linear Layout

mempunyai 5 contents yaitu : Orientation, Fill Model, Weight, Gravity, Padding

a. Orientation

Orientation mengindikasikan layout ditampilkan berdasarkan baris atau kolom,

sintaksnya adalah

Android.orientation=”value”

Valuenya horizontal berdasarkan baris, atau vertikal berdasarkan kolom.

b. Fill Model

Fill Model adalah bentuk tampilan elements/widgets terhadap space yang tersedia,

terdiri dari tiga pilihan yaitu

Specific Dimension, seperti 125px untuk mengisi widgets tampilan di 125

pixel

Wrap_content, widgets akan mengisi posisi dengan konsep natural space

Fill_parent, widgets akan mengisi posisi yang tersedia

c. Weight

Weight mengatur settingan android.layout_width (untuk baris) dan

android.layout_height (untuk kolom)

d. Gravity

Gravity secara default pada tampilan dengan LinearLayout adalah “Left and Top

Aligned”. Jika kita menginginkan tampilan yang berbeda kita bisa mengatur gravity

sesuai kebutuhan. Nilai-nilai gravity adalah, left, center_horizontal, right for left

aligned, centered, dan right_aligned

e. Padding

Padding memiliki empat nilai standard yaitu paddingLeft, paddingRigth, paddingTop,

dan paddingBottom

2. Relative

Relative tau lebih tepatnya RelativeLayout adalah layout di mana jika kita membutuhkan

penempatan widget A di bawah kiri dari widget B atau dibawah sebelah kanan, dan

penempatan lainnya.

RelativeLayout standart-nya mempunyai dua layout yaitu:

Relative to Container

Terdiri dari beberapa posisi yaitu

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

Android:layout_alignParentTop

Android:layout_alignParentBottom

Android:laoyut_alignParentLeft

Android:layout_alignParentHorizontal

Android:layout_centerHorizontal

Android:layout_centerVertical

Android:layout_centerInParent

Relative to Widget lainnya

Android:layout_above

Android:layout_below

Android:layout_toLeftOf

Android:layout_toRightOf

Untuk lebih jelasnya kita bisa langsung praktikum dalam program Calculator yang akan kita

buat. Berikut langkah-langkahnya

C. LANGKAH-LANGKAH PEMBUATAN USER INTERFACE CALCULATOR

1. Buat sebuah viewgroup dengan linear layout karena kita akan membaginya ke dalam

sebuah layout yang rapi. Kemudian ubah layout_width dan height menjadi match_parent

karena kita akan membuat layout keseluruhan yang meliputi seluruh layar dari smartphone.

Tentukan jarak dari layar atas dengan aplikasi yang akan kita bangun kira-kira 16dp

2. Buat 2 linear layout di dalam linear layout yang awal. Kedua linear layout ini berfungsi

untuk membagi layar/layout yang tadi telah kita buat menjadi dua bagian, yang pertama

untuk display dan yang kedua untuk tombol-tombol dengan weight yang berbeda dimana

proporsinya tombol-tombol 2 kali lebih besar daripada display. Layout_width keduanya

kita pakai match_parent karena akan membuat lebar dari layout sepanjang layar, sedangkan

panjang ke bawah (layout_height) memakai wrap_content sesuai dengan weight yang telah

kita berikan. Untuk orientation kita pakai vertical.

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

3. Di dalam layout untuk display kita tambahkan textview yang nantinya akan menjadi nilai

di display kita, dengan nilai default 0. Gravity kita berikan end, agar nilai akan terset di

pojok kanan bawah dari layout. Display ini kita beri nama dengan cara

android:id=”@+id/display” yang artinya textview ini diberi nama display

4. Selanjutnya kita akan mengkotak-kotakkan tombol tadi dengan memberi linear layout di

dalam linear layout untuk tombol tadi namun weight yang kita berikan adalah 1 baik secara

horizontal maupun vertical, sehingga tombol dapat menampung 4 kotak tombol secara

horizontal dan 4 kotak tombol secara vertical

5. Selanjutnya kita akan membuat button-button yang ada dengan nilai 1, 2, 3, 4, 5, 6, 7, 8, 9

0, x,+,-,:,=,C. Tombol-tombol ini merupakan tombol pada kalkulator pada umumnya.

Tombol ini kita berikan nama sesuai dengan angka yang tampil. Dengan layout

match_parent pada seluruh kotak tombol sesuai dengan weight yang tadi telah kita buat.

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

6. Untuk selanjutnya, silahkan anda explore sendiri untuk penambahan tombolnya. Cara yang

dipakai untuk penambahan ini sama dengan yang di atas.

D. ANDROID MANIFEST.XML

File AndroidManifest.xml diperlukan oleh setiap aplikasi android, file ini berada pada folder

root aplikasi, File ini mendeskripsikan variabel global dari paket aplikasi yang kita gunakan,

file ini juga berfungsi untuk mendeskripsikan resource apa saja yang akan digunakan oleh

project seperti koneksi internet, sms, mengakses gps, dll. Berikut adalah contoh

AndroidManifest.xml dalam program Calculator kita.

Di dalam AndroidManifest.xml ini lah berisi semua pendefinisian hal-hal yang dibutuhkan oleh

aplikasi android kita, beberapa elemen yang terdapat di dalam file ini adalah sebagai berikut:

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

Penjelasannya adalah:

<manifest>

Titik root utama dari AndroidManifest.xml, berisi atribut package aplikasi serta paket activity

dalam program android kita. Gambar di atas memperlihatkan bahwa package kita adalah

com.rizkiherdatullah.calculator dengan version code 1

<uses-permission>

Menjelaskan tentag user permission/security permission yang harus diberikan agar aplikasi

dapat berjalan sebagaimana mestinya, apabila kita menggunakan resources yang tersedia dari

system, seperti ketika mengirim sms, dan sebagainya.

<instrumentation>

Mendeklarasikan komponen instrument yang tersedia untuk menguji fungsionalitas dari paket

aplikasi yang kita gunakan dalam aplikasi android kita

<application>

Elemen root yang berisi deklarasi aplikasi android kita

<intent filter>

Mendeklarasikan intent yang dibutuhkan oleh aplikasi android yang kita gunakan, atribu-

atribut bisa diberikan disini untuk mensupply label, icon, data dan informasi yang kita

gunakan dalam aplikasi android.

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

<action>

Berisi tentang action type yang didukung oleh komponen-komponen yang berada dalam

aplikasi android.

<category>

Mendeklarasikan kategori-kategori yang didukung oleh aplikasi android

<data>

Mendeklarasikan tipe MIME, URL, authority penggunaan URL serta penentuan path yang

digunakan dalam URL

<meta-data>

Mendeklarasikan meta data yang kita butuhkan sebagai tambahan data yang ada kita gunakan

dalam aplikasi android

<receiver>

Mendeklarasikan di mana kita diberikan informasi mengenai sesuatu perubahan atau aksi

yang terjadi seperti menerima sms

<service>

Mendeklarasikan komponen yang dapat berjalan sebagai service (berjalan di background)

<provider>

Mendeklarasikan komponen –komponen yang mengelola data dan mempublikasikannya

untuk dikelola/dipakai oleh aplikasi lain

<uses-sdk uses-sdk android:minSdkVersion =?>

Mendeklarasikan sdk Android yang digunakan, bisa juga menentukan sdk minimum yang

digunakan.

E. ACTIVITY

Umumnya, activity berhubungan dengan user di mana activity windows atau UI yang mana

ditampilkan dengan concepts setContentView. Ada 2 method untuk yang pasti dimiliki oleh

satu activity, yaitu:

a. OnCreate untuk menginisiasi suatu activity, biasanya dipanggil dengan perintah

setContentView(int)

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

b. OnPause untuk menyatakan ketika user meninggalkan suatu activity

Untuk penggunaan dengan Context.startActivity(), semua kelas activity harus sesuai dengan

<activity> yang dideklarasikan dalam suatu paket AndroidManifest.xml. Activity adalah

bagian penting dari keseluruhan siklus aplikasi, bagaimana activity dijalankan merupakan

bagian penting dari model aplikasi

F. LANGKAH-LANGKAH MEMBENTUK CODING JAVA CALCULATOR

1. Buat pendeklarasian variable di dalam class main activity

2. Link-kan sebuah variable dengan id yang ada pada xml dengan cara findViewById

3. Buat sebuah method ketika kita mengklik sebuah tombol dengan cara setOnClickListener

seperti di bawah. Untuk tombol lainnya akan memiliki cara coding yang sama.

4. Buat method untuk klik tombol yang lain sesuai logika yang benar

Copyright Laboratorium Pemrograman P.S. Sistem Informasi - Universitas Jember

5. Run program dengan GenyMotion