Anda di halaman 1dari 19

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 komunitaskomunitas 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, atribuatribut 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

Copyright Laboratorium Pemrograman


P.S. Sistem Informasi - Universitas Jember