PRAKTIKUM 11 ( DATABASE II )
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.
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.
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 Project name Package name : databaseSI12A : databaseSI12A : 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.
@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.
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.
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; } }
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); } }
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.
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.
14.
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>
</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 :
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/