Velor
Velor
OLEH:
2024
MainActivity.java
package com.example.kelompok2;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listView);
btnAdd = findViewById(R.id.btnAdd);
databaseHelper = new DatabaseHelper(this);
dataList = new ArrayList<>();
adapter = new ArrayAdapter<>(this, R.layout.activity_list_item, dataList);
listView.setAdapter(adapter);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_EDIT && resultCode == RESULT_OK) {
// Muat ulang data jika ada perubahan
loadData();
}
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/ic_launcher_foreground">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="0dp"
app:title="Data Kampus"
app:titleTextColor="@android:color/white"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways">
<!-- ImageButton untuk ikon "Add" -->
<ImageButton
android:id="@+id/btnAdd"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginRight="50dp"
android:background="@drawable/baseline_add_24"
android:layout_gravity="end"
android:layout_marginEnd="16dp" />
</com.google.android.material.appbar.MaterialToolbar>
</com.google.android.material.appbar.AppBarLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/footerLayout"/>
<LinearLayout
android:id="@+id/footerLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp"
android:layout_alignParentBottom="true">
</LinearLayout>
</RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
ActivityAksi.java
package com.example.kelompok2;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_aksi);
textViewNamaKampus = findViewById(R.id.textViewNamaKampus);
editTextNamaKampus = findViewById(R.id.editTextNamaKampus);
textViewAlamatKampus = findViewById(R.id.textViewAlamatKampus);
editTextAlamatKampus = findViewById(R.id.editTextAlamatKampus);
buttonSave = findViewById(R.id.buttonEdit);
buttonDelete = findViewById(R.id.buttonDelete);
databaseHelper = new DatabaseHelper(this);
activity_aksi.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:ignore="MissingClass">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="0dp"
app:title="Ubah atau Hapus Kampus"
app:titleTextColor="@android:color/white"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways">
</com.google.android.material.appbar.MaterialToolbar>
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textViewNamaKampus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama Kampus"
android:layout_marginTop="10dp"
android:textSize="18sp"
android:padding="8dp" />
<Button
android:id="@+id/buttonEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginLeft="155sp"
android:text="Ubah"
android:padding="8dp" />
</LinearLayout>
<EditText
android:id="@+id/editTextNamaKampus"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:hint="Nama Kampus"
android:textSize="18sp"
android:padding="8dp"
android:layout_marginTop="-15dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textViewAlamatKampus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Alamat Kampus"
android:textSize="18sp"
android:layout_marginTop="-10dp"
android:padding="8dp" />
<Button
android:id="@+id/buttonDelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="150sp"
android:text="Hapus"
android:padding="8dp" />
</LinearLayout>
<EditText
android:id="@+id/editTextAlamatKampus"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:hint="Alamat Kampus"
android:textSize="18sp"
android:padding="8dp"
android:layout_marginTop="-15dp"/>
</LinearLayout>
DataActivity.java
package com.example.kelompok2;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_data);
etNamaKampus = findViewById(R.id.etNamaKampus);
etAlamatKampus = findViewById(R.id.etAlamatKampus);
btnSubmit = findViewById(R.id.btnSubmit);
databaseHelper = new DatabaseHelper(this);
if (isInserted) {
Toast.makeText(this, "Data berhasil disimpan!",
Toast.LENGTH_SHORT).show();
// Navigasi ke DataActivity setelah data disimpan
Intent intent = new Intent(DataActivity.this, MainActivity.class);
startActivity(intent);
} else {
Toast.makeText(this, "Gagal menyimpan data!", Toast.LENGTH_SHORT).show();
}
}
}
activity_data.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
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:background="@drawable/ic_launcher_foreground"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:ignore="MissingClass">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="0dp"
app:title="Tambah Kampus"
app:titleTextColor="@android:color/white"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways">
</com.google.android.material.appbar.MaterialToolbar>
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<EditText
android:id="@+id/etNamaKampus"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nama Kampus"
android:backgroundTint="@android:color/white"
android:textColor="@android:color/white" />
<EditText
android:id="@+id/etAlamatKampus"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Alamat Kampus"
android:backgroundTint="@android:color/white"
android:textColor="@android:color/white" />
<Button
android:id="@+id/btnSubmit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Submit" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
DatabaseHelper.java
package com.example.kelompok2;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "("
+ COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ COLUMN_NAMA + " TEXT,"
+ COLUMN_ALAMAT + " TEXT" + ")";
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
activity_list_item.xml
<!-- list_item.xml -->
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp"
android:padding="10dp"/>