Laman

Categories

Minggu, 20 April 2014

Pembuatan Database pada Eclipse






Ini adalah tampilan eclipse nya :


Berikut ini adalah codingan yang harus dimasukan pada class yang akan digunakan pada eclipse :


1. Barang.java

==============================================================================

package id.twooh.appinventory;

public class Barang {



private long id;

private String nama_barang;

private String merk_barang;

private String harga_barang;



public Barang()

{



}



/**

* @return the id

*/

public long getId() {

return id;

}



/**

* @param id the id to set

*/

public void setId(long id) {

this.id = id;

}



/**

* @return the nama_barang

*/

public String getNama_barang() {

return nama_barang;

}



/**

* @param nama_barang the nama_barang to set

*/

public void setNama_barang(String nama_barang) {

this.nama_barang = nama_barang;

}



/**

* @return the merk_barang

*/

public String getMerk_barang() {

return merk_barang;

}



/**

* @param merk_barang the merk_barang to set

*/

public void setMerk_barang(String merk_barang) {

this.merk_barang = merk_barang;

}



/**

* @return the harga_barang

*/

public String getHarga_barang() {

return harga_barang;

}



/**

* @param harga_barang the harga_barang to set

*/

public void setHarga_barang(String harga_barang) {

this.harga_barang = harga_barang;

}



@Override

public String toString()

{

return "Barang "+ nama_barang +" "+ merk_barang + " "+ harga_barang;

}

}


2. CreateData.Java

=========================================================================

package id.twooh.appinventory;



import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

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{



//inisilisasi elemen-elemen pada layout

private Button buttonSubmit;

private Button buttonBack;

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.create_data);



buttonSubmit = (Button) findViewById(R.id.buttom_submit);

buttonSubmit.setOnClickListener(this);

buttonBack = (Button) findViewById(R.id.back);

buttonBack.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();

}



//KETIKA Tombol Submit Diklik

@Override

public void onClick(View v) {

// 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 " + barang.getNama_barang() +

". Merk " + barang.getMerk_barang() +

". Harga " + barang.getHarga_barang(), Toast.LENGTH_LONG).show();

break;

case R.id.back :

Intent i3 = new Intent(this, Menu.class);

startActivity(i3);

break;

}



}

}


3. DBSourceData.java

==============================================================================

package id.twooh.appinventory;



import java.util.ArrayList;

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;



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;

}

}



4. DBHelper.java

==============================================================================

package id.twooh.appinventory;



//deklarasi import package

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);

// Auto generated

}



//mengeksekusi perintah SQL di atas untuk membuat tabel database baru

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL(db_create);

}



// dijalankan apabila ingin mengupgrade database

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

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);



}



}

5. Menu.java

==============================================================================

package id.twooh.appinventory;



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;

//import android.app.AlertDialog;

//import android.content.DialogInterface;



public class Menu extends Activity implements OnClickListener{



private Button bTambah;

private Button bLihat;

// private Button bExit;

@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);

// bExit = (Button) findViewById(R.id.button_exit);

// bExit.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;

// case R.id.button_exit :

//close();

// break;

}

}

}

/*private void close() {

// TODO Auto-generated method stub

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setMessage("Apakah Anda Benar-Benar ingin keluar?")

.setCancelable(false)

.setPositiveButton("Ya",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int id) {

finish();

}

})

.setNegativeButton("Tidak",new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int id) {

dialog.cancel();



}

}).show();

}

}

*/




6. ViewData.java

==============================================================================

package id.twooh.appinventory;



import java.util.ArrayList;



import android.app.ListActivity;

import android.os.Bundle;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.content.Intent;

import android.view.View;

import android.view.View.OnClickListener;



public class ViewData extends ListActivity {



//inisialisasi kontroller

private DBDataSource dataSource;



//inisialisasi arraylist

private ArrayList<Barang> values;

@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);

Button btnmenu1=(Button)findViewById(R.id.back);

btnmenu1.setOnClickListener(new View.OnClickListener() {



public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent i=new Intent(getApplicationContext(),Menu.class);

startActivity(i);



}

});

}}


Berikut ini adalah pengaturan untuk tampilannya :

1. Activity_barang.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/container"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="id.twooh.appinventory.Barang"

tools:ignore="MergeRootFrame" />



2. Create_data.xml

<LinearLayout xmlns: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: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"

/>



<Button

android:id="@+id/back"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Back" />



</LinearLayout>



3. Fragment_barang.xml

<RelativeLayout xmlns: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="id.twooh.appinventory.Barang$PlaceholderFragment" >



<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/hello_world" />



</RelativeLayout>



4. Menu.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"

android:orientation="vertical"

>



<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:textSize="20sp"

android:text="@string/app_name"

/>



<Button

android:id="@+id/button_tambah"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@id/nama_app"

android:layout_centerHorizontal="true"

android:text="@string/tombol_tambah"

/>



<Button

android:id="@+id/button_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@id/button_tambah"

android:layout_centerHorizontal="true"

android:text="@string/tombol_lihat"

/>



</RelativeLayout>

5. Viewdata.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

>



<Button

android:id="@+id/back"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Back" />



<TextView

android:id="@+id/data_view"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/title_view"

android:layout_gravity="center_horizontal"

android:background="#0000ff"

/>



<ListView

android:id="@android:id/list"

android:layout_width="match_parent"

android:layout_height="wrap_content" >

</ListView>



</LinearLayout>



Selanjutnya adalah pengaturan untuk stringnya :


1. Strings.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>



<string name="app_name">AppInventory</string>

<string name="hello_world">Hello world!</string>

<string name="action_settings">Settings</string>

<string name="title_activity_main">AppInventory</string>

<string name="barang_hint">Nama Barang</string>

<string name="harga_hint">Harga Barang</string>

<string name="merk_hint">Merk Barang</string>

<string name="tombol_submit">Submit</string>

<string name="tombol_tambah">Tambah Data</string>

<string name="tombol_lihat">Lihat Data</string>

<string name="title_view">Data Barang</string>

</resources>






Atur juga manifestnya seperti berikut ini :

1. AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="id.twooh.appinventory"

android:versionCode="1"

android:versionName="1.0" >



<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="14" />



<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name="id.twooh.appinventory.CreateData"

android:label="@string/app_name" >

</activity>

<activity

android:name="id.twooh.appinventory.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="id.twooh.appinventory.ViewData"

android:label="@string/app_name" >

</activity>

</application>



</manifest>



OUTPUT :

Tampilan Utama Project

Ketika Menambahkan Data

Setelah data yg diisi di Submit

Setelah kita memilih tombol exit

ketika kita melihat data yang sudah ditambahkan
 berikut ini adalah link untuk mendowload projectnya :
disini downloadnya

4 komentar:

  1. Kak kok pas mau di run pasti stopped ya?
    padahal kodding uda sama peris dan gak ada warning

    BalasHapus
  2. Coba dicek lagi mungkin masih ada yang kurang, atau cek AVD dan konfigurasi untuk virtual androidnya

    BalasHapus
  3. Coba dicek lagi mungkin masih ada yang kurang, atau cek AVD dan konfigurasi untuk virtual androidnya

    BalasHapus
  4. tampilan database ny bisa dibuat tabel gk? tombol exit nya gk ada gan,,,

    BalasHapus

^^