Pemograman Mobile
"Database Android"
BAB I
DASAR TEORI
A. Pengertian
Android dan Fungsinya
Beberapa
tahun belakangan ini istilah Android sering sekali kita dengar, baca maupun
kita lihat. Pada umumnya istilah Android sering dikaitkan dengan Ponsel,
smartphone dan tablet.
Penemu
Android adalah Andy Rubin yang lahir pada tanggal 22 Juni 1946 di New Bedford,
Amerika Serikat. Andy Rubin bersama-sama dengan Rich Miner, Nick Sears, dan
Chris White mendirikan Android.inc dan apada Juli 2005 dibeli oleh Google.
Pengertian Android adalah sistem
operasi berbasis Linux yang dipergunakan sebagai pengelola sumber daya
perangkat keras, baik untuk ponsel, smartphone dan juga PC tablet.
Secara umum Android adalah platform yang terbuka (Open Source) bagi para
pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh
berbagai piranti bergerak.
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.
Semenjak kehadirannya pada 9 Maret 2009, Android telah hadir dengan versi 1.1,
yaitu sistem operasi yang sudah dilengkapi dengan pembaruan estetis pada
apalikasinya, seperti jam alrm, voice search, pengiriman pesan dengan Gmail,
dan pemberitahuan email.
Hingga tahun 2012, Android telah berkembang dengan pesat. Dalam kurun 3 tahun
Android telah diproduksi dalam versi, dan versi terakhir yang diproduksi
disebut sebagai Android versi 4.1 atau Android Jelly Bean.
Perkembangan Android dari tahun 2009 –
2012 adalah sebagai berikut :
a.
Android versi 1.1
b.
Android versi 1.5 (Cupcake)
c.
Android versi 1.6 (Donut)
d.
Android versi 2.0/2.1 (Eclair)
e.
Android versi 2.2 (Froyo: Frozen Yoghurt)
f.
Android versi 2.3 (Gingerbread)
g.
Android versi 3.0/3.1 (Honeycomb)
h.
Android versi 4.0 (ICS :Ice Cream Sandwich)
i.
Android versi 4.1 (Jelly Bean)
B.
Pengertian Eclipse
Eclipse adalah sebuah IDE (Integrated Developmnet Environtmen) yang digunakan untuk membuat atau hanya untuk mengembangkan
sebuah aplikasi, eclipse ini biasanya banyak digunakan oleh para developer
pengembang aplikasi mobile seperti android karena tools ini mendukung banyak
kemudahan dalam pengerjaan sebuah projek. Sama seperti halnya netbeans, Eclipse
juga merupakan tools dengan lisensi kode terbuka (open source) sehingga sangat
memungkinkan untuk dimiliki secara gratis. Selain itu eclipse ini juga memiliki
beberapa keunggulan lainya yaitu kemampuanya untuk dapat dikembangkan oleh
pengguna dengan komponen yang dinamakan plug-in sehingga tools ini sangat cocok
untuk mengembangkan sebuah aplikasi untuk android.
BAB II
HASIL DAN PEMBAHASAN
1. Untuk membuat project baru, pilih File > New > Android
Application Project. Atau bisa juga dengan mengklik icon Android Application Project pada
eclipse toolbar.
Setelah
membuat project baru maka akan muncul gambar di bawah ini. Maka kita perlu
mengisi kotak dibawah ini seperti Application Name dan Package Name.
2. Setelah kita meng-klik next maka akan muncul
gambar di bawah ini. Icon launcer sudah diatur maka tinggal kita mengatur
clipartnya. Clipart digunakan untuk mengatur simbol aplikasi android yang kita
pilih. Caranya adalah dengan memilihnya pada choose, lalu pilih saja sesuai
dengan selera. Warnanya dapat kita ubah pada foreign color.
3. Setelah kita klik next maka akan muncul kotak di
bawah ini. Isikan Activity Name sesuai dengan kehendak, dalam pengisian ini
tidak boleh menggunakan spasi. Sebagai pemisah kita dapat menggunakan “_”. Lalu
klik finish.
4. Lalu pada
tampilan awal akan muncul layout default aplikasi dengan layout default seperti
dibawah
Setelah itu
kita buat class baru dengan nama DBHelper dengan cara memilih package dari
aplikasi kita lalu klik kanan => new
pilih class lalu beri nama class
tersebut dengan nama DBHelper
Lalu ketikan
koding berikut :
package dwifitriana.databaseandroid;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBHelper extends SQLiteOpenHelper {
/** deklarasi konstanta-konstanta yang
digunakan pada database, seperti nama tabel,
nama-nama kolom, nama database, dan versi
dari database **/
public static final String TABLE_NAME = "data_inventori";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_NAME = "nama_barang";
public static final String COLUMN_MERK = "merk_barang";
public static final String COLUMN_HARGA = "harga_barang";
private static final String db_name ="inventori.db";
private static final int db_version=1;
//Perintah SQL untuk
membuat tabel database baru
private static final String db_create = "create table
"
+ TABLE_NAME + "("
+ COLUMN_ID +" integer primary
key autoincrement, "
+ COLUMN_NAME+ " varchar(50) not
null, "
+ COLUMN_MERK+ " varchar(50) not
null, "
+ COLUMN_HARGA+ " varchar(50) not
null);";
public DBHelper(Context context) {
super(context, db_name, null, db_version);
// TODO Auto-generated constructor stub
}
//mengeksekusi perintah SQL di atas
untuk membuat tabel database baru
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(db_create);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
Log.w(DBHelper.class.getName(),
"Upgrading database from version
" +
oldVersion + " to "
+ newVersion + ", which will
destroy all old data");
db.execSQL("DROP TABLE IF
EXISTS " + TABLE_NAME);
onCreate(db);
}
}
Lalu kita
buat class baru lagi dengan cara seperti diatas dan beri nama class tersebut
dengan nama Barang. Sintaknya sebagai berikut :
package dwifitriana.databaseandroid;
public class Barang {
private long id;
private String nama_barang;
private String merk_barang;
private String harga_barang;
public Barang()
{
}
public long getId()
{
return id;
}
public void setId(long id)
{
this.id = id;
}
public String getNama_barang()
{
return nama_barang;
}
public void setNama_barang(String
nama_barang)
{
this.nama_barang = nama_barang;
}
public String getMerk_barang()
{
return merk_barang;
}
public void setMerk_barang(String
merk_barang)
{
this.merk_barang = merk_barang;
}
public String
getHarga_barang()
{
return harga_barang;
}
public void setHarga_barang(String
harga_barang)
{
this.harga_barang = harga_barang;
}
@Override
public String toString()
{
return "Barang "+ nama_barang +" "+ merk_barang + " "+ harga_barang;
}
}
Lalu buat
class lagi dengan nama DBDataSource dengan sintak berikut :
package dwifitriana.databaseandroid;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import java.util.ArrayList;;
public class DBDataSource {
//inisialiasi SQLite
Database
private SQLiteDatabase database;
//inisialisasi kelas
DBHelper
private DBHelper dbHelper;
//ambil semua nama
kolom
private String[] allColumns = { DBHelper.COLUMN_ID,
DBHelper.COLUMN_NAME, DBHelper.COLUMN_MERK,DBHelper.COLUMN_HARGA};
//DBHelper
diinstantiasi pada constructor
public DBDataSource(Context
context)
{
dbHelper = new DBHelper(context);
}
//membuka/membuat
sambungan baru ke database
public void open() throws SQLException
{
database = dbHelper.getWritableDatabase();
}
//menutup sambungan ke
database
public void close()
{
dbHelper.close();
}
//method untuk
create/insert barang ke database
public Barang
createBarang(String nama, String merk, String harga) {
// membuat sebuah
ContentValues, yang berfungsi
// untuk memasangkan
data dengan nama-nama
// kolom pada database
ContentValues
values = new ContentValues();
values.put(DBHelper.COLUMN_NAME, nama);
values.put(DBHelper.COLUMN_MERK, merk);
values.put(DBHelper.COLUMN_HARGA, harga);
// mengeksekusi
perintah SQL insert data
// yang akan
mengembalikan sebuah insert ID
long insertId = database.insert(DBHelper.TABLE_NAME, null,values);
// setelah data
dimasukkan, memanggil
// perintah SQL Select
menggunakan Cursor untuk
// melihat apakah data
tadi benar2 sudah masuk
// dengan menyesuaikan
ID = insertID
Cursor
cursor = database.query(DBHelper.TABLE_NAME,
allColumns, DBHelper.COLUMN_ID + " = " + insertId, null,
null, null, null);
// pindah ke data
paling pertama
cursor.moveToFirst();
// mengubah objek pada
kursor pertama tadi
// ke dalam objek
barang
Barang
newBarang = cursorToBarang(cursor);
// close cursor
cursor.close();
// mengembalikan
barang baru
return newBarang;
}
private Barang
cursorToBarang(Cursor cursor) {
// buat objek barang
baru
Barang
barang = new Barang();
// debug LOGCAT
Log.v("info", "The getLONG
"+cursor.getLong(0));
Log.v("info", "The setLatLng
"+cursor.getString(1)+
","+cursor.getString(2));
/* Set atribut pada
objek barang dengan
* * data kursor yang diambil dari database*/
barang.setId(cursor.getLong(0));
barang.setNama_barang(cursor.getString(1));
barang.setMerk_barang(cursor.getString(2));
barang.setHarga_barang(cursor.getString(3));
//kembalikan sebagai
objek barang
return barang;
}
//mengambil semua data
barang
public ArrayList<Barang>
getAllBarang() {
ArrayList<Barang>
daftarBarang = new ArrayList<Barang>();
// select all SQL
query
Cursor
cursor = database.query(DBHelper.TABLE_NAME,
allColumns, null, null, null, null, null);
// pindah ke data
paling pertama
cursor.moveToFirst();
// jika masih ada
data, masukkan data barang ke
// daftar barang
while (!cursor.isAfterLast())
{
Barang
barang = cursorToBarang(cursor);
daftarBarang.add(barang);
cursor.moveToNext();
}
// Make sure to close
the cursor
cursor.close();
return daftarBarang;
}
}
Setelah itu
kita buat file xml baru dengan cara klik pada project kita, lalu klik kanan
=> new pilih android xml file lalu
beri nama create data lalu ketikan koding berikut :
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/nama_barang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:inputType="text"
android:hint="Nama Barang"
android:ems="10" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/merk_barang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:inputType="text"
android:hint="Merk Barang"
android:ems="10" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/harga_barang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:inputType="number"
android:hint="Harga
Barang"
android:ems="10"
>
<requestFocus />
</EditText>
<Button
android:id="@+id/buttom_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit" />
</LinearLayout>
Setelah itu
kita buat class baru lagi dengan nama CreateData dengan sintak berikut :
package dwifitriana.databaseandroid;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;
import android.widget.Toast;
public class CreateData extends Activity implements OnClickListener {
//inisilisasi elemen-elemen pada layout
private Button buttonSubmit;
private EditText edNama;
private EditText edMerk;
private EditText edHarga;
//inisialisasi
kontroller/Data Source
private DBDataSource dataSource;
@Override
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.createdata);
buttonSubmit = (Button) findViewById(R.id.buttom_submit);
buttonSubmit.setOnClickListener(this);
edNama = (EditText) findViewById(R.id.nama_barang);
edHarga = (EditText) findViewById(R.id.harga_barang);
edMerk = (EditText) findViewById(R.id.merk_barang);
// instanstiasi kelas DBDataSource
dataSource = new DBDataSource(this);
//membuat sambungan baru ke database
dataSource.open();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method
stub
// Inisialisasi data
barang
String nama = null;
String merk = null;
String harga = null;
@SuppressWarnings("unused")
//inisialisasi barang baru (masih kosong)
Barang barang = null;
if(edNama.getText()!=null && edMerk.getText()!=null && edHarga.getText()!=null)
{
/* jika field nama, merk, dan harga tidak kosong
* maka masukkan ke dalam data
barang*/
nama = edNama.getText().toString();
merk = edMerk.getText().toString();
harga = edHarga.getText().toString();
}
switch(v.getId())
{
case R.id.buttom_submit:
// insert data barang baru
barang = dataSource.createBarang(nama,
merk, harga);
//konfirmasi kesuksesan
Toast.makeText(this, "masuk
Barang\n" +
"nama\n" +
barang.getNama_barang() +
"merk\n" +
barang.getMerk_barang() +
"harga\n" +
barang.getHarga_barang(), Toast.LENGTH_LONG).show();
break;
}
}
}
Setelah itu
kita buat xml baru dengan nama viewdata lalu ketkan koding berikut :
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
Setelah itu
kita buat class lagi dengan nama
ViewData dengan sintak berikut :
package dwifitriana.databaseandroid;
import java.util.ArrayList;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
public class ViewData extends ListActivity {
//inisialisasi
kontroller
private DBDataSource dataSource;
//inisialisasi
arraylist
private ArrayList<Barang>
values;
//menampilkan data
@Override
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewdata);
dataSource = new DBDataSource(this);
// buka kontroller
dataSource.open();
// ambil semua data barang
values = dataSource.getAllBarang();
// masukkan data barang ke array adapter
ArrayAdapter<Barang> adapter = new ArrayAdapter<Barang>(this,
android.R.layout.simple_list_item_1, values);
// set adapter pada
list
setListAdapter(adapter);
}
}
Lalu kita
buat class dan xl dengan nama Menu lalu ketikan kodingnya :
Xml Menu :
<?xml version="1.0"
encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/Button_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="62dp"
android:text="@string/tombol_lihat" />
<Button
android:id="@+id/Button_tambah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/Button_view"
android:layout_centerHorizontal="true"
android:layout_marginBottom="38dp"
android:text="@string/tombol_tambah" />
<TextView
android:id="@+id/Nama_app"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/nama_app" />
</RelativeLayout>
Class Menu :
package dwifitriana.databaseandroid;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Menu extends Activity implements OnClickListener {
private Button bTambah;
private Button bLihat;
@Override
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
bTambah = (Button) findViewById(R.id.Button_tambah);
bTambah.setOnClickListener(this);
bLihat = (Button) findViewById(R.id.Button_view);
bLihat.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// // TODO Auto-generated method
stub
switch(v.getId())
{
case R.id.Button_tambah :
Intent i = new Intent(this, CreateData.class);
startActivity(i);
break;
case R.id.Button_view :
Intent i2 = new Intent(this, ViewData.class);
startActivity(i2);
break;
}
}
}
Setelah
semua class dan xml jadi, langkah selanjutnya adalah memodifikasi file
AndrodiManifest.xml.
Menjadi
seperti berikut ini :
<?xml version="1.0"
encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="megapuspita.databaseandroid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="megapuspita.databaseandroid.CreateData"
android:label="@string/app_name" >
</activity>
<activity
android:name="megapuspita.databaseandroid.Menu"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"
/>
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity
android:name="megapuspita.databaseandroid.ViewData"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
Lalu setelah
di running hasilnya adalah sebagai berikut :
Pada saat
kita menekan tombol tambah maka akan muncul tampilan untuk menambahkan data
barang . Isi nama barang, merk barang, dan harga barangnya lalu klik submit.
Artikel Ini Di Ambil Dari Blog http://androidriva.blogspot.com/