Anda di halaman 1dari 29

Bab 10 CRUD pada Android Studio dengan SQLite

By : Astria Sastra Dewi

1. Membuat Project
a. Buat project baru di Android Studio dengan menekan tombol Start a new Android
Studio project.
b. Pada Choose your project, silahkan pilih Basic Activity kemudian tekan tombol Next.
c. Kemudian lakukan Configure your project :

Name : nama project atau aplikasi yang dibuat


Package name : domain.namadeveloper.namaaplikasi
Save Location : lokasi project disimpan
Language : Bahasa program yang akan digunakan. (Pilih Java)
Minimun API level : minimun versi android untuk menjalankan aplikasi kalian.
d. Selanjutnya klik Finish.
2. Direktori Android Studio

Script-script java akan disimpan dalam folder java/namapackage, sedangkan untuk user
interface akan disimpan dalam folder res/layout. Sedangkan informasi untuk aplikasi itu sendiri
terdapat pada file AndroidManifest.xml. dan terakhir ada Gradle atau build tools untuk aplikasi
kita.

3. Konfigurasi Database

Dalam package aplikasi kita, tekan tombol klik kanan, kemudian pilih New – Java Class :

Kemudian buat dengan nama DatabaseSetting


Buka class tersebut, kumudian tambahkan final class :

Dalam Android Studio jangan dibiasakan untuk menulis script secara menyeluruh sekaligus.
Tapi gunakanlah rekomendasi yang ada dari Android Studionya, supaya script yang perlu kita
import akan otomatis terimport. Jika rekomendasi tidak muncul kalian dapat menggunakan
tombol CTRL + SPACE.

Selanjunya kita buat java class baru dengan nama DatabaseHelper


Jika terdapat error silahkan tekan ALT + ENTER untuk melihat solusi yang disarankan.

Jika masih ada error lakukan langkah yang sama.

Kemudian pilih Constructor matching super yang pertama

Maka akan bertambah script berikut :


Sekarang kita buat terlebih dahulu nama database dan versinya.

kemudian setting database.

Membuat table, sebelumnya kita tambahkan terlebih dahulu import untuk DatabaseEntry,
supaya penulisan script tidak terlalu Panjang.

Kemudian kita akan setting table pada method onCreate dan onUpgrade :

Catatan : tambahkan spasi sebelum tipe data, karena kita menggabungkan string, kalau tanpa
spasi maka script akan dibaca DatabaseEntry.COLUMN_NAMEINTEGER. Maka yang terjadi
akan error.
4. Membuat Create Data

Langkah pertama kita harus membuat activity baru dengan cara klik kanan dalam folder
package, kemudian pilih new – activity – empty activity

Pada bagian activity name, silahkan beri nama CreateData.

Seharusnya akan muncul file baru di java class dan layout. Sekarang buka file
activity_create_data dan edit tampilan supaya terdapat form inputan untuk nama, tgl lahir,
alamat, telepon, umur, dan foto.

File : activity_create_data.xml
Akan ada warning pada bagian android:text=” ”, dikarenakan kita menggunakan text hardcode,
android studio menyarankan kita untuk menyimpannya kedalam variable string. Jika kalian
ingin menyimpannya, seperti biasa tinggal tekan ALT + ENTER pada bagian warning tersebut.

Selanjutnya ???
Setelah mengatur layoutnya, sekarang kita atur java class nya supaya menerima semua inputan
user.

Kita tambahkan action ketika tombol save ditekan.

Sebelum masuk ke script menyimpan data, kita buat terlebih dahulu variable SqliteDatabase
kemudian deklarasikan getWritetable pada method onCreate file CreateData.
Sekarang isi script untuk createData :

Supaya form create data dapat dijalankan, kita harus mengedit tombol yang ada di
MainActivity supaya menuju ke activity_create_data :

Sampai sini proses create telah selesai.

Silahkan running aplikasi. Jika terjadi error, data gagal disimpan, atau bahkan aplikasi force
close tidak bisa dibuka. Di bagian bawah ada menu LOGCAT, kalian dapat melihat kesalahan
apa yang terjadi disana.

Untuk melihat apakah data berhasil masuk ke dalam database dapat dilakukan dengan cara
menjalankan aplikasi kemudian create data, pada Android studio masuk ke dalam menu
View/Tool Windows/Device File Explorer. Setelah muncul Device File Explorer silahkan
masuk ke folder data/package aplikasi kalian/database/data_teman.db.
Jika ingin melihat isi dari database tersebut, maka save terlebih dahulu databasenya ke
penyimpanan kalian. Untuk melihat isinya bisa menggunakan aplikasi Sqlite browser dapat
didownload https://sqlitebrowser.org/dl/

Sampai sini seharusnya data sudah dapat disimpan, namun masih ada masalah yaitu data
kosong masih bisa di proses.

Oke kita perbaiki…


Data kosong masih bisa disimpan

kita buka lagi script CreateData.java kemudian edit bagian method createData, tambahkan
script berikut :

Selanjutnya mari kita membuat proses read.

5. Membuat Read Data

Karena kita membutuhkan build tools untuk menampilkan gambar dan list data, maka buka
Build Gradle Module App

Kemudian masukan script berikut pada bagian dependencies :

implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'de.hdodenhof:circleimageview:3.0.0'
implementation 'com.github.bumptech.glide:glide:4.9.0'
sehingga script akhir bagian dependencies :
Jika sudah lakukan Sync now pada pojok kanan atas dan pastikan computer terhubung dengan
internet!

Sekarang kita edit tampilan dari content_main.xml


Sedangkan untuk activity_main.xml ubah bagian include nya, sehingga scriptnya menjadi :

Sekarang kita buat java class baru untuk menghandle recycler view dan tambahkan juga
superclass nya.

Tambahkan untuk class view holder


Kemudian edit class TemanAdapternya menjadi :

Selanjutnya implementasikan method dengan menekan tombol CTRL + I.

Kemudian pilih ketiga implement nya :

Selanjutnya pada class TemanViewHolder kan masih ada error silahkan tekan ALT + ENTER
dan buat constructor matching super.

Sekarang saatnya kita menulis script, silahkan buat variable Context dan Cursor. Sehingga
script nya akan seperti berikut :
Pada bagian TemanViewHolder kita tambahkan variable Text dan photo yang akan
ditampilkan pada content_main.

Kemudian pada bagian onCreateViewHolder kita akan kirimkan ke layout mana view tersebut.

Sekarang kita ambil isi dari database kemudian kirimkan ke masing-masing variable.

Kemudian pada bagian GetItemCount ubah menjadi :

Selanjutnya kita akan masuk ke dalam script MainActivity.java


Kita buat dulu variable baru untuk Sqlitedatabase dan atur isi nya dalam onCreate :

Selanjutnya dibawah method onCreate kita buat method baru Cursor untuk menampilkan data.

Sekarang kita buat variable untuk TemanAdapter, kemudian dalam onCreate kita isi
parameternya dengan method cursor yang tadi kita buat.

Terkahir kita akan buat variable RecyclerView yang diisi berdasarkan id dari activity_main.
Kemudian kita kirimkan temanAdapter tersebut kedalam RecyclerView.
Sebenarnya sampai sini data sudah dapat ditampilkan. Namun masih ada beberapa kelemahan,
sebagai berikut :

1. Data pertama tertutup Header


2. Foto tidak muncul

Oke sekarang kita perbaiki.

Data pertama tertutup header

Di MainActivity.java kita hapus script yang di block !

Di activity_main.xml kita hapus script yang di block!


Di AndroidMainfest.xml kita hapus script yang deblock (warna biru)!

Foto Tidak Muncul

Masih di AndroidManifest.xml tambahkan perizinan untuk menggunakan INTERNET

Selanjutnya kita akan melihat detail dari data yang ada ketika di klik.

6. Membuat Detail Read Data

Sekarang buat activity baru terlebih dahulu dan pilih Empty Activity. Beri nama DetailData
Sekarang mari kita buat layoutnya terlebih dahulu. Buka file activity_detail_data.xml.
Oke sekarang kita edit Recycler View nya supaya ketika diklik maka akan mereturn id dari
teman yang diklik. Buka kembalik script TemanAdapter.java pada bagian atas kalian
tambahkan script yang diblock :
Masih di script yang sama pada bagian onBindView kalian edit menjadi :

Oke sekarang masuk ke script MainActivity.java supaya data yang diklik masuk ke activity
lain dengan membawa ID data tersebut, edit bagian onCreate supaya menjadi seperti berikut :
Terakhir kita buka script DetailData.java untuk menampilkan data berdasarkan data id yang
dikirim.
Sekarang silahkan jalankan seharusnya detail data sudah jalan. Selanjutnya kita tinggal
tambahkan supaya ketika button Update ditekan maka akan pindah ke form UpdateData.java
caranya sama dengan detail data, kita cukup perlu mengirimkan data ID nya.

7. Membuat Update Data

Buat activity baru dengan nama UpdateData, jenis activity nya pilih yang Empty Activity.
Sedangkan layoutnya kita copy paste dari layout activity_create_data.xml tinggal ubah nama
id setiap component nya.
Kemudian untuk UpdateData.java scriptnya mirip dengan DetailData.java, hanya component
yang digunakan bukan TextView dan ImageView melainkan dengan EditText.
Sekang kita tambahkan onClick pada button update data supaya, data tersebut disimpan, untuk
scriptnya mirip dengan createData.

Selanjutnya method updateData nya kita isi menjadi :

Oke sampai sini seharusnya data sudah bisa di update.

Sekarang tinggal membuat delete.


8. Membuat Delete Data

Suapaya tampilan delete nya lebih menarik, bagaimana kalua kita hapus data nya dengan cara
men-swip si data kanan atau ke kiri. Lalu akan muncul konfirmasi data akan dihapus atau tidak.

Terakhir kita juga butuh mereload recycler view nya supaya data yang dihapus hilang, dan
kalua tidak jadi dihapus maka akan kembali lagi.

Oke sekarang kita buka lagi TemanAdapter.java kita membutuhkan program tau bahwa yang
sedang kita swip itu _ID nya berapa. Cukup tambahkan 1 baris berikut (yang deblock):

Selanjutnya buka MainActivity.java kita buat script untuk swip nya.

Pada bagian method onCreate kalian tambahkan class ItemTouchHelper :


Setelah dienter kalian tambah parameter new SimpleCallback :

Kemudian edit isinya supaya menjadi seperti berikut :

Oke buat method untuk deleteData nya di bawah method getAllItem().

Kalian isi method tersebut menjadi :


Sampai sini seharunya method delete sudah berhasil, namun masih ada kelemahan. Ketika data
tidak jadi dihapus data tersebut tetap hilang dan harus keluar aplikasi dulu baru muncul lagi.
Maka kita harus perbaiki, supaya data tersebut dapat otomatis direload.

Pertama kita buka lagi file TemanAdapter.java kemudian buat method baru yang berisi :

Jika sudah kita edit lagi method untuk deleteData yang ada pada MainActivity.java :

Oke proses CRUD telah selesai.

Project ini masih jauh dari sempurna. Ada beberapa kekurangan yang cukup penting dan perlu
ditambahkan, seperti :

1. Belum ada Search Data


2. Tidak ada pagination data yang tampil, jadi kalau ada 1000 data maka akan tampil
semuanya.

THE END.

Anda mungkin juga menyukai