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. TabView
5. ListView
Alert dialog adalah salah satu dialog yang sering ditampilkan pada aplikasi
Android. Alert dialog ini bisa digunakan untuk menampilkan dialog Error, dialog
seleksi, dialog konfirmasi serta masih banyak lagi lainnya. (Universitas Pamulang:
Materi Mobile Programming, Pertemuan IV)
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)
package com.unpam.auliatabview;
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TabHost;
@SuppressWarnings("deprecation")
public class MainActivity extends TabActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent;
TabHost tabHost = getTabHost();
TabHost.TabSpec tabSpec;
intent = new Intent(this, AlaramActivity.class);
tabSpec =
getTabHost().newTabSpec("tab1").setIndicator( "Alert &
Toast").setContent(intent);
tabHost.addTab(tabSpec);
intent = new Intent(this, ListviewActivity.class);
tabSpec =
getTabHost().newTabSpec("tab2").setIndicator( "ListView").setConte
nt(intent);
tabHost.addTab(tabSpec);
intent = new Intent(this, FormActivity.class);
tabSpec =
getTabHost().newTabSpec("tab3").setIndicator( "Activity").setConte
nt(intent);
tabHost.addTab(tabSpec);
}
@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;
} }
import java.util.Calendar;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;
TimePickerDialog timePickerYeah;
@Override
public void onClick(View v) {
Id.setText("");
openTimePicker(false);
}});
Alarm=(Button) findViewById(R.id.buttonAlarm);
Alarm.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
cancelAlarm();
}});
Close=(Button) findViewById(R.id.buttonClose);
Close.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
System.exit(0);
}});
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
calSet.set(Calendar.HOUR_OF_DAY, hourOfDay);
calSet.set(Calendar.MINUTE, minute);
calSet.set(Calendar.SECOND, 0);
calSet.set(Calendar.MILLISECOND, 0);
setAlarm(calSet);
}};
}
private void cancelAlarm(){
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.widget.Toast;
public class Receiver extends BroadcastReceiver {
MediaPlayer mp;
@Override
public void onReceive(Context c, Intent arg1) {
mp = MediaPlayer.create(c, R.raw.alaram);
mp.start();
Toast.makeText(c, "Alarm Telah Menyala :D",
Toast.LENGTH_LONG).show();
}}
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
ListviewMenuMakanan = (ListView)
findViewById(R.id.listViewMenuMakanan);
ListviewMenuMakanan.setOnItemClickListener(this);
package com.unpam.auliatabview;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Drawable.Callback;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dipilih);
// casting id
findViewById(R.id.buttonKembali).setOnClickListener(this);
Keterangan = (TextView)
findViewById(R.id.textViewKeterangan);
Keterangan.setText(getIntent().getIntExtra("detailM",0));
Gambar = (ImageView)
findViewById(R.id.imageViewGambar);
Gambar.setImageResource(getIntent().getIntExtra("gambarM",0));
Menu = (TextView) findViewById(R.id.textViewMN);
Menu.setText(getIntent().getExtras().getString("menu"));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.dipilih, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()){
case R.id.buttonKembali:
finish();
}
}}
q. Selanjutnya menambahkan layout.xml dengan klik kanan folderAuliaListView
>> new >> other, lalu memilih Android XML File
package com.unpam.auliatabview;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
this.context = context;
this.name = name;
this.image = image;
@Override
public View getView (int position, View view, ViewGroup
parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView = inflater.inflate(R.layout.list, null, true);
ImageView imgView = (ImageView)
rowView.findViewById(R.id.imageViewMakanan);
TextView txtView = (TextView)
rowView.findViewById(R.id.textViewMakanan);
imgView.setImageResource(image [position]);
txtView.setText(name[position]);
return rowView;
}
}
Gambar 5.35 Tampilan sintak class Costum
v. Lalu membuka string dengan res >> values dan isi keterangan listview menu
makanan dan minuman tadi
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;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
Id = (EditText) findViewById(R.id.editTextId);
Password = (EditText)
findViewById(R.id.editTextPassword);
findViewById(R.id.buttonHitung).setOnClickListener(this);
findViewById(R.id.buttonClosed).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.form, 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);
}
}
h. Lalu membuat activity baru seperti pada gambar
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View.OnClickListener;
findViewById(R.id.buttonLogoutt).setOnClickListener(thi
s);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the
action bar if it is present.
getMenuInflater().inflate(R.menu.success, 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);
}
}
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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_failed);
findViewById(R.id.buttonKembalii).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);
}}
14. Hasil dari aplikasi yang dibuat dengan memakai android simulator
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 buttonKembali dan buttonTutup.
Adapun sintak khusus yang berhubungan dengan TabView pada main activity
ialah:
Disini adalah kunci utama sintak untuk TabView yang menggunakan intent
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, Tabview adalah menu yang
berbentuk tabel dengan pengelompokan halaman sesuai dengan tabel menu di atasnya.
Menu ini banyak dipakai untuk menghemat tempat pada tampilan aplikasi dengan
sistem menampilkan atau menutupi halaman tabel sesuai dengan tabel menu di atasnya.
Jadi jika kita mengklik menu di atasnya maka halaman tabel yang muncul adalah
halaman tabel yang dibuat sesuai dengan menu tabel di atasnya, dan jika kita mengklik
menu tabel lain maka yang muncul adalah halaman tabel yang bersesuaian namun tetap
pada satu tempat itu. 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.