<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:id="@+id/linearlayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true" >
<TextView
android:id="@+id/textview1"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:text="@string/tvnim" />
<EditText
android:id="@+id/txtnim"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text" >
</EditText>
</LinearLayout>
<LinearLayout
android:id="@+id/linearlayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearlayout1"
android:layout_alignParentLeft="true" >
<TextView
android:id="@+id/textview2"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:text="@string/tvnama" />
<EditText
android:id="@+id/txtnama"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName" >
</EditText>
</LinearLayout>
<LinearLayout
android:id="@+id/linearlayout3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearlayout2"
android:layout_alignParentLeft="true" >
<TextView
android:id="@+id/textview3"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:text="@string/tvalamat" />
<EditText
android:id="@+id/txtalamat"
android:layout_width="206dp"
android:layout_height="wrap_content"
android:inputType="textPostalAddress" >
</EditText>
</LinearLayout>
<TextView
android:id="@+id/txtKelamin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/linearlayout3"
android:layout_marginTop="19dp"
android:text="Jenis Kelamin :" />
<EditText
android:id="@+id/editKelamin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/linearlayout3"
android:layout_toRightOf="@+id/txtKelamin"
android:ems="10" />
<TextView
android:id="@+id/txtHp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editKelamin"
android:layout_marginTop="24dp"
android:text="No HP :" />
<EditText
android:id="@+id/editHP"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/txtHp"
android:layout_alignBottom="@+id/txtHp"
android:layout_alignLeft="@+id/editKelamin"
android:ems="10" />
<Button
android:id="@+id/btnsimpan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editHP"
android:layout_marginTop="26dp"
android:text="Simpan" />
</RelativeLayout>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnrefresh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btnRef" />
<Button
android:id="@+id/btnedit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btnEdit" />
<Button
android:id="@+id/btnhapus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btnHapus" />
<Button
android:id="@+id/btnhapusemua"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btnHapusAll" />
</TableRow>
</TableLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TableLayout
android:id="@+id/tableLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1" >
</TableLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MenuActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String menu[] = new String[]{"Isi Biodata", "Daftar Biodata", "Exit"};
this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,menu));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id){
super.onListItemClick(l, v, position, id);
Object obj = this.getListAdapter().getItem(position);
String pilihan = obj.toString();
Intent myIntent = null;
if(pilihan.equalsIgnoreCase("exit"))
finish();
else {
if(pilihan.equalsIgnoreCase("isi biodata")){
myIntent = new Intent(this, IsiBiodata.class);
myIntent.putExtra("status", "baru");
}
else if(pilihan.equalsIgnoreCase("daftar biodata"))
myIntent = new Intent(this, DaftarBiodata.class);
startActivity(myIntent);
}
}
}
import eko.crudsqlite.R;
import android.app.Activity;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class IsiBiodata extends Activity{
private OperasiDatabase oprDatabase = null; // membuat tipe data baru dari class OperasiDatabase dari file OperasiDatabase.java
private SQLiteDatabase db = null; // membuat tipe data baru dari class OperasiDatabase dari file OperasiDatabase.java
private EditText txtnim;
private EditText txtnama;
private EditText txtalamat;
private EditText editHP;
private EditText editKelamin;
private Button btnsimpan;
private Boolean data_baru;
@Override
public void onCreate(Bundle savedInstanceState) {
String nim ="";
String nama ="";
String alamat ="";
String no_hp ="";
String jenis_kelamin ="";
super.onCreate(savedInstanceState);
setContentView(R.layout.isibiodata);
oprDatabase = new OperasiDatabase(this);
db = oprDatabase.getWritableDatabase();
oprDatabase.createTable(db);
Intent sender = getIntent();
String status = sender.getExtras().getString("status");
if(status.equalsIgnoreCase("baru")){
data_baru = true;
} else
{
data_baru = false;
nim = sender.getExtras().getString("nim");
nama = sender.getExtras().getString("nama");
alamat = sender.getExtras().getString("alamat");
no_hp = sender.getExtras().getString("no_hp");
jenis_kelamin = sender.getExtras().getString("jenis_kelamin");
}
txtnim = (EditText) findViewById(R.id.txtnim);
txtnim.setText(nim);
txtnama = (EditText) findViewById(R.id.txtnama);
txtnama.setText(nama);
txtalamat = (EditText) findViewById(R.id.txtalamat);
txtalamat.setText(alamat);
editKelamin = (EditText) findViewById(R.id.editKelamin);
editKelamin.setText(jenis_kelamin);
editHP = (EditText) findViewById(R.id.editHP);
editHP.setText(no_hp);
btnsimpan =(Button) findViewById(R.id.btnsimpan);
if(data_baru==true)
btnsimpan.setText("Simpan");
else
btnsimpan.setText("Edit");
btnsimpan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
simpandata();
}
});
}
private void simpandata(){
String[] data = new String[]{
txtnim.getText().toString(),
txtnama.getText().toString(),
txtalamat.getText().toString(),
editHP.getText().toString(),
editKelamin.getText().toString()
};
if(data_baru==true) {
oprDatabase.insertBiodata(db, data);
txtnim.setText("");
txtnama.setText("");
txtalamat.setText("");
editKelamin.setText("");
editHP.setText("");
}
else if(data_baru==false){
oprDatabase.updateBiodata(db, data);
finish();
}
}
public void onDestroy() {
super.onDestroy();
db.close();
}
}
package eko.crudsqlite;
import eko.crudsqlite.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
public class DaftarBiodata extends Activity{
private OperasiDatabase oprDatabase = null;
private SQLiteDatabase db = null;
private Cursor dbCursor = null;
private Button btnhapusemua;
private Button btnhapus;
private Button btnedit;
private Button btnrefresh;
private String nim, nama, alamat,no_hp,jenis_kelamin;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.daftarbiodata);
oprDatabase = new OperasiDatabase(this);
db = oprDatabase.getWritableDatabase();
oprDatabase.createTable(db);
TampilkanData();
final AlertDialog.Builder dialog = new AlertDialog.Builder(this);
btnhapusemua = (Button) findViewById(R.id.btnhapusemua);
btnhapusemua.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.setTitle("Konfirmasi");
dialog.setMessage("Anda yakin akan menghapus seluruh data?");
dialog.setNegativeButton("Cancel", null);
dialog.setPositiveButton("Ok", new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
oprDatabase.deleteAllBiodata(db);
TampilkanData();
}
});
dialog.show();
}
});
btnedit = (Button) findViewById(R.id.btnedit);
btnedit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!nim.isEmpty()){
dbCursor = oprDatabase.selectBiodata(db, "SELECT nama, alamat,no_hp,jenis_kelamin FROM biodata WHERE nim='"+nim+"'");
dbCursor.moveToFirst();
nama = dbCursor.getString(0);
alamat = dbCursor.getString(1);
no_hp = dbCursor.getString(2);
jenis_kelamin = dbCursor.getString(3);
TampilkanEditBiodata();
}
}
});
btnhapus = (Button) findViewById(R.id.btnhapus);
btnhapus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!nim.isEmpty()){
dialog.setTitle("Konfirmasi");
dialog.setMessage("Anda yakin akan menghapus data "+nim+" ini ?");
dialog.setNegativeButton("Cancel", null);
dialog.setPositiveButton("Ok", new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
oprDatabase.deleteBiodata(db, nim);
TampilkanData();
nim = "";nama="";alamat="";no_hp="";jenis_kelamin="";
}
});
dialog.show();
}
}
});
btnrefresh = (Button) findViewById(R.id.btnrefresh);
btnrefresh.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TampilkanData();
}
});
}
private void TampilkanData(){
TableLayout TL=(TableLayout) findViewById(R.id.tableLayout);
TL.removeAllViews();
dbCursor = oprDatabase.selectBiodata(db, "SELECT * FROM biodata");
dbCursor.moveToFirst();
int jml_baris=dbCursor.getCount();
if(jml_baris == 0) return;
int kol_nim=dbCursor.getColumnIndex("nim");
int kol_nama=dbCursor.getColumnIndex("nama");
int kol_alamat=dbCursor.getColumnIndex("alamat");
int kol_no_hp=dbCursor.getColumnIndex("no_hp");
int kol_jenis_kelamin=dbCursor.getColumnIndex("jenis_kelamin");
int indeks=1;
String[][] data=new String[jml_baris][5];
data[0][0]=dbCursor.getString(kol_nim);
data[0][1]=dbCursor.getString(kol_nama);
data[0][2]=dbCursor.getString(kol_alamat);
data[0][3]=dbCursor.getString(kol_no_hp);
data[0][4]=dbCursor.getString(kol_jenis_kelamin);
if(dbCursor!=null){
while(dbCursor.moveToNext()){
data[indeks][0]=dbCursor.getString(kol_nim);
data[indeks][1]=dbCursor.getString(kol_nama);
data[indeks][2]=dbCursor.getString(kol_alamat);
data[indeks][3]=dbCursor.getString(kol_no_hp);
data[indeks][4]=dbCursor.getString(kol_jenis_kelamin);
indeks++;
}
}
TableLayout.LayoutParams ParameterTableLayout=new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT);
for(int awal=0; awal<jml_baris;awal++){
TableRow TR=new TableRow(this);
TR.setBackgroundColor(Color.BLACK);
TR.setLayoutParams(ParameterTableLayout);
TableRow.LayoutParams ParameterTableRow=new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT);
ParameterTableRow.setMargins(1,1,1,1);
final CheckBox chk = new CheckBox(this);
chk.setTag(data[awal][0]);
TR.addView(chk,ParameterTableRow );
chk.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(chk.isChecked())
nim = chk.getTag().toString();
else
nim = "";
}
});
for(int kolom = 0;kolom < 5; kolom++){
TextView TV=new TextView(this);
TV.setText(data[awal][kolom]);
TV.setTextColor(Color.BLACK);
TV.setPadding(1, 4, 1, 4);
TV.setGravity(Gravity.LEFT);
TV.setBackgroundColor(Color.WHITE);
TR.addView(TV,ParameterTableRow );
}
TL.addView(TR);
}
}
private void TampilkanEditBiodata(){
Intent intentIsiBiodata = new Intent(this, IsiBiodata.class);
intentIsiBiodata.putExtra("status", "edit");
intentIsiBiodata.putExtra("nim", nim);
intentIsiBiodata.putExtra("nama", nama);
intentIsiBiodata.putExtra("alamat", alamat);
intentIsiBiodata.putExtra("no_hp", no_hp);
intentIsiBiodata.putExtra("jenis_kelamin", jenis_kelamin);
nim = "";nama="";alamat="";no_hp="";jenis_kelamin="";
startActivity(intentIsiBiodata);
}
public void onDestroy() {
super.onDestroy();
dbCursor.close();
db.close();
}
}
OperasiDatabase.java
package eko.crudsqlite;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class OperasiDatabase extends SQLiteOpenHelper{
private static final String NAMA_DATABASE = "dbMahasiswa";
private static final String NAMA_TABLE = "biodata";
public OperasiDatabase(Context context) {
super(context, NAMA_DATABASE, null, 1);
}
@Override
public void onCreate(SQLiteDatabase arg0) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
//method createTable untuk membuat table biodata
public void createTable(SQLiteDatabase db){
db.execSQL("CREATE TABLE if not exists "+NAMA_TABLE+" (nim VARCHAR(20) PRIMARY KEY, " +
"nama varchar(50), alamat TEXT,no_hp varchar(13),jenis_kelamin varchar(15));");
}
public Cursor selectBiodata(SQLiteDatabase db, String sql){
Cursor cursor = db.rawQuery(sql,null);
return cursor;
}
//method insertBiodata untuk mengisikan data ke biodata.
public void insertBiodata(SQLiteDatabase db, String[] data){
ContentValues cv=new ContentValues();
cv.put("nim", data[0]);
cv.put("nama", data[1]);
cv.put("alamat", data[2]);
cv.put("no_hp", data[3]);
cv.put("jenis_kelamin", data[4]);
db.insert(NAMA_TABLE,null,cv);
}
//method updateBiodata untuk mengisikan data ke biodata.
public void updateBiodata(SQLiteDatabase db, String[] data){
ContentValues cv=new ContentValues();
cv.put("nama", data[1]);
cv.put("alamat", data[2]);
cv.put("no_hp", data[3]);
cv.put("jenis_kelamin", data[4]);
String whereClause = "nim=?";
String[] whereArgs = new String[] {String.valueOf(data[0])};
db.update(NAMA_TABLE, cv, whereClause, whereArgs);
}
//method deleteBiodata untuk mengisikan data ke biodata.
public void deleteBiodata(SQLiteDatabase db, String nim){
String whereClause = "nim=?";
String[] whereArgs = new String[] {String.valueOf(nim)};
db.delete(NAMA_TABLE, whereClause, whereArgs);
}
public void deleteAllBiodata(SQLiteDatabase db){
db.delete(NAMA_TABLE, null, null);
}
}


