Cara Menambahkan Data pada SQLite Database
Sebelumnya kita sudah membahas mengenai Cara Membuat Database pada SQLite, selanjutnya kita akan belajar, bagaimana cara untuk menambahkan sebuah data yang di inputkan user pada SQLite Database, pada tuorial sebelumnya kita sudah membuat Struktur Tabelnya, seperti nama, kolom dan juga tipe data yang akan digunakan.
1) Pertama, buka file activity_main.xml pada project kalian, untuk mendapatkan Input dari user, kita membutuhkan bebrapa komponen seperti EditText, RadioButtton, Spinner dan sebuah Button untuk mengeksekusi serta menyimpan data.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="12dp"
android:orientation="vertical"
tools:context="android.cianjur.developer.net.sqliteexample.MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:gravity="center"
android:text="Data Mahasiswa"
android:textSize="20sp"
android:textStyle="bold" />
<EditText
android:id="@+id/nim"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Masukan NIM"
android:inputType="textPersonName"/>
<EditText
android:id="@+id/nama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Masukan Nama"
android:inputType="textPersonName" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:layout_marginTop="6dp"
android:text="Fakultas/Jurusan:" />
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/jurusan"
android:entries="@array/daftar_jurusan"
android:padding="15dp">
</Spinner>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Jenis Kelamin:" />
<RadioGroup
android:id="@+id/gender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Laki-Laki" />
<RadioButton
android:id="@+id/famale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="18dp"
android:text="Perempuan" />
</RadioGroup>
<EditText
android:id="@+id/date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Tanggal Lahir"
android:inputType="date" />
<EditText
android:id="@+id/alamat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Alamat Lengkap"
android:inputType="textMultiLine" />
<Button
android:id="@+id/save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Simpan Data baru" />
</LinearLayout>
Untuk input jurusan, kita menggunakan Spinner untuk menentukan pilihannya, dan pada input jenis kelamin, kita menggunakan RadioButton untuk pilihannya.2) Karena kita menggunakan Spinner untuk input jurusannya, disini kita akan belajar cara menambahkan item pada Spinner tersebut, caranya kalian buka file strings.xml yang tersapat pada folder res/values.
Lalu kita tambahkan string-array , misalnya kita ingin membuat daftar jurusan, tambahkan baris kode seperti berikut:
<string-array name="daftar_jurusan">
<item>Teknik Informatika</item>
<item>Manajemen Informatika</item>
<item>Sastra Inggris</item>
<item>Fakultas Ilmu Komunikasi</item>
<item>Ekonomi Manajemen</item>
<item>Ekonomi Akutansi</item>
</string-array>
Lalu tambahkan atribut entries didalam tag Spinner, seperti berikut ini:<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/jurusan"
android:entries="@array/daftar_jurusan"
android:padding="15dp">
3) Buka file MainActivity.java kalian, masukan source code berikut ini:package android.cianjur.developer.net.sqliteexample;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private EditText NIM, Nama, TanggalLahir, Alamat;
private Spinner Jurusan;
private RadioButton MALE, FAMALE;
//Variable Untuk Menyimpan Input Dari Ueer
private String setNIM, setNama, setTanggalLahir, setAlamat, setJurusan, setJenisKelamin;
//Variable Untuk Inisialisasi Database DBMahasiswa
private DBMahasiswa dbMahasiswa;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button simpan = findViewById(R.id.save);
NIM = findViewById(R.id.nim);
Nama = findViewById(R.id.nama);
TanggalLahir = findViewById(R.id.date);
MALE = findViewById(R.id.male);
FAMALE = findViewById(R.id.famale);
Jurusan = findViewById(R.id.jurusan);
Alamat = findViewById(R.id.alamat);
//Inisialisasi dan Mendapatkan Konteks dari DBMahasiswa
dbMahasiswa = new DBMahasiswa(getBaseContext());
simpan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setData();
saveData();
Toast.makeText(getApplicationContext(),"Data Berhasil Disimpan", Toast.LENGTH_SHORT).show();
clearData();
}
});
}
//Berisi Statement-Statement Untuk Mendapatkan Input Dari User
private void setData(){
setNIM = NIM.getText().toString();
setNama = Nama.getText().toString();
setJurusan = Jurusan.getSelectedItem().toString();
if(MALE.isChecked()){
setJenisKelamin = MALE.getText().toString();
}else if (FAMALE.isChecked()){
setJenisKelamin = FAMALE.getText().toString();
}
setTanggalLahir = TanggalLahir.getText().toString();
setAlamat = Alamat.getText().toString();
}
//Berisi Statement-Statement Untuk Menyimpan Data Pada Database
private void saveData(){
//Mendapatkan Repository dengan Mode Menulis
SQLiteDatabase create = dbMahasiswa.getWritableDatabase();
//Membuat Map Baru, Yang Berisi Nama Kolom dan Data Yang Ingin Dimasukan
ContentValues values = new ContentValues();
values.put(DBMahasiswa.MyColumns.NIM, setNIM);
values.put(DBMahasiswa.MyColumns.Nama, setNama);
values.put(DBMahasiswa.MyColumns.Jurusan, setJurusan);
values.put(DBMahasiswa.MyColumns.JenisKelamin, setJenisKelamin);
values.put(DBMahasiswa.MyColumns.TanggalLahir, setTanggalLahir);
values.put(DBMahasiswa.MyColumns.Alamat, setAlamat);
//Menambahkan Baris Baru, Berupa Data Yang Sudah Diinputkan pada Kolom didalam Database
create.insert(DBMahasiswa.MyColumns.NamaTabel, null, values);
}
private void clearData(){
NIM.setText("");
Nama.setText("");
TanggalLahir.setText("");
Alamat.setText("");
}
}
Demo:Projectnya Bisa Kalian Download di Github Saya.
Terimakasih atas kunjungannya, pada tutorial selanjutnya, kita akan membahas mengenai Cara Menampilkan Data SQLite pada RecyclerView.
Memoga tutorial yang saya berikan bisa bermanfaat untuk kalian semua, selebihnya, mohon maaf bila ada kesalahan.
Wassalamualaikum Warahmatullahi Wabarakatuh.