PEMROGRAMAN MOBILE
“PRAKTIKUM 11 ( DATABASE II )”
Disusun oleh : CYNTHIA STEFFI CLIFF
12.12.0037 SI 12 A
http://cliffnewbie.wordpress.com/
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM PURWOKERTO
Jl. Let. Jend. Pol. Sumarto, Purwokerto Utara 2013
BAB I
PENDAHULUAN
1. Rumusan Masalah
Dalam praktikum satu ini dapat dirumuskan masalah bahwa :
a. Bagaimana pembuatan program untuk membuat database pada eclipse?
b. Bagaimana hasil pengaplikasian dari praktikum 11 tentang database?
2. Batasan Masalah
Adapun batasan masalah pada praktikum database yang dapat kita ketahui, yaitu :
a. Tahapan pembuatan aplikasi database sederhana pada eclipse.
b. Hasil aplikasi sederhana dari praktikum 11 tentang aplikasi sederhana database.
3. Tujuan
Adapun tujuan dari pembuatan aplikasi sederhana dengan eclipse, diantaranya :
a. Mengetahui pemrograman mobile dengan aplikasi eclipse.
b. Menambah nilai tugas dalam laporan praktikum.
c. Dapat membuat dan menjalankan aplikasi yang dibuat dengan baik dan benar.
BAB II
LANDASAN TEORI
A. Pengertian SQLite
Android SQLite database merupakan bagian integral "built-in" komponen.
Setiap database yang Anda buat akan dapat diakses dengan nama untuk setiap kelas dalam aplikasi, tetapi tidak di luar aplikasi. Di sini kita akan melihat bagaimana menggunakan SQLite API untuk melakukan operasi database umum.
SQLite adalah sistem manajemen database relasional (RDBMS). Apa yang membuat SQLite unik adalah bahwa hal itu dianggap sebagai solusi embedded. Kebanyakan sistem manajemen database seperti Oracle, MySQL, dan SQL Server adalah proses server mandiri yang dijalankan secara independen. SQLite sebenarnya adalah sebuah perpustakaan yang terhubung ke dalam aplikasi. Semua operasi database ditangani dalam aplikasi melalui panggilan dan fungsi yang terdapat di perpustakaan SQLite. Ini adalah berita bagus saat Anda sedang belajar menggunakan SQLite karena itu membuat lebih mudah untuk memanipulasi bahkan database besar bila dibandingkan dengan solusi database lebih konvensional. Dalam kasus Anda tertarik, SQLite sebenarnya ditulis dalam C dan terkandung dalam berbasis Java "wrapper" yang disediakan oleh SDK Android. SQLite tidak mengandalkan Structured Query Language (SQL); bahasa yang sama digunakan oleh kebanyakan RDBMSs lainnya.
BAB III PEMBAHASAN
A. Tutorial Membuat Database Android
Berikut merupakan tahapan pembuatan aplikasi android sederhana tentang database.
1. Buka eclipse.
2. Buka menu File New Project Android Android Project Next.
3. Pilih pada jendela New Android Project seperti berikut :
Application name : databaseSI12A
Project name : databaseSI12A
Package name : com.example.databaseSI12A
4. Setelah di next pada jendela eclipse, lalu pilih symbol untuk project yang kita buat dan klik next hingga finish. Setelah itu maka akan muncul lembar kerja baru dengan project nama yang sudah kita buat sebelumnya.
5. Klik src package klik kanan new class seperti berikut.
6. Buka MainActivity.java dan isikan kode seperti berikut.
package com.example.databasesi12a;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@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;
} }
7. Tambahkan kode program pada class DBHelper.java seperti berikut.
package com.example.databasesi12a;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBHelper extends SQLiteOpenHelper{
//nama variabel adalah table name
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";
public static final String db_name = "inventori.db";
private static final int db_version = 1;
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 abc){
super(abc, db_name, null, db_version);
}
@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"+ oldVersion + "to" + newVersion + ",which will destroy all old data");
db.execSQL("Drop Table If Exist" + TABLE_NAME);
onCreate(db);
} }
8. Tambahkan kode program pada class CreateData.java seperti berikut.
package com.example.databasesi12a;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class CreateData extends Activity implements OnClickListener{
private Button submit;
private EditText nama, merk, harga;
private DBDataSource datasource;
@Override
protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.createdata);
submit = (Button) findViewById(R.id.btnSubmit);
submit.setOnClickListener(this);
nama = (EditText) findViewById(R.id.txtNamaBarang);
merk = (EditText) findViewById(R.id.txtMerk);
harga = (EditText) findViewById(R.id.txtHarga);
datasource = new DBDataSource(this);
datasource.open();
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub String nma = null;
String mrk = null;
String hrg = null;
Barang barang = null;
if(nama.getText()!=null && merk.getText()!=null &&
harga.getText()!=null){
nma = nama.getText().toString();
mrk = merk.getText().toString();
hrg = harga.getText().toString();
}
switch (arg0.getId())
{
case R.id.btnSubmit:
barang =
datasource.createBarang(nma,mrk,hrg);
Toast.makeText(this, "masuk barang\n" + "nama" + barang.getNama_barang()+
"merk" + barang.getMerk_barang()+
"harga" + barang.getHarga_barang(), Toast.LENGTH_LONG)arg0.show();
break;
}
} }
9. Buat juga kode program pada class DBDataSource.java
package com.example.databasesi12a;
import android.content.ContentValues;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
public class DBDataSource {
private SQLiteDatabase database;
private DBHelper dbHelper;
private String[] allcolumns={
DBHelper.COLUMN_ID, DBHelper.COLUMN_NAME, DBHelper.COLUMN_MERK, DBHelper.COLUMN_HARGA };
public DBDataSource(Context c){
dbHelper = new DBHelper(c);
//
}
public DBDataSource(CreateData createData) { // TODO Auto-generated constructor stub }
public void open() throws SQLException { // TODO Auto-generated method stub
database = dbHelper.getWritableDatabase();
}
public void close(){
dbHelper.close();
}
public Barang createBarang(String nma, String mrk, String hrg) ContentValue values = new ContentValues();
values.put(DBHelper.COLUMN_NAME,nma);
values.put(DBHelper.COLUMN_MERK,mrk);
values.put(DBHelper.COLUMN_HARGA,hrg);
} }
10. Buatlah kode program pada kelas ViewData.java
import java.util.ArrayList;
import android.app.Dialog;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
public class ViewData extends ListActivity implements OnItemClickListener {
//inisialisasi kontroller
private DBDataSource dataSource;
//inisialisasi arraylist
private ArrayList<Barang> values;
private Button editBarang, deleteBarang;
//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);
ListView lv = (ListView) findViewById(R.id.listView1);
lv.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialog_view);
dialog.setTitle("Pilih Aksi");
dialog.show();
// final Barang b = (Barang) getListAdapter().getItem(pos);
editBarang = (Button) findViewById(R.id.button_edit_data);
}
}
11. Tambahkan kode program pada kelas Barang.java
public class Barang {
private long id;
private String nama_barang;
private String merk_barang;
private String harga_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;
}
}
12. Buat file xml baru dengan cara klik folder res layot klik kanan new file xml
13. Tambahkan kode pula pada createdata.xml
<?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/txtNamaBarang"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Nama Barang" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/txtMerk"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Merk Barang" />
<EditText
android:id="@+id/txtHarga"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Harga Barang" />
<Button
android:id="@+id/btnSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Nama Barang"
android:text="Submit" />
</LinearLayout>
14. Tambahkan kode pada viewdata.xml
<?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:background="#000000"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="@string/tampil"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#00FF00" />
<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></ListView>
</LinearLayout>
15. Tambahkan kode program pada menu.xml
<RelativeLayoutxmlns: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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<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="112dp"
android:text="Lihat Barang" />
<TextView
android:id="@+id/nama_app"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button_tambah"
android:layout_centerHorizontal="true"
android:layout_marginBottom="71dp"
android:text="Menu"
android:textSize="20sp" />
<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="16dp"
android:text="Tambah barang" />
</RelativeLayout>
16. Tambahkan kode program di class file dialog_view.xml
<?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" >
<Button
android:id="@+id/button_edit_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="180dp"
android:minWidth="80dp"
android:text="edit" />
<Button
android:id="@+id/button_delete_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button_edit_data"
android:layout_centerHorizontal="true"
android:minWidth="80dp"
android:text="delete" />
</RelativeLayout>
Keterangan :
Aplikasi ini merupakan aplikasi android sederhana dengan membuataplikasi database dengan menggunakan datanbase SQLite yang mana aplikasi ini dapat menyimpan, mengedit, menghapus data.
Berikut ini merupakan konsep sementara aplikasi database :
HASIL OUTPUT PROJEK
BAB IV KESIMPULAN
Dalam praktikum database ini dapat disimpulkan bahwa Android SQLite database merupakan bagian integral "built-in" komponen. Setiap database yang Anda buat akan dapat diakses dengan nama untuk setiap kelas dalam aplikasi, tetapi tidak di luar aplikasi. Di sini kita akan melihat bagaimana menggunakan SQLite API untuk melakukan operasi database umum.
DAFTAR PUSTAKA
http://www.candra.web.id/2012/11/21/pengantar-sqlite/