Cara Menambahkan Data pada SQLite Database


Assalamualaikum Warahmatullahi Wabarakatuh.

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.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.