TUGAS PRAKTIKUM
PEMOGRAMAN MOBAIL
"DATABASE ANDROID"
DISUSUN OLEH :
ARI SULISTYANINGSIH
SI 12 C/ 12.12.0122
ARI SULISTYANINGSIH
SI 12 C/ 12.12.0122
LABORATURIUM KOMPUTER & JARINGAN
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM PURWOKERTO
JL. LET. JEND. POL SUMARTO PURWOKERTO
2013
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM PURWOKERTO
JL. LET. JEND. POL SUMARTO PURWOKERTO
2013
#Pertama kita buat project baru terlebih dahulu dengan menggunakan cara file > new , pilih android aplication project dan beri nama project :
Pada configuration launcher icon kita bisa pilih icon untuk aplikasi yang kita buat pada image, lalu clipart untuk lambang yang kita pilih, lalu next
Setelah di next sampai pada konfigurasi activity untuk aplikasi kita, lalu klik finish
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 amikom.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 amikom.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 :
packageamikom.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 amikom.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 amikom.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 amikom.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.









Tidak ada komentar:
Posting Komentar