Jumat, 27 Desember 2013

Langkah-Langkah membuat Database Android

Nama              : Rossy Leviana
Kelas               : SI 12 C
NIM                 : 12.12.0172

Langkah-Langkah Membuat Database Dalam Android

1.Buka Eclips pada komputer anda lalu bikin project baru dengan cara klik New à Android Application Project


2.Beri nama Database Android pada project baru anda,lalu klik next


3.Pilih saja next


4.Jika anda ingin mengubah gambar pada emulator anda klik saja Clipart lalu pilih choose pilih gambar yang anda inginkan lalu pilih next


5.Pada blank activity pilih saja finish


6.Maka project akan tampak seperti gambar dibawah ini


7.Buat class baru dengan cara


Beri nama DBHelper
Pada DBHelper tuliskan coding seperti dibawah ini
package databasendroid.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);
                   }
               
}
8. Buat class baru lagi


Beri nama DBDataSource
Tuliskan coding seperti ini
package databasendroid.databaseandroid;

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

}
9. Buat class lagi


Beri nama CreateData
Tulis coding seperti dibawah iini
package databasendroid.databaseandroid;

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 {

    //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;
                                }
    }

}
10.Buat XML baru dengan cara




Beri nama createdata
Tuliskan coding seperti ini
<?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>





11.Buat class baru

Beri nama Barang
Tuliskan coding seperti gambar dibawah ini
package databasendroid.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;
     }
}
12.Buat class baru

Beri nama Menu
Tuliskan coding seperti ini
package databasendroid.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;
        }
                }

}
13.Buat MXL baru


Beri nama menu
Tuliskan coding seperti ini
<?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" >
   
    <TextView
        android:id="@+id/name_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/name_app"
        />

    <Button
        android:id="@+id/button_tambah"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/name_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"
        />
   

</LinearLayout>

14.Buat class baru

Beri nama ViewData
Tuliskan coding seperti ini
package databasendroid.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);
          }
    }
15.Buat XML baru



Beri nama viewdata
Tuliskan coding seperti ini
<?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" >
   
     <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"
        />
</LinearLayout>

16.Tuliskan coding seperti dibawah iini pada AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="databasendroid.databaseandroid"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
                  
            <activity
              
                android:name="databasendroid.databaseandroid.CreateData"
                android:label="@string/app_name" >
            </activity>
           
            <activity
                android:name="databasendroid.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="databasendroid.databaseandroid.ViewData"
            android:label="@string/app_name" >
            </activity>
    </application>

</manifest>

Setelah semua coding tidak ada yang merah ,maka kita bisa Run

17.Hasiiiilll
Pada Button Tombol Tambah kita klik


Disini kita bisa tambahkan barang sesuai yang kita inginkan,lalu klik submit
Setelah barang kita tambahkan ,kita bisa melihatnya pada Tombol lihat maka barang yang kita tambahkan akan muncul