You are on page 1of 23

BAB 5

PENGENALAN ANDROID
I.

TUGAS PENDAHULUAN
1. Apa yang kamu ketahui tentang Sistem Operasi Android ! Ketik dengan bahasamu
sendiri !
2. Ide apa saja yang dapat digunakan untuk membuat Aplikasi Android ! Ketik dengan
bahasamu sendiri !

(dilarang copas dari internet , bagi yang copas nilai di minus)

II.

TUJUAN

Memahami berbagai tipe sistem operasi Android

Memahami pembuatan aplikasi di android

III.

DASAR TEORI
Android operasi untuk telepon seluler yang berbasis Linux.Android menyediakan

platformyang

bersifat

open

source

bagi

para

pengembang

untuk menciptakan

sebuah aplikasi.Awalnya, Google Inc. mengakuisi Android Inc. yang mengembangkan


software untuk ponselyang berada di Palo Alto, California Amerika Serikat.
untuk

mengembangkan

Android,

dibentuklah

Open

Kemudian

Handset Alliance, yaitu

konsorsium dari 34 perusahaan hardware, software, dan telekomunikasi, termasuk Google,


HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Telepon pertama yang memakai
sistem operasi Android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada
penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon
seluler yang menggunakan Android.
3.1. Versi Android
3.1.1. Android Versi 1.1
Pada 9 Februari 2009, Google merilis Android versi 1.1. Android versi ini
d ilengkapi dengan pembaharuan:
Estetis pada aplikasi.
Jam alarm.

Voice search (pencarian suara).


Pengiriman pesan dengan Gmail.
Pemberitahuan email. adalah sistem

3.1.2. Android Versi 1.5 (Cupcake)


Pada

30

April

2009,

Google

kembali

merilis

telepon

seluler

dengan

menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake)
dibangun di atas Linux Kernel 2.6.27. Terdapat beberapa pembaruan
termasuk

juga penambahan beberapa fitur dalam seluler versi ini

adalah:

Kemampuan merekam dan menonton video dengan modus


kamera;

Mengunggah video ke youtube dan gambar ke Picasa langsung dari telepon;

Dukungan bluetooth A2DP;

Kemampuan terhubung secara otomatis ke headset bluetooth, animasi layar, dan


keyboard pada layar yang dapat disesuaikan dengan sistem

3.1.3. Android Versi 1.6 (Donut)


Donut (versi 1.6) dibangun di atasLinuxkernel 2.6.29 dirilis pada 15 September
2009 dengan beberapa pembaharuan yaitu:

Menampilkan proses pencarian yang lebih baik dibanding


sebelumnya;

Penggunaan baterai indikator dan kontrol applet VPN.

Galeri yang memungkinkan pengguna untuk memilih foto


yang akan dihapus.

Kamera, camcorder dan galeri yang diintegrasikan.

CDMA / EVDO, 802.1x, VPN, gestures, dan text-to-speech engine;

Kemampuan dial contact;

Teknologi text to change speech;

Pengaturan resolusi VWGA

3.1.4. Android Versi 2.0/2.1 (Eclair)


Pada tanggal 26 Oktober 2009 kembali diluncurkan ponsel Android dengan

versi 2.0/2.1 (Eclair) dibangun di atas Linuxkernel 2.6.29, perubahan yang dilakukan
adalah:

Pengoptimalan hardware.

Peningkatan google maps 3.1.2.

Perubahan UI dengan browser baru dan dukungan


HTML5.

Daftar kontak yang baru

Dukungan flash untuk kamera 3,2 MP.

Digital zoom, dan bluetooth 2.1.

3.1.5

Android Versi 2.2 (Froyo)


Android 2.2 atau yang biasa dikenal dengan

Froyodirilis pada tanggal 20 Mei 2010, Froyo dibangun

di

atas Linux kernel 2.6.32, Froyo memang merupakan versi


terbaru dari sistem operasi Android yang telah dirilis oleh
google untuk melengkapi versi terdahulu. Walaupun secara resmi telah dirilis oleh google,
namun tidak semua ponsel Android dapat menggunakan Froyo. Pengguna masih harus
menunggu notifikasi resmi yang dikeluarkan masing-masing vendor ponsel. Berikut ini
adalah peningkatan performa dari Android 2.2 Froyo:

Peningkatan performa meningkat hingga dua kali lipat dari sistem sebelumnya
(Eclair). Pengujian

kinerja prosesor

dalam mengolah

multimedia,

hingga

kemampuan grafis untuk menangani konten 3D.

Free memory

yang ada juga lebih besar dari sebelumnya.

Jika biasanya

pengguna hanya mendapatkan sekitar 100MB, kini dapatmenggunakan sekitar


250MB

dari

total

512MB memory yang ada. Otomatis hal tersebut makin

meningkatkkan performa meski pengguna menjalankan beragam aplikasi sekaligus.

Perubahan lain dari HTC melalui sistem operasi Froyo Desire adalah dapat
meletakkan aplikasi di sd card berbeda dengan sitem operasi terdahulu yang
hanya dapat meletakkan semua aplikasi pada memory utama. Dengan sistem
operasiFroyo,

pengguna

dapat meletakkan seluruh file installasi pada memory

eksternal.

Merekam video dengan kualitas HD.Jika sebelumnya pengguna hanya dapat


merekam gambar bergerak pada resolusi maksimal 800x480pixel, kini dengan Froyo,

resolusi pengambilan video dapat ditingkatkan hingga 1280x720pixel yang setara


dengan kualitas High Definition.

Setelah upgrade ke Froyo, pengguna akan menemukan icon baru pada deretan
aplikasi yang ada yaitu

Wi-Fi

Hotspot.

Seperti

namanya,

aplikasi

ini

memungkinkan ponsel pengguna dijadikan sebagai access point.

Selain itu masih ada lagi aplikasi tambahan seperti Flashlight, App Sharing, dan
Navigation. Khusus untuk navigasi peta, hanya tersedia dalam versi beta dan belum
dapat digunakan di beberapa lokasi.

3.1.6. Android Versi 2.3 (Gingerbread)


Pada tanggal 6 Desember 2010Google merilis Android 2.3 dengan sebutan
Gingerbread, dibangun di atas Linux Kernel 2.6.35 dengan beberapa pembaharuan
sebagai berikut:
Perubahan user interface,
Mendukung ukuran layar WXGA,
Mendukung nativ SIP VoIP,
Mendukung WebM/VP8 playback video, dan AAC audio encoding
Audio efek baru seperti reverb, equalization, headphone virtualization,dan
bass boost,

Peningkatan grafis, audio dan input untuk engembang game.

Mendukung Near Field Communication(NFC)

Peningkatan fungsi copy-paste

3.1.7. Android Versi.2.4 (HoneYmoon)


Dalam persaingan generasi perangkat selanjutnya, Google melakukan
investasi dengan mengadakan kompetisi aplikasi mobile terbaik (killer apps aplikasi unggulan). Kompetisi ini berhadiah $25,000 bagi setiap pengembang
aplikasi yang terpilih. Kompetisi diadakan selama dua tahap yang tiap tahapnya
dipilih

50 aplikasi terbaik.Dengan

semakin

berkembangnya

dan semakin

bertambahnya jumlah handset Android, semakin banyak pihak ketiga yang berminat
untuk menyalurkan aplikasi untuk sistem operasi Android.Aplikasi terkenal yang
diubah ke dalam sistem operasi Android adalah Shazam, Backgrounds, dan
WeatherBug

Mengenal Activity pada Aplikasi Android.


Activity merepresentasi satu layar dengan user interface. contoh, Sebuah aplikasi
email memiliki activity yang menunjukkan daftar email baru, dan activity lainya seperti
menulis email dan membaca email.
Jika kita sudah mempelajari bahasa pemrograman c, c++, dan java pasti kita melihat
program dimulai dengan function main(). Hal ini sangat mirip, pada aplikasi android,
program dimulai dengan method callback onCreate(). Urutan method callback dari mulai
activiy sampai berakhirnya activity dapat dilihat pada diagram activity lifecycle

Method callback mendefinisikan suatu event, Kita tidak perlu mengimplementasi semua
method callback. Namun, Anda penting memahami masing-masing method Callback,
sehingga aplikasi kita berprilaku sesuai harapan pengguna.
Method
onCreate()

Deskripsi
Method ini pertama kali dipanggil ketika
activity pertama dimulai.

onStart()

Method ini dipanggil ketika activity sudah


terlihat pada user.

onResume()

Method ini dipanggil ketika activity mulai


berinteraksi dengan user.

onPause()

Method ini Dipanggil ketika activity berhenti


sementara tidak menerima inputan user dan
tidak mengeksekusi kode apapun.

onStop()

Method ini dipanggil ketika activity sudah


tidak terlihat pada user.

onDestroy()

Method ini dipanggil sebelum sebuah activity


di matikan.

onRestart()

Method ini dipanggil setelah activity berhenti


dan ditampilkan ulang oleh user.

Mengenal Fragment Pada Aplikasi Android.


Fragment merupakan bagian dari UI dalam activity. Kamu dapat menggabungkan
beberapa fragment dalam activity untuk membuat multi-pane UI.Ada beberapa hal yang
kamu perlu tahu tentang fragment yaitu, fragment memiliki siklus hidup(lifecycle) sendiri,
dapat proses event sendiri, dan dapat ditambah atau dihapus ketika activity sedang jalan.
Fragment diperkenalkan pada HoneyComb API 11 namun bisa digunakan pada perangkat
android lama dengan menggunakan Support Library dari 1.6 sampai 2.0. Contoh fragment
seperti di gambar berikut.

Ketika salah satu item dari listview disentuh oleh user maka akan mencul informasi atau
item dari detail view. Untuk lebih memahami, Saya akan berikan screenshot dalam aplikasi
android yang sebenarnya.

Contoh Kasus screenshot diatas adalah apps contact. Pada UI smartphone maka user

pertama kali akan melihat listview dan ketika item dari listview disentuh maka berpindah ke
detail view, berbeda dengan UI pada tablet karena tablet memiliki ukuran lebih lebar maka
listview,

DetailView

dan

other

data

view

akan

muncul

secara

bersamaan.

Jadi dapat kita ambil kesimpulan bahwa beberapa fragment dapat dikombinasi dalam satu
activity dan optimal digunakan pada layar lebih besar seperti tablet.

IV.

PRAKTIKUM
Pemrograman Android

Berbasis Java

Menggunakan Linux Kernel 2.6

Software yang diperlukan:

Download Java Runtime Environment

Download Eclipse IDE

Download Android SDK

Cara instalasi software yang diperlukan


1. Instalasi Java
Paket instalasi java dapat kalian unduh di website
http://www.oracle.com/technetwork/java/javase/download/.index.html
Kita memerlukan Java SE versi 1.5 atau versi diatasnya untuk dapat mengkompilasi
aplikasi android
2. Instalasi Android SDK
Android SDK dapat kalian unduh di website http://www.developer.android.com
3. Instalasi Eclipse
Instalasi eclipse sebagai IDE yang kita gunakan dalam coding aplikasi android.
Eclipse adalah IDE untuk pengembangan java/android yang free dan dapat kalian
unduh di website http:///www.eclipse.org/downloads
4. Instalasi ADT/Plugins Eclipse
ADT/Plugins eclipse ini yang membuat eclipse dapat membuat project yang berbasis
android, ADT (android Development tools) menjadi penghubung antara IDE eclipse
dengan android SDK.
Untuk instalasi ADT menggunakan internet, caranya sebagai berikut:

Buka eclipse

Klik Menu Help Software update, pilih pada pilhan Available Software
pilih Add Site dan isi location dengan
https://dl-ssl.google.com/android/eclipse/

Setelah instalasi ADT maka menghubungkan IDE eclipse dengan IDE android
SDK dengan klik WindowsPreferences, pilih Android dan lakukan
browse SDK android yang sudah kalian miliki.

5. Membuat AVD (android virtual device)

AVD merupakan emulator untuk menjalankan program aplikasi yang kalian buat
dimana AVD akan kita jadikan sebagai tempat test dan menjalankan aplikasi android.
Untuk membuat AVD dapat dilakukan dari IDE eclipse dengan klik Windows -Android SDK and AVD Managers, pilih virtual device New

PERCOBAAN
Aplikasi Android
A. Program HelloAndroid
1. Jalankan IDE eclipse, pilih File New Project

2. Ikuti langkah selanjutnya dan kalian akan menemukan beberapa isian yang
diperlukan, misalnya
Project name

: Android1

Application name : Hello


Package name

: com.android1.hello

Activity

: Hello

3. Setelah pembuatan project baru, pahamilah beberapa source code yang nantinya
akan kalian perlukan:
a. Hello.java
Tampilan src/com/android1.hello/hello.java

b. Main.xml
Tampilan res/layout/main.xml

c. String.xml
Tampilan pada res/values/string.xml

4. Jalankan aplikasi dengan pilih menu Run As Android Aplication pada program java tersebut.
Maka pada emulator tampak seperti berikut ini:
5. Modifikasilah isi string dan lihat hasilnya

B. Membuat Kalkulator Sederhana


Peralatan dan Bahan
1. Android IDE (Bisa menggunakan Eclipse + ADT atau menggunakan Android Studio).
Untuk tutorial ini menggunakan Android Studio
SKENARIO PROGRAM
1. Buka Aplikasi
2. Tampil 2 Kolom, 1 Tombol proses, 4 Operan, field hasil, dan field notifikasi
3. Jika salah satu kolom tidak diisi, maka akan muncul notifikasi untuk mengisi kolom
yang kosong
4. Jika semua kolom sudah terisi, tetapi belum memilih operan, maka akan muncul
notifikasi untuk memilih operand
5. Menampilkan Hasil
LAYOUT
Buatlah Layout seperti gambar di bawah ini.

Script Layout diatas.


<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/masukan1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignBottom="@+id/operan"
android:layout_toLeftOf="@+id/operan"
android:layout_toStartOf="@+id/operan"
android:onClick="clearInput1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearance
Large"
android:text="
"
android:id="@+id/operan"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="40dp"
android:gravity="center" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/masukan2"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/operan"
android:layout_alignBottom="@+id/operan"
android:layout_toRightOf="@+id/operan"
android:onClick="clearInput2" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="
Hitung!
"
android:id="@+id/hitung"
android:layout_below="@+id/masukan1"
android:layout_centerHorizontal="true"
android:onClick="klikHasil" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearance
Medium"
android:text="Operasi"
android:id="@+id/textView2"
android:layout_below="@+id/hitung"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="
+
"
android:id="@+id/tambah"
android:layout_below="@+id/textView2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="klikTambah" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="
"
android:id="@+id/kurang"
android:layout_alignTop="@+id/tambah"
android:layout_toRightOf="@+id/tambah"
android:layout_toEndOf="@+id/tambah"
android:onClick="klikKurang" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="
x
"
android:id="@+id/kali"
android:layout_alignTop="@+id/kurang"
android:layout_toRightOf="@+id/kurang"
android:layout_toEndOf="@+id/kurang"
android:onClick="klikKali" />
<Button

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="
:
"
android:id="@+id/bagi"
android:layout_alignTop="@+id/kali"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="klikBagi" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearance
Medium"
android:text="Hasil Perhitungan"
android:id="@+id/textView3"
android:layout_below="@+id/tambah"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearance
Large"
android:text="0"
android:id="@+id/hasil"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/bagi"
android:layout_alignEnd="@+id/bagi"
android:gravity="right" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/notifikasi"
android:layout_below="@+id/hasil"
android:layout_centerHorizontal="true"
android:layout_marginTop="72dp"
android:gravity="center"
android:text="Simple Calculator Ready" />
</RelativeLayout>

JAVA (LOGIC PROGRAMMING)


Untuk javanya, kita akan membuat beberapa method, variable, object, dan seluruh
elemen yang dibutuhkan untuk menghandle seluruh aktivitas yang ada di layout yang
telah kita buat tadi.
1. Import class yang dibutuhkan
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.view.View;
android.widget.Button;
android.widget.TextView;

2. Import class yang dibutuhkan


public class MainActivity extends Activity {
}
3. Menginstansiasi Objek dan Variable
//R.1
TextView input1, input2, operator, result, notif;
Button btHitung, btJumlah, btKurang, btKali, btBagi;
//V.1
private
private
private
private

int operation = 0;
double HasilAkhir = 0.0;
String Cek1 = "";
String Cek2 = "";

4. Method onCreate
//M.1
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//R.2
input1 =
input2 =
operator
result =

(TextView) findViewById(R.id.masukan1);
(TextView) findViewById(R.id.masukan2);
= (TextView) findViewById(R.id.operan);
(TextView) findViewById(R.id.hasil);

notif = (TextView) findViewById(R.id.notifikasi);


//R.3
btHitung
btJumlah
btKurang
btKali =
btBagi =

= (Button) findViewById(R.id.hitung);
= (Button) findViewById(R.id.tambah);
= (Button) findViewById(R.id.kurang);
(Button) findViewById(R.id.kali);
(Button) findViewById(R.id.bagi);

}
5. Method operator ( + - * / )
public void klikTambah(View V){
operation = 1;
operator.setText("
+
");
}
public void klikKurang(View V){
operation = 2;
operator.setText("
");
}
public void klikKali(View V){
operation = 3;
operator.setText("
x
");
}
public void klikBagi(View V){
operation = 4;
operator.setText("
:
");
}

6. Method hasil
public void klikHasil(View V){
Cek1 = input1.getText().toString();
Cek2 = input1.getText().toString();
if((Cek1.equalsIgnoreCase("")) ||
(Cek2.equalsIgnoreCase(""))){
notif.setText("Kolom tidak boleh kosong");
}
else{
double inputA =
Double.parseDouble(input1.getText().toString());

double inputB =
Double.parseDouble(input2.getText().toString());
//D.1
switch(operation){
case 1:
HasilAkhir = inputA + inputB;
break;
case 2:
HasilAkhir = inputA - inputB;
break;
case 3:
HasilAkhir = inputA * inputB;
break;
case 4:
HasilAkhir = inputA / inputB;
break;
case 0:
notif.setText("Harap pilih operan
terlebih dahulu!");
break;
default:
notif.setText("Undescribeable
Error!");
break;
}
//D.2
if(operation < 1){
result.setText("0");
}
else{
String hasilString =
String.valueOf(HasilAkhir);
result.setText(hasilString);
notif.setText("Simple Calculator
Ready!");
}
}
}

7. Method Clear
public void clearInput1(View V){
input1.setText("");
notif.setText("Simple Calculator Ready!");
operation = 0;
}
public void clearInput2(View V){
input2.setText("");
notif.setText("Simple Calculator Ready!");
operation = 0;
}

Keseluruhan program diatas


package
simplecalculator.milandro.com.simplecalculator;
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.view.View;
android.widget.Button;
android.widget.TextView;

public class MainActivity extends Activity {


//R.1
TextView input1, input2, operator, result, notif;
Button btHitung, btJumlah, btKurang, btKali, btBagi;
//V.1
private
private
private
private

int operation = 0;
double HasilAkhir = 0.0;
String Cek1 = "";
String Cek2 = "";

//M.1
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//R.2
input1 = (TextView) findViewById(R.id.masukan1);
input2 = (TextView) findViewById(R.id.masukan2);
operator = (TextView) findViewById(R.id.operan);
result = (TextView) findViewById(R.id.hasil);
notif = (TextView) findViewById(R.id.notifikasi);

//R.3
btHitung
btJumlah
btKurang
btKali =
btBagi =

= (Button) findViewById(R.id.hitung);
= (Button) findViewById(R.id.tambah);
= (Button) findViewById(R.id.kurang);
(Button) findViewById(R.id.kali);
(Button) findViewById(R.id.bagi);

}
//M.2
public void klikTambah(View V){
operation = 1;
operator.setText("
+
");
}
//M.3
public void klikKurang(View V){
operation = 2;
operator.setText("
");
}
//M.4
public void klikKali(View V){
operation = 3;
operator.setText("
x
");
}
//M.4
public void klikBagi(View V){
operation = 4;
operator.setText("
:
");
}
//M.5
public void klikHasil(View V){
Cek1 = input1.getText().toString();
Cek2 = input1.getText().toString();
if((Cek1.equalsIgnoreCase("")) ||
(Cek2.equalsIgnoreCase(""))){
notif.setText("Kolom tidak boleh kosong");
}
else{
double inputA =
Double.parseDouble(input1.getText().toString());
double inputB =
Double.parseDouble(input2.getText().toString());

//D.1
switch(operation){
case 1:
HasilAkhir = inputA + inputB;
break;
case 2:
HasilAkhir = inputA - inputB;
break;
case 3:
HasilAkhir = inputA * inputB;
break;
case 4:
HasilAkhir = inputA / inputB;
break;
case 0:
notif.setText("Harap pilih operan
terlebih dahulu!");
break;
default:
notif.setText("Undescribeable
Error!");
break;
}
//D.2
if(operation < 1){
result.setText("0");
}
else{
String hasilString =
String.valueOf(HasilAkhir);
result.setText(hasilString);
notif.setText("Simple Calculator
Ready!");
}
}
}
//M.6
public void clearInput1(View V){
input1.setText("");
notif.setText("Simple Calculator Ready!");
operation = 0;

}
//M.7
public void clearInput2(View V){
input2.setText("");
notif.setText("Simple Calculator Ready!");
operation = 0;
}
}

1. Tampilan awal aplikasi

2. Notifikasi muncul ketika Tombol Hitung ditekan, namun salah satu, atau kedua
kolom masih kosong.

3. Notifikasi muncul ketika Tombol Hitung ditekan, namun operan belum dipilih.

4. Hasil keluar setelah tombol Hitung ditekan.

Tugas tanya pada Asisten

You might also like