Rabu, 03 Juni 2015

Laporan Praktikum 5 Membuat CRUD (create, read, update, delete) (Create, Read, Update, Delete)

Untuk memudahkan melihat hasil dari pekerjaan selanjutnya, saya sarankan menginstall sqlite
manager pada eclipse :

1. Copy SQLite Manager pada folder dopins (lokasi eclipse / dropin /
    sqlitemanager_1.0.0.jar)
2. Pada Eclipse, buka Windows -> Show View -> Other -> File Explorer


Jika emalator belum dijalankan, pada File Explorer akan kosong, pastikan emulator sudah dijalankan jika
ingin melihat tampilan seperti di atas.

3. Setelah itu kita akan membuat project CRUD_SQILITE
4.Buka Eclipse, lalu klik file->New->Other->Android->Android Application Project
5. Isikan pada masing-masing Field (untuk bagian field lain boleh dibuat sesuai keinginan
    masing-masing) :
    Application Name :CRUD_SQLITE
    Package Name : jhointegrity.com
    Activity : MainActivity
6. Pada Package Explorer, Buka file main.xml di folder res/layout, perhatikan gambar berikut


7. Ganti Kode pada main.xml menjadi sepertik berikut
Main.xm

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/LinearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    android:orientation="vertical" 
    tools:context=".MainActivity" > 

    <Button 
        android:id="@+id/buttonTambahBiodata" 
        android:layout_width="186dp" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:text="Tambah Biodata" /> 

    <HorizontalScrollView 
        android:id="@+id/horizontalScrollView" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" > 

        <ScrollView 
            android:id="@+id/verticalScrollView" 
            android:layout_width="wrap_content" 
            android:layout_height="match_parent" > 

            <TableLayout 
                android:id="@+id/tableBiodata" 
                android:layout_width="match_parent" 
                android:layout_height="wrap_content" > 
            </TableLayout> 
        </ScrollView> 
    </HorizontalScrollView> 

</LinearLayout>

8.  Pada package src/MainActivity, buka MainActivity.java pastikan kodenya seperti berikut


 9.MainActivity

package jhointegrity.com; 

import java.util.ArrayList; 
import java.util.HashMap; 

import android.app.Activity; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.support.v4.view.ViewPager.LayoutParams; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.LinearLayout; 
import android.widget.TableLayout; 
import android.widget.TableRow; 
import android.widget.TextView; 
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {
    SQLiteHelper sqLiteHelper = new SQLiteHelper(this);
    TableLayout tabelBiodata; 
     Button buttonTambahBiodata; 
     ArrayList<Button> buttonEdit = new ArrayList<Button>(); 
     ArrayList<Button> buttonDelete = new ArrayList<Button>(); 
    
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
    
      tabelBiodata = (TableLayout) findViewById(R.id.tableBiodata); 
      buttonTambahBiodata = (Button) findViewById(R.id.buttonTambahBiodata); 
      buttonTambahBiodata.setOnClickListener(this); 
    
      TableRow barisTabel = new TableRow(this); 
      barisTabel.setBackgroundColor(Color.RED); 
    
      TextView viewHeaderId = new TextView(this); 
      TextView viewHeaderNama = new TextView(this); 
      TextView viewHeaderAlamat = new TextView(this); 
      TextView viewHeaderAction = new TextView(this); 
    
      viewHeaderId.setText("ID"); 
      viewHeaderNama.setText("Nama"); 
      viewHeaderAlamat.setText("Alamat"); 
      viewHeaderAction.setText("Action"); 
      
      viewHeaderId.setPadding(5, 1, 5, 1); 
      viewHeaderNama.setPadding(5, 1, 5, 1); 
      viewHeaderAlamat.setPadding(5, 1, 5, 1); 
      viewHeaderAction.setPadding(5, 1, 5, 1); 
    
      barisTabel.addView(viewHeaderId); 
      barisTabel.addView(viewHeaderNama); 
      barisTabel.addView(viewHeaderAlamat); 
      barisTabel.addView(viewHeaderAction); 
    
      tabelBiodata.addView(barisTabel, new TableLayout.LayoutParams( 
        LayoutParams.WRAP_CONTENT,
    LayoutParams.WRAP_CONTENT)); 
    
      ArrayList<HashMap<String, String>> arrayListBiodata = sqLiteHelper 
        .tampil_semua_biodata(); 
    
      if (arrayListBiodata.size() > 0) { 
    
       for (int i = 0; i < arrayListBiodata.size(); i++) { 
    
        // ambil masing-masing hasmap dari arrayListBiodata 
        HashMap<String, String> hashMapRecordBiodata = arrayListBiodata.get(i); 
     // JSONObject jsonChildNode = arrayBiodata.getJSONObject(i); 
        String name = hashMapRecordBiodata.get("nama"); 
        String alamat = hashMapRecordBiodata.get("alamat"); 
        String id = hashMapRecordBiodata.get("id_biodata"); 
    
        System.out.println("Nama :" + name); 
        System.out.println("Alamat :" + alamat); 
        System.out.println("ID :" + id); 
    
        barisTabel = new TableRow(this); 
    
        if (i % 2 == 0) { 
         barisTabel.setBackgroundColor(Color.LTGRAY); 
        } 
    
        TextView viewId = new TextView(this); 
        viewId.setText(id); 
        viewId.setPadding(5, 1, 5, 1); 
        barisTabel.addView(viewId); 
    
        TextView viewNama = new TextView(this); 
        viewNama.setText(name); 
        viewNama.setPadding(5, 1, 5, 1); 
        barisTabel.addView(viewNama); 
        
        TextView viewAlamat = new TextView(this); 
        viewAlamat.setText(alamat); 
        viewAlamat.setPadding(5, 1, 5, 1); 
        barisTabel.addView(viewAlamat); 
    
        buttonEdit.add(i, new Button(this)); 
        buttonEdit.get(i).setId(Integer.parseInt(id)); 
        buttonEdit.get(i).setTag("Edit"); 
        buttonEdit.get(i).setText("Edit"); 
        buttonEdit.get(i).setOnClickListener(this); 
        barisTabel.addView(buttonEdit.get(i)); 
    
        buttonDelete.add(i, new Button(this)); 
        buttonDelete.get(i).setId(Integer.parseInt(id)); 
        buttonDelete.get(i).setTag("Delete"); 
        buttonDelete.get(i).setText("Delete"); 
        buttonDelete.get(i).setOnClickListener(this); 
        barisTabel.addView(buttonDelete.get(i)); 
        tabelBiodata.addView(barisTabel, new TableLayout.LayoutParams(
                LayoutParams.MATCH_PARENT, 
                LayoutParams.MATCH_PARENT)); 
       } 
      } 
    
     } 
    
     @Override 
     public void onClick(View view) { 
    
      if (view.getId() == R.id.buttonTambahBiodata) { 
       // Toast.makeText(MainActivity.this, "Button Tambah Data", 
       // Toast.LENGTH_SHORT).show(); 
    
       tambahBiodata(); 
    
      } else { 
       /* 
        * Melakukan pengecekan pada data array, agar sesuai dengan index 
        * masing-masing button 
        */ 
       for (int i = 0; i < buttonEdit.size(); i++) { 
    
        /* jika yang diklik adalah button edit */ 
        if (view.getId() == buttonEdit.get(i).getId() 
          && view.getTag().toString().trim().equals("Edit")) { 
            //Toast.makeText(MainActivity.this, "Edit : " +  // buttonEdit.get(i).getId(), Toast.LENGTH_SHORT).show();
            int id = buttonEdit.get(i).getId(); 
            getDataByID(id); 
        
           } /* jika yang diklik adalah button delete */ 
           else if (view.getId() == buttonDelete.get(i).getId() 
             &&
       view.getTag().toString().trim().equals("Delete")) { 
            // Toast.makeText(MainActivity.this, "Delete : " +  // buttonDelete.get(i).getId(), Toast.LENGTH_SHORT).show(); 
            int id = buttonDelete.get(i).getId(); 
            deleteBiodata(id); 
        
           } 
          } 
         } 
        } 
        
        public void deleteBiodata(int id) { 
        
         sqLiteHelper.hapus_biodata(id); 
        
         /* restart acrtivity */ 
         finish(); 
         startActivity(getIntent()); 
        } 
        
        public void getDataByID(int id) { 
        
         String namaEdit = null, alamatEdit = null; 
        
         HashMap<String, String> hashMapBiodata = sqLiteHelper 
           .tampil_biodata_berdasarkan_id(id); 
        
         for (int i = 0; i < hashMapBiodata.size(); i++) { 
          namaEdit = hashMapBiodata.get("nama"); 
          alamatEdit = hashMapBiodata.get("alamat"); 
         } 
        
         LinearLayout layoutInput = new LinearLayout(this); 
         layoutInput.setOrientation(LinearLayout.VERTICAL); 
        
         // buat id tersembunyi di alertbuilder 
         final TextView viewId = new TextView(this); 
         viewId.setText(String.valueOf(id)); 
         viewId.setTextColor(Color.TRANSPARENT); 
         layoutInput.addView(viewId); 
        
         final EditText editNama = new EditText(this);
         editNama.setText(namaEdit); 
         layoutInput.addView(editNama); 
        
         final EditText editAlamat = new EditText(this); 
         editAlamat.setText(alamatEdit); 
         layoutInput.addView(editAlamat); 
        
         AlertDialog.Builder builderEditBiodata = new AlertDialog.Builder(this); 
         builderEditBiodata.setTitle("Update Biodata"); 
         builderEditBiodata.setView(layoutInput); 
         builderEditBiodata.setPositiveButton("Update", 
           new DialogInterface.OnClickListener() { 
            @Override 
            public void onClick(DialogInterface dialog, int which) { 
             String nama = editNama.getText().toString(); 
             String alamat = editAlamat.getText().toString(); 
        
             System.out.println("Nama : " + nama + " Alamat : " + alamat); 
        
           
        sqLiteHelper.update_biodata(Integer.parseInt(viewId 
               .getText().toString()), 
       editNama.getText() 
               .toString(), 
       editAlamat.getText().toString()); 
        /* restart acrtivity */ 
          finish(); 
          startActivity(getIntent()); 
         } 
    
        }); 
    
      builderEditBiodata.setNegativeButton("Cancel", 
        new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          dialog.cancel(); 
         } 
        }); 
      
      builderEditBiodata.show(); 
    
        }
    
     public void tambahBiodata() { 
      /* layout akan ditampilkan pada AlertDialog */ 
      LinearLayout layoutInput = new LinearLayout(this); 
      layoutInput.setOrientation(LinearLayout.VERTICAL); 
    
      final EditText editNama = new EditText(this); 
      editNama.setHint("Nama"); 
      layoutInput.addView(editNama); 
    
      final EditText editAlamat = new EditText(this); 
      editAlamat.setHint("Alamat"); 
      layoutInput.addView(editAlamat); 
    
      AlertDialog.Builder builderInsertBiodata = new AlertDialog.Builder(this); 
      builderInsertBiodata.setTitle("Insert Biodata"); 
      builderInsertBiodata.setView(layoutInput); 
      builderInsertBiodata.setPositiveButton("Insert", 
        new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          String nama = editNama.getText().toString(); 
          String alamat = editAlamat.getText().toString(); 
    
          System.out.println("Nama : " + nama + " Alamat: " + alamat); 
    
          sqLiteHelper.tambah_biodata(nama, alamat); 
          /* restart acrtivity */ 
          finish(); 
          startActivity(getIntent()); 
          
         }
         
      }); 
      
      builderInsertBiodata.setNegativeButton("Cancel", 
        new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          dialog.cancel(); 
         } 
        }); 
      builderInsertBiodata.show(); 
     } 
    }


10. Buatlah class baru, klik kanan pada src -> New -> class beri nama SQLiteHelper.java
11. Pada package src/SQLiteHelper, buka array3.java pastikan kodenya seperti berikut


12. SQLiteHelper 

package jhointegrity.com; 
import java.util.ArrayList;
import java.util.HashMap;

import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 

public class SQLiteHelper extends SQLiteOpenHelper { 

 private static final String nama_database = "database_pemain.db"; 
 private static final int versi_database = 1; 
 private static final String query_buat_tabel_biodata_pemain = "CREATE TABLE IF NOT EXISTS tabel_biodata(id_biodata INTEGER PRIMARY KEY AUTOINCREMENT, nama TEXT,alamat TEXT)"; 
 private static final String query_hapus_tabel_biodata_pemain = "DROP TABLE IF EXISTS query_buat_tabel_biodata_pemain"; 

 public SQLiteHelper(Context context) { 
  super(context, nama_database, null, versi_database); 
 } 

 @Override 
 public void onCreate(SQLiteDatabase sqLiteDatabase) { 
  sqLiteDatabase.execSQL(query_buat_tabel_biodata_pemain); 
  System.out.println("tabel_biodata sudah dibuat"); 
 } 

 @Override 
 public void onUpgrade(SQLiteDatabase database, int versi_lama, 
   int versi_baru) { 
  database.execSQL(query_hapus_tabel_biodata_pemain); 
  onCreate(database); 

 } 

 public void tambah_biodata(String nama, String alamat) { 
  SQLiteDatabase database = this.getWritableDatabase(); 
  ContentValues values = new ContentValues(); 
  values.put("nama", nama); 
  values.put("alamat", alamat); 
  database.insert("tabel_biodata", null, values); 
  database.close(); 
 } 
 public ArrayList<HashMap<String, String>> tampil_semua_biodata() { 
    
     // deklarasikan sebuah arraylist yang bisa menampung hashmap 
     ArrayList<HashMap<String, String>> arrayListBiodata = new ArrayList<HashMap<String,
    String>>(); 
    
     SQLiteDatabase database = this.getWritableDatabase(); 
    
     Cursor cursor = database.rawQuery("SELECT * FROM tabel_biodata", null); 
    
     // kursor langsung diarkan ke posisi paling awal data pada tabel_biodata 
     if (cursor.moveToFirst()) { 
      do { 
       // deklarasikan sebuah hashmap, yang bisa menamp 
       HashMap<String, String> hashMapBiodata = new HashMap<String, String>(); 
    
       // masukkan masing-masing field dari tabel_biodata ke dalam hashMapBiodata 
       //pastikan id_biodata, nama dan alamat sama persis dengan field yang ada pada tabel_biodata 
       hashMapBiodata.put("id_biodata", cursor.getString(0)); 
       hashMapBiodata.put("nama", cursor.getString(1)); 
       hashMapBiodata.put("alamat", cursor.getString(2));
    // masukkan hashMapBiodata ke dalam arrayListBiodata 
       arrayListBiodata.add(hashMapBiodata); 
    
      } while (cursor.moveToNext()); 
     } 
    
     return arrayListBiodata; 
    } 
 public int update_biodata(int id, String nama, String alamat) { 
      SQLiteDatabase database = this.getWritableDatabase(); 
      ContentValues recordBiodata = new ContentValues(); 
      recordBiodata.put("nama", nama); 
      recordBiodata.put("alamat", alamat); 
      return database.update("tabel_biodata", recordBiodata, "id_biodata=" + id, null); 
     }
 public void hapus_biodata(int id) { 
     SQLiteDatabase database = this.getWritableDatabase(); 
     database.execSQL("DELETE FROM  tabel_biodata WHERE id_biodata='" + id+ "'"); 
     database.close(); 
    }  
 public HashMap<String, String> tampil_biodata_berdasarkan_id(int id) {
      
     SQLiteDatabase database = this.getReadableDatabase(); 
      
     HashMap<String, String> hashMapBiodata = new HashMap<String, String>(); 
    
    
     Cursor cursor = database.rawQuery("SELECT * FROM tabel_biodata WHERE id_biodata="
    + id + "", null); 
      
     if (cursor.moveToFirst()) { 
      do { 
       hashMapBiodata.put("id_biodata", cursor.getString(0)); 
       hashMapBiodata.put("nama", cursor.getString(1)); 
       hashMapBiodata.put("alamat", cursor.getString(2)); 
      } while (cursor.moveToNext()); 
     } 
      
     return hashMapBiodata; 

} 

13. Jalankan Run dengan shourcut CTRL+F11 atau klik Kanan package > Runa As > Android Projeck. Lihat Hasilnya Seperti Dibawah Ini.


Kemudian isikan Nama Dan alamat Anda sesuai keinginan anda,contohnya Seperti dibawah ini.



kemudian di klik Insert, Maka Hasil Akhirnya Seperti Di Bawah 


thank you
Smoga bermanfaat


Tidak ada komentar:

Posting Komentar