Membuat Aplikasi Form Input Biodata dengan Android Studio


Form input menjadi salah satu model aplikasi yang paling banyak digunakan di dunia. Entah itu untuk pendaftaran anggota, input data keuangan, dll. Di postingan kali ini, kita akan belajar bersama tentang bagaimana caranya membuat aplikasi Android form input data sederhana menggunakan Android Studio.

1. Buat Project Baru pada Android Studio kalian
2. Isikan kode berikut pada file Activity_Display.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".DisplayActivity">

    <TextView
        android:id="@+id/tBDM"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="BIODATA MAHASISWA"
        android:textSize="24sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/tNIM2"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="30dp"
        android:text="Nim"
        android:textSize="18sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tBDM" />

    <TextView
        android:id="@+id/txtNIM2"
        android:layout_width="210dp"
        android:layout_height="20dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="30dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.666"
        app:layout_constraintStart_toEndOf="@+id/tNIM2"
        app:layout_constraintTop_toBottomOf="@+id/tBDM" />

    <TextView
        android:id="@+id/tNAMA2"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="Nama"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tNIM2" />

    <TextView
        android:id="@+id/txtNAMA2"
        android:layout_width="210dp"
        android:layout_height="20dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.666"
        app:layout_constraintStart_toEndOf="@+id/tNAMA2"
        app:layout_constraintTop_toBottomOf="@+id/txtNIM2" />

    <TextView
        android:id="@+id/tTL2"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="Tempat Lahir"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tNAMA2" />

    <TextView
        android:id="@+id/txtTL2"
        android:layout_width="210dp"
        android:layout_height="20dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.666"
        app:layout_constraintStart_toEndOf="@+id/tTL2"
        app:layout_constraintTop_toBottomOf="@+id/txtNAMA2" />

    <TextView
        android:id="@+id/tTGL2"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="TGL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tTL2" />

    <TextView
        android:id="@+id/txtTGL2"
        android:layout_width="210dp"
        android:layout_height="20dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.642"
        app:layout_constraintStart_toEndOf="@+id/tTGL2"
        app:layout_constraintTop_toBottomOf="@+id/txtTL2" />

    <TextView
        android:id="@+id/tJK2"
        android:layout_width="104dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="Jenis Kelamin"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tTGL2" />

    <TextView
        android:id="@+id/txtJK2"
        android:layout_width="210dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.722"
        app:layout_constraintStart_toEndOf="@+id/tJK2"
        app:layout_constraintTop_toBottomOf="@+id/txtTGL2" />

    <TextView
        android:id="@+id/tPRODI"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="Prodi"
        android:textSize="16dp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tJK2" />

    <TextView
        android:id="@+id/txtPRODI2"
        android:layout_width="210dp"
        android:layout_height="20dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="NULL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.642"
        app:layout_constraintStart_toEndOf="@+id/tPRODI"
        app:layout_constraintTop_toBottomOf="@+id/txtJK2" />

</androidx.constraintlayout.widget.ConstraintLayout>


3. Isikan kode berikut pada file Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:layout_marginTop="24dp"
        android:layout_marginEnd="24dp"
        android:text="BIODATA"
        android:textAlignment="center"
        android:textSize="24sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/tNIM"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="30dp"
        android:text="Nim"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

    <EditText
        android:id="@+id/txtNIM"
        android:layout_width="220dp"
        android:layout_height="40dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="24dp"
        android:ems="10"
        android:hint="@string/inpt_nim"
        android:inputType="number"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tNIM"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

    <TextView
        android:id="@+id/tNAMA"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="26dp"
        android:text="Nama"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tNIM" />

    <EditText
        android:id="@+id/txtNAMA"
        android:layout_width="220dp"
        android:layout_height="40dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="24dp"
        android:ems="10"
        android:hint="@string/inpt_nama"
        android:inputType="text"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tNAMA"
        app:layout_constraintTop_toBottomOf="@+id/txtNIM" />

    <TextView
        android:id="@+id/tTL"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="26dp"
        android:text="Tempat Lahir"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tNAMA" />

    <EditText
        android:id="@+id/txtTL"
        android:layout_width="220dp"
        android:layout_height="40dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="24dp"
        android:ems="10"
        android:hint="@string/inpt_tempatlahir"
        android:inputType="textPersonName"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tTL"
        app:layout_constraintTop_toBottomOf="@+id/txtNAMA" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="30dp"
        android:text="TGL"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tTL" />

    <EditText
        android:id="@+id/txtTGL"
        android:layout_width="220dp"
        android:layout_height="40dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="24dp"
        android:ems="10"
        android:hint="@string/inpt_tgl"
        android:inputType="date"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/textView5"
        app:layout_constraintTop_toBottomOf="@+id/txtTL" />

    <TextView
        android:id="@+id/tJK"
        android:layout_width="110dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="32dp"
        android:text="Jenis Kelamin"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView5" />

    <RadioGroup
        android:id="@+id/JenisKelamin"
        android:layout_width="220dp"
        android:layout_height="37dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="8dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tJK"
        app:layout_constraintTop_toBottomOf="@+id/txtTGL">

        <RadioButton
            android:id="@+id/L"
            android:layout_width="95dp"
            android:layout_height="25dp"
            android:layout_marginTop="2dp"
            android:text="Laki-Laki"
            android:textAllCaps="false"
            android:textSize="14sp"
            android:textStyle="bold">

        </RadioButton>

        <RadioButton
            android:id="@+id/P"
            android:layout_width="110dp"
            android:layout_height="25dp"
            android:layout_marginLeft="98dp"
            android:layout_marginTop="-26dp"
            android:text="Perempuan"
            android:textSize="14sp"
            android:textStyle="bold">

        </RadioButton>
    </RadioGroup>

    <TextView
        android:id="@+id/tPRODI"
        android:layout_width="100dp"
        android:layout_height="20dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="24dp"
        android:text="Prodi"
        android:textSize="16sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tJK" />

    <Spinner
        android:id="@+id/spinner_prodi"
        android:layout_width="210dp"
        android:layout_height="30dp"
        android:layout_marginStart="24dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="24dp"
        android:entries="@array/Prodi"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tPRODI"
        app:layout_constraintTop_toBottomOf="@+id/JenisKelamin" />

    <Button
        android:id="@+id/btnKIRIM"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="87dp"
        android:text="Kirim"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/spinner_prodi" />

</androidx.constraintlayout.widget.ConstraintLayout>

4. kemudian isikan kode ini pada MainActivity.java


package com.example.biodataposky;

import androidx.appcompat.app.AppCompatActivity;

import android.app.DatePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.Toast;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity {

    EditText txtNIM, txtNAMA, txtTL, txtTGL;
    RadioGroup JK;
    Spinner spinner_prodi;
    Button btnKIRIM;
    int hari, bulan, tahun;
    Calendar datatgl;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        txtNIM          = (EditText) findViewById(R.id.txtNIM);
        txtNAMA         = (EditText) findViewById(R.id.txtNAMA);
        txtTL           = (EditText) findViewById(R.id.txtTL);
        JK              = (RadioGroup) findViewById(R.id.JenisKelamin);
        spinner_prodi   = (Spinner) findViewById(R.id.spinner_prodi);
        btnKIRIM        = (Button) findViewById(R.id.btnKIRIM);

        //Input Tanggal
        txtTGL        = (EditText) findViewById(R.id.txtTGL);
        datatgl         = Calendar.getInstance();
        hari              = datatgl.get(Calendar.DAY_OF_MONTH);
        bulan           = datatgl.get(Calendar.MONTH);
        tahun           = datatgl.get(Calendar.YEAR);
        bulan = bulan + 1;
        txtTGL.setText(hari + "-" + bulan + "-" + tahun);
        txtTL.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int tahun, int bulanTahun, int hariBulan) {
                        bulanTahun = bulanTahun + 1;
                        txtTGL.setText(hariBulan + "-" + bulanTahun + "-" + tahun);
                    }
                }, tahun, bulan - 1, hari);
                datePickerDialog.show();
                datePickerDialog.show();
            }
                });
            btnKIRIM.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent Kirim_data = new Intent(MainActivity.this, DisplayActivity.class);
                    Bundle data = new Bundle();

                    Kirim_data.putExtra("NIM", txtNIM.getText().toString());
                    Kirim_data.putExtra("NAMA", txtNAMA.getText().toString());
                    Kirim_data.putExtra("TEMPATLAHIR", txtTL.getText().toString());
                    Kirim_data.putExtra("TGLLAHIR", txtTGL.getText().toString());

                    //Data Prodi
                    String inpt_Prodi = String.valueOf(spinner_prodi.getSelectedItem().toString());
                    data.putString("PRODI", inpt_Prodi);

                    //JenisKelamin
                    int id = JK.getCheckedRadioButtonId();
                    RadioButton radioButton = (RadioButton) findViewById(id);
                    data.putString("JenisKelamin", radioButton.getText().toString());

                    if (txtNIM.getText().toString().length()==0){
                        txtNIM.setError("NIM tidak boleh kosong");
                    }else if (txtNAMA.getText().toString().length()==0){
                        txtNAMA.setError("NAMA tidak boleh kosong");
                    }else if (txtTL.getText().toString().length()==0){
                        txtTL.setError("Tempat Lahir tidak boleh kosong");
                    }else if (txtTGL.getText().toString().length()==0){
                        txtTGL.setError("TGL tidak boleh kosong");
                    }
                    else{
                        Kirim_data.putExtras(data);
                        startActivity(Kirim_data);
                        Toast.makeText(getApplicationContext(), "Pendaftaran Berhasil", Toast.LENGTH_SHORT).show();
                    }

            }
        });
    }
}


5. Terakhir isikan kode berikut pada file Res>Values>Strings.xml

<resources>
    <string name="app_name">Biodata Polsky</string>
    <string name="inpt_nim">Nim</string>
    <string name="inpt_nama">Nama</string>
    <string name="inpt_tempatlahir">Tempat Lahir</string>
    <string name="inpt_tgl">DD-MM-YYYY</string>

    <string-array name="Prodi">
        <item>Pilih Prodi/Jurusan</item>
        <item>Akuntansi</item>
        <item>Teknik Informatika</item>
        <item>Teknik Pendingin</item>
    </string-array>
    <string name="daftar_bio">Daftar Akun</string>
</resources>

Hasil Demo :



Mengirim data dari satu Activity ke Activity lain di Android Studio


Pada postingan ini akan memberikan langkah-langkah mengirim data dari satu activity ke activity lain. postingan ini juga berfungsi untuk memenuhi tugas pada Mata Kuliah Pemrograman Mobile.

Berikut langkah-langkahnya :


1. Buka aplikasi Android Studio

2. Kemudian Buat Project Baru dengan nama Project_1
3. Pada File Res>Layout. Isikan kode berikut pada activity_main.xml  atau activity_display_message.xml 

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".DisplayMessageActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="16dp"
        android:layout_marginBottom="16dp"
        android:text="@string/NIM"
        android:textAlignment="center"
        android:textColor="@color/colorPrimary"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>


4. Pada file java nya, Buka MainActivity.java, dan isikan kode berikut :

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

import static android.provider.AlarmClock.EXTRA_MESSAGE;

public class MainActivity extends AppCompatActivity {
    public static Object EXTRA_MESSAGE;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    /**
     * Called when the user taps the send button
     */
    public void send_Message(View view) {
        // Do something in response to button
        Intent intent = new Intent(this, DisplayMessageActivity.class);
        EditText txtNim = (EditText) findViewById(R.id.editText);
        String NIM = txtNim.getText().toString();
        intent.putExtra((String) EXTRA_MESSAGE, NIM);
        startActivity(intent);


    }
}



5. Pada file Res>Value>Strings.xml Isikan kode berikut :

<resources>
    <string name="app_name">Project_1</string>
    <string name="edit_message">Enter a message</string>
    <string name="button_send">send</string>
    <string name="NIM">txtNIM</string>
</resources>


Hasil Demo :