Anda di halaman 1dari 46

Laporan 2: Activity Nama: Aulia Nurul Iftitah

Modul 3: “Membuat min. 5


Pemrograman Activity dengan Nim: 1729041048
Perangkat Mobile Memakai Form
Login” Kelas: PTIK G/2017

A. Pendahuluan
1. Sejarah Android
Android merupakan sistem operasi yang berbasis Linux dan dirancang untuk
perangkat seluler layar sentuh seperti smartphone serta komputer tablet. Android pada
awalnya dikembangkan oleh perusahaan bernama Android, Inc., dengan dukungan
finansial yang berasal dari Google, yang kemudian Google pun membelinya pada tahun
2005. Sistem operasi android tersebut secara resmi dirilis pada tahun 2007, bersamaan
dengan didirikannya sebuah perusahaan Open Handset Alliance, konsorsium dari
beberapa perusahaan-perusahaan perangkat keras, perangkat lunak, serta
telekomunikasi yang memiliki tujuan untuk memajukan standar terbuka dari perangkat
seluler. Ponsel yang berbasis sistem operasi Android pertama dijual pada bulan
Oktober 2008. (Muhammad Yovi: http://woocara.blogspot.com/)
Sejarah android pada mulanya berasal dari perusahaan bernama Android, Inc.
didirikan tempatnya di Palo Alto, California, pada Oktober tahun 2003 oleh Andy
Rubin (pendiri Danger), Rich Miner seorang pendiri Wildfire Communications, Inc.,
Nick Sears seorang mantan VP T-Mobile, dan Chris White seorang kepala desain dan
pengembangan antarmuka WebTV untuk mengembangkan sebuah "perangkat seluler
pintar yang lebih sadar tentang lokasi dan preferensi penggunanya". (Muhammad
Yovi: http://woocara.blogspot.com/)
Tujuan awal dari perkembangan tersebut pada mulanya diperuntukkan bagi
kamera digital, namun disadari bahwa pasar dari kamera digital tidak besar potensinya,
dan pengembangan Android lalu dialihkan pada pasar telepon pintar atau smartphone
untuk menyaingi Symbian serta Windows Mobile (iPhone Apple pada saat itu belum
dirilis). Meskipun para pengembang Android tersebut merupakan pakar-pakar
teknologi yang berpengalaman, Android Inc. dijalankan secara diam-diam dan hanya
diungkapkan bahwa para pengembang tersebut sedang berusaha menciptakan sebuah
perangkat lunak yang dapat diperuntukkan untuk telepon seluler. Masih pada tahun
yang sama, Andy Rubin kehabisan uang. Steve Perlman adalah seorang teman dekat
Andy Rubin dan meminjaminya $10.000 tunai serta menolak tawaran saham di
perusahaan. (Muhammad Yovi: http://woocara.blogspot.com/)
Google mengakuisisi perusahaan Android Inc. pada tanggal 17 Agustus 2005
dan menjadikannya sebagai anak perusahaan yang dimiliki oleh Google. Pendiri
Android Inc. yaitu Rubin, Miner, serta White tetap bekerja pada perusahaan tersebut
setelah diakuisisi oleh Google. Di Google, tim yang dipimpin oleh Andy Rubin mulai
untuk mengembangkan sebuah platform perangkat seluler dengan menggunakan kernel
Linux. (Muhammad Yovi: http://woocara.blogspot.com/)
Sejak tahun 2008, Android mulai secara bertahap melakukan sejumlah
pembaruan atau update untuk meningkatkan kinerja dari sistem operasi tersebut dengan
menambahkan fitur baru, memperbaiki bug pada versi android yang sebelumnya.
Setiap versi yang dirilis dinamakan secara alfabetis dengan berdasarkan nama sebuah
makanan pencuci mulut, seperti cupcake, donut, dan sebagainya. (Muhammad Yovi:
http://woocara.blogspot.com/)
2. Android 4.4 (Android KitKat)
Android 4.4 KitKat pada tanggal 3 September 2013. Meskipun pada awalnya
di beri anma “Key Lime Pie” (“KLP”), nama itu berubah karena “sangat sedikit orang
benar-benar tahu rasa key lime pie.” Beberapa blogger teknologi juga mengharapkan
rilis “Key Lime Pie” menjadi Android 5. KitKat memulai debutnya pada Google Nexus
5 pada tanggal 31 Oktober 2013, dan dioptimalkan untuk berjalan pada rentang yang
lebih besar dari perangkat dari versi Android sebelumnya, memiliki 512 MB RAM
sebagai minimum yang disarankan; perbaikan-perbaikan yang dikenal sebagai “Proyek
langsing” internal di Google. Jumlah minimum RAM yang diperlukan yang tersedia
untuk Android adalah 340 MB, dan semua perangkat dengan kurang dari 512 MB RAM
harus melaporkan diri mereka sebagai perangkat dengan “RAM rendah. (Ahmad
Setiyawan Iskandar: https://iskandargroup.wordpress.com/)
3. Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk


mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-
independent). Berikut ini adalah sifat dari Eclipse:

a. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux,


Solaris, AIX, HP-UX dan Mac OS X.
b. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan
tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman
lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
c. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa
digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti
dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
(Wikipedia: https://id.wikipedia.org/)

Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan
open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat
lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah
kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang
dinamakan plug-in. (Wikipedia: https://id.wikipedia.org/)

Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat lunak


IBM Visual Age for Java 4.0. Produk ini diluncurkan oleh IBM pada tanggal 5
November 2001, yang menginvestasikan sebanyak US$ 40 juta untuk
pengembangannya. Semenjak itu konsursium Eclipse Foundation mengambil alih
untuk pengembangan Eclipse lebih lanjut dan pengaturan organisasinya. (Wikipedia:
https://id.wikipedia.org/)

4. Kegunaan Activity

Activity adalah salah satu komponen aplikasi android yang digunakan untuk
menyediakan sebuah layar bagi user agar dapat berinteraksi dengan aplikasi, misalnya
mengirim SMS (Short Message Service), menelepon, mengambil foto, mengirim email,
melihat peta, dan lain-lain. Setiap activity memiliki window sebagai tempat
meletakkan user interface. Window tersebut biasanya memenuhi layar, bisa juga lebih
kecil dari layar dan melayang di atas window lain. (Universitas Pamulang: Materi
Mobile Programming, Pertemuan III)

Sebuah aplikasi dapat terdiri dari satu atau lebih activity, biasanya aplikasi
dibuat dengan beberapa activity yang satu sama lain terikat secara longgar. Biasanya,
satu activity dalam sebuah aplikasi dikhususkan sabagai activity "main" (utama), yang
mana akan ditampilkan kepada user di saat aplikasi dijalankan pertama kali. Setiap
activity kemudian bisa menjalankan activity lain untuk melakukan pekerjaan yang
berbeda. Setiap kali ada activity baru dijalankan, activity sebelumnya dihentikan, tetapi
sistem menyimpan activity tersebut di dalam "tumpukan" (stack). Ketika sebuah
activity dimulai, activity tersebut ditempatkan paling atas pada stack dan mendapatkan
fokus dari user. Prinsip antrian stack pada dasarnya menggunakan prinsip “yang
pertama masuk adalah yang terakhir keluar" (last in first out), jadi ketika user selesai
dengan sebuah activity dan menekan tombol KEMBALI, activity tersebut dikeluarkan
dari stack (dan dihancurkan) dan activity pada stack di bawahnya dikembalikan.
(Universitas Pamulang: Materi Mobile Programming, Pertemuan III)

Ketika sebuah activity dihentikan karena ada activity baru yang dimulai,
perubahan keadaan ini dinotifikasikan melalui siklus metode pemanggilan kembali
activity. Terdapat beberapa metode pemanggilan kembali yang bisa diterima oleh
activity, karena adanya perubahan keadaan dan setiap metode pemanggilan kembali
menyediakan kita kesempatan untuk melakukan pekerjaan yang lebih spesifik yang
sesuai dengan perubahan keadaan activity tersebut. Sebagai contoh, ketika activity
berhenti, activity tersebut harus melepaskan obyek yang besar, misalnya koneksi
jaringan atau database. Ketika activity dimulai kembali, kita bisa memperoleh kembali
sumber daya yang dibutuhkan dan memulai kembali kegiatan yang diinterupsi. Transisi
keadaan ini adalah bagian dari siklus hidup activity. (Universitas Pamulang: Materi
Mobile Programming, Pertemuan III)

5. Membuat Activity

Untuk membuat sebuah activity, kita harus membuat sebuah subclass dari
activity (atau subclass yang sudah ada). Dalam subclass yang dibuat, kita harus
mengimplementasikan metode pemanggilan kembali yang akan dipanggil sistem pada
saat transisi antar state (keadaan) yang bervariasi dari siklus hidupnya, misalnya ketika
activiti sedang dibuat, dihentikan, dikembalikan, atau dihancurkan. Metode
pemanggilan kembali yang paling penting ada dua, yaitu:

a. onCreate()
Kita harus mengimplementasikan metode ini. Sistem akan memanggil metode ini
ketika membuat activity. Dalam implementasi kita, kita harus menginisialisasikan
komponen-komponen penting dari activity kita. Yang paling penting, di sinilah
kita harus memanggil metode setContentView() untuk mendefinisikan layout dari
user interface activity. (Universitas Pamulang: Materi Mobile Programming,
Pertemuan III)
b. onPause()
Sistem akan memanggil metode ini sebagai indikasi pertama bahwa user sedang
sistem akan memanggil metode ini sebagai indikasi pertama bahwa user sedang
meninggalkan activity kita (meskipun tidak selalu activity tersebut akan
dihancurkan). Di sinilah biasanya kita harus melakukan perubahan yang mesti
bertahan diluar sesi user yang sekarang. (karena user mungkin tidak akan kembali).
terdapat beberapa siklus metode pemanggilan kembali yang harus kita gunakan
untuk menyediakan pengalaman user interface yang halus dan lancar antar activity
dan menangani interupsi yang tidak diinginkan yang dapat menghentikan activity
atau bahkan dapat menghancurkan activity. (Universitas Pamulang: Materi Mobile
Programming, Pertemuan III)
6. Menjalankan Activity

Kita bisa menjalankan activity dengan memanggil method startActivity(),


memberikan activity tersebut sebuah Intent yang menggambarkan activity yang ingin
kita jalankan. Intent akan memberitahukan nama activity atau bisa juga tipe aksi seperti
apa yang ingin dijalankan, dan kemudian sistem akan memilih activity yang sesuai
untuk keingin kita, bisa saja activity tersebut berasal dari aplikasi lain. Intent bisa juga
membawa sejumlah kecil data yang akan digunakan oleh activity yang dijalankan.
Ketika kita bekerja dalam aplikasi kita sendiri, kita lebih sering menjalankan activity
yang sudah diketahui. Kita juga bisa melakukan hal ini dengan cara membuat intent
yang secara eksplisit menggambarkan activity yang ingin dijalankan, menggunakan
nama class. Contoh di bawah ini, bagaimana sebuah activity menjalankan activity lain
yang bernama NamaClass. (Universitas Pamulang: Materi Mobile Programming,
Pertemuan III)

Intent intent = new Intent(this, NamaClass.class); startActivity(intent);

Namun bagaimanapun, aplikasi kita mungkin ingin melakukan beberapa


pekerjaan, misalnya mengirimkan email, mengirimkan sms, atau update status,
menggunakan data dari activity kita. Dalam hal ini , aplikasi kita mungkin tidak
memiliki activity sendiri untuk melakukan pekerjaan tersebut, sehingga kita perlu
menggunakan activity milik aplikasi lain dalam perangkat kita, yang bisa melakukan
pekerjaan yang kita diinginkan. Di sinilah intent sangat bermanfaat, kita bisa membuat
intent yang menggambarkan pekerjaan seperti apa yang ingin kita lakukan, dan sistem
kemudian akan menjalankan activity yang sesuai dari aplikasi lain. Jika ada beberapa
activity yang bisa menangani intent tersebut, maka user akan diminta memilih activity
mana yang akan digunakan. Sebagai contoh, jika kita ingin agar user bisa mengirim
sebuah email, kita bisa membuat intent seperti berikut ini. (Universitas Pamulang:
Materi Mobile Programming, Pertemuan III)

Intent intent = new Intent(Intent.ACTION_SEND);

intent.putExtra(Intent.EXTRA_EMAIL, recipientArray); startActivity(intent);

Tambahan ekstra berupa EXTRA_EMAIL yang ditambahkan ke intent adalah


sebuah string array dari alamat email tujuan pengiriman email tersebut. Ketika sebuah
aplikasi email merespon terhadap intent ini, aplikasi email tersebut akan membaca
string array yang diberikan oleh ekstra dan menempatkannya di pengisian "kepada"
dari komposisi form email. Dalam situasi ini, activity dari aplikasi email dijalankan,
dan ketika user selesai, akan kembali ke activity dari aplikasi kita. (Universitas
Pamulang: Materi Mobile Programming, Pertemuan III)

7. Mengatur Siklus Hidup Activity

Mengatur siklus hidup activity dengan menerapkan callback method ( metode


pemanggilan kembali) sangatlah krusial dalam pengembangan aplikasi yang kuat dan
fleksibel. Siklus hidup dari sebuah activity terpengaruh secara langsung oleh hubungan
activity tersebut dengan activity lain, tugasnya (task), dan tumpukan pada memori
(back stack). Sebuah activity bisa exist dalam tiga keadan pokok, yaitu:

a. Resumed (Dijalankan) Activity sedang berada pada bagian terdepan (foreground)


layar, dan mendapatkan fokus dari user. Keadaan ini terkadang juga dianggap
"running" atau sedang berjalan. (Universitas Pamulang: Materi Mobile
Programming, Pertemuan III)
b. Paused (Didiamkan) Activity lain sedang berada di foreground dan activity
tersebut mendapatkan fokus, tapi activity yang ini masih bisa dilihat. Dalam hal
ini, activity lain sedang terlihat dan berada di atas activity yang ini dan activity
tersebut memiliki layout transparan atau tidak menutupi seluruh layar. Activity
yang di-paused masih hidup seutuhnya (object dari acitivity tetap tinggal di
memori, tetap menjaga semua keadaan dan informasi yang dimiliki, dan tetap
tersambung dengan window manager), tapi bisa di-kill oleh sistem pada situasi
ketika memori yang tersedia sangat kurang.
c. Stopped (Dihentikan) Activity ini sedang dihalangi sepenuhnya oleh activity lain
(activity sekarang berada di background). Activity yang di-stop juga msih hidup,
object activity masih tersimpan di memori, masih menjaga keadaan dan semua
informasi, tapi tidak tersambung dengan window manager. bagaimanapun juga,
activity ini tidak lagi terlihat oleh user dan bisa di-kill oleh sistem sewaktu-waktu
jika memori dibutuhkan untuk proses lain. (Universitas Pamulang: Materi Mobile
Programming, Pertemuan III)

Jika sebuah activity di-stop atau di-pause, sistem menghapusnya dari memori
dengan memintanya untuk berhenti (dengan memanggil method finish()), atau cukup
mematikan prosesnya. Ketika activity ingin dimulai lagi (setelah dihentikan atau
dimatikan), maka activity tersebut harus di-create dari awal lagi. (Universitas
Pamulang: Materi Mobile Programming, Pertemuan III)

B. Alat dan Bahan


1. Laptop Lenovo V130 -14IKB HEID intel core i3
2. Aplikasi Eclipse Oxygen
3. Android SDK (Android 4.4.2 KitKat)
4. Modul 3 Pemrograman Perangkat Mobile (Activity)
C. Langkah Kerja
1. Membuka aplikasi eclipse

2. Memilih menu File >> New >> Other


3. Memilih Android dan mengklik Android Application Project, lalu mengklik
ok

4. Lalu mengisi nama aplikasi beserta memilih android yang dipakai seperti
gambar, lalu next
5. Mengklik finish untuk pemberian nama pada sintak program

6. Main Activity
a. Lalu mengatur desain seperti gambar dengan menggunakan fitur palette
b. Mengedit Text dengan format seperti pada gambar

c. Mengedit ID dengan format seperti pada gambar


d.
e. Selanjutnya mengsave, kemudian mengklik Folder Activity Aulia dan
mengklik src >> com.unpam.activityaulia >> MainActivity.java

f. Lalu mengetikkan sintak sebagai berikut dan mengsave sintak tersebut


package com.unpam.activityaulia;
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;

public class MainActivity extends Activity implements OnClickListener {


private String[][] dataUser = {{"admin","admin","Aulia Nurul
Iftitah"},{"guest","guest","Guest"},
{"anonim","anonim","Anonim"}};
private EditText Password, Id;
private final int SUCCESS=1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Id = (EditText) findViewById(R.id.editTextId);
Password = (EditText) findViewById(R.id.editTextPassword);
findViewById(R.id.buttonHitung).setOnClickListener(this);
findViewById(R.id.buttonClose).setOnClickListener(this);
findViewById(R.id.buttonReset).setOnClickListener(this);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

public void onClick(View v) {


// TODO Auto-generated method stub
switch (v.getId()){
case R.id.buttonHitung:
int i=0;
boolean success=false;
while ((i<dataUser.length) && (!success)){
if
((Id.getText().toString().equals(dataUser[i][0])) &&
(Password.getText().toString().equals(dataUser[i][1]))){ success=true;
} else {
i++;
} }
Intent intent;
if (success){
intent = new Intent(this, MenuActivity.class);
intent.putExtra("namaUser", dataUser[i][2]);
startActivityForResult(intent,SUCCESS);
} else {
intent = new Intent(this, FailedActivity.class);
startActivity(intent);
}
startActivity(intent);
break;
case R.id.buttonClose:
System.exit(0);
case R.id.buttonReset:
Id.setText("");
Password.setText("");
} }

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
switch (requestCode) {
case SUCCESS:
Id.setText("");
Password.setText("");
break;
} }

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}}
7. Menu Activity
a. Membuat kembali activity dengan nama seperti pada gambar

b. Lalu mengatur desain seperti gambar dengan menggunakan fitur palette


c. Lalu mengedit text dengan format seperti pada gambar

d. Selanjutnya mengedit id dengan format seperti pada gambar


e. Kemudian mengsave, kemudian mengklik Folder Activity Aulia dan
mengklik src >> com.unpam.activityaulia >> MenuActivity.java

f. Lalu mengetikkan sintak sebagai berikut dan mengsave sintak tersebut


package com.unpam.activityaulia;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.view.View.OnClickListener;

public class MenuActivity extends Activity implements


OnClickListener {
private Button segitiga, persegi, lingkaran, logout;
private TextView Name;
private final int SUCCESS=3;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);

Name = (TextView) findViewById(R.id.textViewNamauser);


Name.setText (getIntent().getExtras().getString("namaUser"));
findViewById(R.id.buttonSegitiga).setOnClickListener(this);
findViewById(R.id.buttonPersegi).setOnClickListener(this);
findViewById(R.id.buttonLingkaran).setOnClickListener(this);
findViewById(R.id.buttonLogout).setOnClickListener(this);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}

public void onClick(View v) {


// TODO Auto-generated method stub
Intent intent;
switch (v.getId()){
case R.id.buttonLogout:
finish();
case R.id.buttonSegitiga:
intent = new Intent(this, SegitigaActivity.class);
startActivityForResult(intent,SUCCESS);
break;
case R.id.buttonPersegi:
intent = new Intent(this, PersegiActivity.class);
startActivityForResult(intent,SUCCESS);
break;
case R.id.buttonLingkaran:
intent = new Intent(this, LingkaranActivity.class);
startActivityForResult(intent,SUCCESS);
} }

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
} }
8. Failed Activity
a. Membuat kembali activity dengan nama seperti pada gambar

b. Lalu mengatur desain seperti gambar dengan menggunakan fitur palette


c. Lalu mengedit text dengan format seperti pada gambar

d. Selanjutnya mengedit id dengan format seperti pada gambar


e. Kemudian mengsave, kemudian mengklik Folder Activity Aulia dan
mengklik src >> com.unpam.activityaulia >> FailedActivity.java

f. Lalu mengetikkan sintak sebagai berikut dan mengsave sintak tersebut


package com.unpam.activityaulia;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;

public class FailedActivity extends Activity implements


OnClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_failed);

findViewById(R.id.buttonBack).setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.failed, menu);
return true;
}

public void onClick(View v) {


switch (v.getId()){
case R.id.buttonBack:
finish();
} }

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}}
9. Segitiga Activity
a. Membuat kembali activity dengan nama seperti pada gambar

b. Lalu mengatur desain seperti gambar dengan menggunakan fitur palette


c. Lalu mengedit text dengan format seperti pada gambar
d.

e. Selanjutnya mengedit id dengan format seperti pada gambar


f. Kemudian mengsave, kemudian mengklik Folder Activity Aulia dan
mengklik src >> com.unpam.activityaulia >> SegitigaActivity.java

g. Lalu mengetikkan sintak sebagai berikut dan mengsave sintak tersebut


package com.unpam.activityaulia;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class SegitigaActivity extends Activity {


private Button proses, reset1;
private EditText Alas, Tinggi;
private TextView Luas;

private double alas, tinggi, luas;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_segitiga);

Alas = (EditText) findViewById(R.id.editTextAlas);


Tinggi = (EditText) findViewById(R.id.editTextTinggi);
Luas = (TextView) findViewById(R.id.textViewLuas);
proses = (Button) findViewById(R.id.buttonProses);
proses.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
HitungLuas();
}
});

reset1 = (Button) findViewById(R.id.buttonReset1);


reset1.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Reset();
}
});
}

private void HitungLuas() {


alas = Double.parseDouble(Alas.getText().toString());
tinggi = Double.parseDouble(Tinggi.getText().toString());
luas = 0.5 * alas * tinggi;
Luas.setText("Hasil dari Luas Segitiga adalah "+luas);
}

private void Reset() {


Alas.setText("");
Tinggi.setText("");
Luas.setText("Hasil Luas Segitiga");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.segitiga, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
} }
10. Persegi Activity
a. Membuat kembali activity dengan nama seperti pada gambar

b. Lalu mengatur desain seperti gambar dengan menggunakan fitur palette


c. Lalu mengedit text dengan format seperti pada gambar
d.
e.
f.

g. Selanjutnya mengedit id dengan format seperti pada gambar


h. Kemudian mengsave, kemudian mengklik Folder Activity Aulia dan
mengklik src >> com.unpam.activityaulia >> PersegiActivity.java

i. Lalu mengetikkan sintak sebagai berikut dan mengsave sintak tersebut


package com.unpam.activityaulia;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class PersegiActivity extends Activity {


private Button proses1, reset2;
private EditText Panjang, Lebar;
private TextView Luas1;
private double panjang, lebar, luass;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_persegi);

Panjang = (EditText) findViewById(R.id.editTextPanjang);


Lebar = (EditText) findViewById(R.id.editTextLebar);
Luas1 = (TextView) findViewById(R.id.textViewLuas1);
proses1 = (Button) findViewById(R.id.buttonProses1);
proses1.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
HitungLuas();
}
});

reset2 = (Button) findViewById(R.id.buttonReset2);


reset2.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Reset();
}
});
}

private void HitungLuas() {


panjang = Double.parseDouble(Panjang.getText().toString());
lebar = Double.parseDouble(Lebar.getText().toString());
luass = panjang * lebar;
Luas1.setText("Hasil dari Luas Persegi Panjang adalah
"+luass);
}

private void Reset() {


Panjang.setText("");
Lebar.setText("");
Luas1.setText("Hasil Luas Persegi Panjang");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.persegi, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
} }
11. Lingkaran Activity
a. Membuat kembali activity dengan nama seperti pada gambar

b. Lalu mengatur desain seperti gambar dengan menggunakan fitur palette


c. Lalu mengedit text dengan format seperti pada gambar
d.
e.
f.

g. Selanjutnya mengedit id dengan format seperti pada gambar


h. Kemudian mengsave, kemudian mengklik Folder Activity Aulia dan
mengklik src >> com.unpam.activityaulia >> LingkaranActivity.java

i. Lalu mengetikkan sintak sebagai berikut dan mengsave sintak tersebut


package com.unpam.activityaulia;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class LingkaranActivity extends Activity {


private Button proses2, reset3;
private EditText Jari;
private TextView Luas2;
private double jari, luasss;
private double phi = 3.14;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lingkaran);

Jari = (EditText) findViewById(R.id.editTextJari);


Luas2 = (TextView) findViewById(R.id.textViewLuas2);
proses2 = (Button) findViewById(R.id.buttonProses2);
proses2.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
HitungLuas();
}});

reset3 = (Button) findViewById(R.id.buttonReset3);


reset3.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Reset();
}});
}

private void HitungLuas() {


jari = Double.parseDouble(Jari.getText().toString());
luasss = phi * (jari * jari);
Luas2.setText("Hasil dari Luas Lingkaran adalah "+luasss);
}

private void Reset() {


Jari.setText("");
Luas2.setText("Hasil Luas Lingkaran");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.lingkaran, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}}
12. Mengklik Clean pada menu Project

13. Lalu memilih folder AuliaAndroid dan mengklik clean


14. Setelah itu mengklik kanan folder AuliaAndroid dan memilih Run As, lalu
mengklik 1. Android Application

15. Hasil dari aplikasi yang dibuat dengan memakai android simulator
D. Hasil
Hasil dari program ketika digunakan:

Tampilan MenuActivity aplikasi pada android:


Tampilan FailedActivity aplikasi pada android:

Tampilan SegitigaActivity aplikasi pada android:


Tampilan PersegiActivity aplikasi pada android:

Tampilan LingkaranActivity aplikasi pada android:


Ketika sudah muncul tampilan user interface android, disini aplikasi bisa
didesain secara manual dengan menggunakan fitur Palette yang sudah disediakan.
Kemudian untuk memberi nama pada setiap item TextView dan Button dengan
menggunakan Edit Text dan dari sini ditentukan id/string dari item tersebut. Untuk item
EditText cukup mengubah id-nya dengan menggunakan Edit ID dan juga item Button
juga diubah id-nya menjadi buttonHitung dan buttonReset.
Adapun sintak khusus yang bisa menyambungkan activity satu ke activity yang
lain ialah:

 Pada sintak ini bisa diliat, intent adalah sintak untuk menghubungkan activity yang
satu ke activity yang lainnya. Misalnya jika kita menekan tombol button yang ber-
id buttonSegitiga maka otomatis akan memuncul activity Mencari Luas Segitiga
(SegitigaActivity). Begitu pula dengan button lingkaran yang ber-id
buttonLingkaran, jika ditekan maka akan memunculkan activity Mencari Luas
Lingkaran (LingkaranActivity). Juga berlaku sama pada button yang ber-id
buttonPersegi ketika ditekan maka akan memunculkan activity Mencari Luas
Persegi Panjang (PersegiActivity).
Selain itu, ketika mau menjalankan aplikasi ini terlebih dahulu membuat
android simulator yang khusus android 4.4.2 (KitKat) atau android yang sama dipilih
untuk compiler agar ketika dijalankan, aplikasi akan masuk ke android yang sudah
dijalankan.
E. Kesimpulan

Kesimpulan yang saya dapat dari pelatihan ini, ketika ingin menghubungkan
activity satu ke activity yang lainnya, poin utamanya ialah sintak intent, dengan
memanggil method startActivity(), memberikan activity tersebut sebuah Intent yang
menggambarkan activity yang ingin kita jalankan. Intent akan memberitahukan nama
activity atau bisa juga tipe aksi seperti apa yang ingin dijalankan, dan kemudian sistem
akan memilih activity yang sesuai untuk keinginan kita. Selain itu, perlu juga membuat
android 4.4.2 pada simulator agar ketika aplikasi dijalankan langsung masuk pada
android yang sudah dibuat di android simulator.

Anda mungkin juga menyukai