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 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/)
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
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)
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
@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;
}
@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
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
@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;
}
@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
@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;
}
@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
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_segitiga);
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
HitungLuas();
}
});
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Reset();
}
});
}
@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
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_persegi);
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
HitungLuas();
}
});
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Reset();
}
});
}
@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
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lingkaran);
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
HitungLuas();
}});
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Reset();
}});
}
@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
15. Hasil dari aplikasi yang dibuat dengan memakai android simulator
D. Hasil
Hasil dari program ketika digunakan:
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.