• Tidak ada hasil yang ditemukan

PEMBUATAN APLIKASI PENCATATAN KEUANGAN MENGGUNAKAN ANDROID STUDIO

N/A
N/A
Protected

Academic year: 2021

Membagikan "PEMBUATAN APLIKASI PENCATATAN KEUANGAN MENGGUNAKAN ANDROID STUDIO"

Copied!
28
0
0

Teks penuh

(1)

PEMBUATAN APLIKASI PENCATATAN KEUANGAN

MENGGUNAKAN ANDROID STUDIO

Rosdiana, Enno Febriana

Fakultas Teknologi Industri

Jurusan Teknik Informatika

Universitas Gunadarma, 2020

ABSTRAKSI

Perkembangan dan peningkatan teknologi smartphone terbilang sangat

cepat. Dengan banyaknya tawaran kemudahan dan keuntungan penggunaan alat

ini, menyebabkan banyak orang yang tertarik untuk memilikinya,dan produsen

smartphone pun berlomba untuk melakukan inovasi, hingga lahirlah teknologi

pemrograman yang memungkinkan smartphone dapat menambah aplikasi diluar

aplikasi standarnya.

Pada kesempatan ini, penulis mempunyai tujuan yaitu membuat aplikasi

android yang mampu menampilkan catatan pengeluaran ke dalam bentuk yang

mudah dibaca pengguna, menggunakan list. Membuat aplikasi berbasis android

yang menampilkan detail catatan pemasukan dan pengeluaran berdasarkan

kategori, tanggal atau jumlah parameter pencarian didapat dari pengguna.

Penulis dapat memanfaatkan media untuk membuat sebuah aplikasi pencatatan

keuangan menggunakan android studio, dimana diharapkan aplikasi tersebut

berguna untuk mencatat dan mengelola pemasukan dan pengeluaran keuangan

sehari-hari menggunakan android kapan saja.

Kata Kunci : Android, Keuangan, Pencatatan Keuangan, Smartphone.

PENDAHULUAN

Pencatatan keuangan merupakan salah satu cara mengetahui seberapa

besar pendapatan dibelanjakan ke dalam beberapa kategori daftar kebutuhan

dalam suatu periode waktu. Dengan melakukan hal tersebut, seseorang berusaha

untuk memahami dan mengendalikan keuangannya. Pada individu yang

pendapatan per bulannya relatif tetap, seperti mahasiswa yang dikirimi uang

bulanan oleh orang tua, pencatatan keuangan sangat penting untuk mengetahui

kemana dan seberapa besar uang yang mereka belanjakan, untuk menghindari

lebih besar pengeluran daripada pendapatan yang diterima, yang mengakibatkan

meminta uang tambahan kepada orang tua atau mengutang ke berbagai pihak.

Pencatatan keuangan yang paling dasar bisa dilakukan dengan menggunakan pena

dan buku catatan, cara ini menawarkan kesederhanaan namun mempunyai tingkat

kesalahan yang tinggi serta tidak ada kemampuan untuk mengelola dan

memanipulasi pengeluaran yang telah dicatat, misal mengetahui total pengeluaran

kategori Belanja OnlineShop pada bulan Februari 2020, dan lain-lain. Cara ini

(2)

menawarkan pengelolaan dan presentasi data yang jauh lebih baik daripada

pencatatan manual, namun membutuhkan perangkat keras dan lunak komputer

untuk melakukan fungsinya sehingga lebih demanding dari segi kepraktisan dan

ekonomi.

Melihat perkembangan perangkat keras dan perangkat lunak smartphone

yang memungkinkan tasks lebih kompleks daripada sekedar berkomunikasi sara

dan teks yang bisa dilakukan oleh smartphone, aplikasi pencatatan keuangan

personal dapat diimplementasikan pada smartphone berplatform Android.

Aplikasi Android bisa menjadi cara alternatif pencatatan pengeluaran dari cara

-cara yang sudah ada. Karena pencatatan keuangan merupakan salah satu -cara

mengukur seberapa efektif alokasi pendapatan serta usaha untuk mengontrol

keuangan individu masing-masing.

Berdasarkan permasalahan diatas, maka penulis mencoba membuat

aplikasi

dengan

judul

“Pembuatan aplikasi pencatatan keuangan

menggunakan android studio”.

METODE PENELITIAN

Pada penulisan ini, penulis membutuhkan perangkat keras dan perangkat

lunak. Perangkat yang dibutuhkan adalah satu (1) unit komputer pribadi lengkap

dengan spesifikasi perangkat keras

Operating System Windows 10 Enterprise

2016 LTSB, Memory 4 GB, Processor Intel Core i3-6006U 2.0 GHz 2.

Perangkat Lunak yang dibutuhkan adalah Android SDK Manager, Genymotion.

Pembuatan aplikasi dilakukan dalam beberapa tahap:

1.

Membuat algoritma program.

Pembuatan algoritma program yang akan menjelaskan urutan

langkah-langkah dalam pembuatan aplikasi pencatatan keuangan.

2.

Merancang tampilan aplikasi.

Perancangan tampilan aplikasi pada emulator yang akan digunakan untuk

berinteraksi dengan

user

.

3.

Menulis

source code

.

Membuat kode program berdasarkan kedua tahap sebelumnya untuk

diimplementasikan pada emulator.

4.

Tahap penyusunan akhir.

Kode program yang telah dibuat pada tahap sebelumnya akan dieksekusi

dan dijalankan untuk menganalisa kesesuaiannya dengan ketiga tahap awal

yang dilakukan.

PEMBAHASAN

1.

Gambaran Umum Aplikasi

Dalam aplikasi terdapat 2 buah item yaitu pemasukan dan pengeluaran.

Dalam aplikasi ini yang perlu dilakukan adalah memasukan uang bulanan terlebih

(3)

dahulu. Setelah user memasukan uang, user dapat memasukan jumlah

pengeluaran yang terpakai. Jika terjadi kesalahan user dapat mengedit atau

menghapus pemasukan tersebut. Perhitungan pemasukan terjadi dengan

banyaknya user memasukan data. Jika user ingin menambahkan data user dapat

pilih button plus. Jika user ingin mengganti data yang lama dengan data yang baru

user dapat pilih menu edit. Jika user ingin menghapus data user dapat pilih menu

hapus. Jika user ingin keluar dari aplikasi maka user pilih menu close untuk

keluar dan data akan tersimpan secara otomatis.

Didalam penulisan ilmiah ini penulis membuat prototype program aplikasi

ini menggunakan Android Studio, dengan harapan agar dapat memudahkan

pengguna dalam memperoleh informasi seputar buku yang tersedia di sebuah toko

buku. Karena dengan aplikasi ini nantinya diharapkan dapat menghasilkan

informasi seputar buku yang tersedia di sebuah toko buku secara langsung, tanpa

harus browsing website terlebih dahulu, serta dapat menghemat biaya pengguna

dalam memperoleh informasi seputar buku yang tersedia di toko buku tersebut.

2.

Struktur Navigasi Aplikasi

2.1.

Struktur Navigasi

Gambar 2.1. Navigasi Aplikasi

Struktur navigasi yang digunakan adalah struktur navigasi linier.

Penjelasannya adalah sebagai berikut :

1.

Ketika program pertama kali dijalankan maka akan menampilkan halaman

semua data. Dihalaman aplikasi ini terdapat menu-menu yaitu tambah data,

filter data,edit data dan hapus data.

(4)

2.

Jika user memilih menu tambah data maka akan ditampilkan halaman aplikasi

yaitu menambahkan data yang akan dimasukan.

3.

Jika user memilih menu filter data maka akan ditampilkan halaman aplikasi

untuk mendapatkan hasil terkini.

4.

Jika user memilih menu edit data maka akan ditampilkan halaman aplikasi

proses data yang sudah dimasukkan, jika ada kesalahan user dapat mengedit

data tersebut.

2.2.

Flowchart Program

Agar lebih memudahkan dalam pembuatan program, maka terlebih dahulu

penulis membuat flowchart (diagram alur) yang akan menggambarkan alur

program secara umum. Flowchart tersebut dapat digambarkan sebagai berikut :

Gambar 2.2. Flowchart Program

User

dapat memilih menu yang tersedia, dan pada tahap ini pilihan

user

(5)

2.2.1.

Alur Penekanan Button

Dalam layar aplikasi,

user

dapat berinteraksi dengan aplikasi melalui

button yang terdapat dalam android. Setiap button yang terdapat pada android

diberikan fungsi yang berbeda untuk memenuhi semua kemungkinan interaksi

yang diperlukan dalam aplikasi. Untuk lebih jelasnya, alur penekanan button

dapat dilihat pada gambar berikut ini :

Gambar 2.2.1. Alur Penekanan Button

1.

Button plus untuk menambahkan data.

2.

Button edit untuk mengedit data.

3.

Button hapus untuk menghapus data.

4.

Button simpan untuk menyimpan data.

5.

Button panah, merupakan button yang berada diatas kiri layar android.

Penekanan terhadap button ini berguna untuk mengakses menu tampilan awal

dalam aplikasi, dan posisi penambahan data secara otomatis akan kembali ke

tampilan awal.

6.

Button filter, merupakan button yang berada diatas kanan layar android.

Penekanan terhadap button ini adalah penampilan data-data yang dimasukan

sebelumnya, yaitu dapat memilih data sesuai tanggal yang diinginkan.

2.2.2.

Flowchart Tampilan Awal dalam Aplikasi

Tampilan awal dalam aplikasi memiliki kemiripan dengan menu utama.

Tampilan awal ini dibuat agar

user

dapat melakukan perubahan yang diinginkan

dalam aplikasi seperti penambahan data, edit data, hapus data, filter data ataupun

untuk keluar dari aplikasi.

Tampilan awal dalam aplikasi dapat diakses dengan menekan button

panah kiri. Alur program untuk tampilan awal dalam aplikasi dapat dilihat pada

gambar

berikut :

(6)

Gambar 2.2.2. Flowchart Tampilan Awal Dalam Aplikasi

2.3.

Perancangan Tampilan Aplikasi

Dalam merancang sebuah aplikasi, tampilan merupakan suatu hal yang

cukup penting. Aplikasi dengan tampilan yang menarik dan mudah dimengerti

tentunya akan memberikan nilai tambah pada aplikasi itu sendiri. Untuk membuat

aplikasi KasApp ini penulis merancang tampilan awal dalam aplikasi, tampilan

edit data, tambah data, hapus data, dan filter data.

2.3.1.

Rancangan Menu Options dalam Aplikasi

Pada aplikasi permainan yang dibuat, penulis menggunakan beberapa buah

menu yang tujuannya adalah untuk memudahkan dan membantu pengguna

aplikasi dalam mengakses fasilitas dalam aplikasi yang disediakan. Menunya

adalah sebagai berikut:

1. Tambah data

Menu ini adalah menu untuk menambahkan data.

2. Edit data

Menu ini adalah menu untuk mengganti data lama menjadi data yang baru.

3. Hapus data

(7)

4. Filter data

Menu ini adalah menu untuk memilih data sesuai tanggal yang diinginkan

oleh

user

.

5. Tampilan awal

Menu ini adalah untuk menampilkan data pemasukan dan pengeluaran

yang didapat oleh

user

.

6.

Keluar

Menu ini adalah menu keluar aplikasi apabila sudah selesai dalam aplikasi

tersebut.

Rancangan tampilan menu dapat dilihat pada gambar seperti berikut ini :

Gambar 2.3.1. Rancangan Halaman Awal dalam Aplikasi

Rancangan tampilan menu tersebut disesuaikan dengan tampilan menu

yang terdapat pada android Android Honeycomb, Android Ice Cream Sandwich,

Android Jellybean, Android Kitakat, Android Lolipop, Android Marsmallow,

dimana menu tersusun secara vertikal dan disertai dengan blok (arsiran) pada

menu, untuk menandai menu yang akan dipilih. Untuk bernavigasi, dapat

dipergunakan button plus untuk mulai menambahkan data, serta button panah kiri

untuk kembali ke tampilan sebelumnya.

2.3.2.

Rancangan Tambah Data

Menu ini adalah awal untuk penambahan data Pada menu ini

user

harus

memasukkan data yang telah ditentukan. Data yang harus dimasukkan adalah

uang pemasukan dan pengeluaran yang sudah terpakai. Untuk menyelesaikan

menu ini data tersebut harus sama dengan nominal bagi pemasukan, pengeluaran,

harga barang dan jenis barang agar data tersusun dengan rapih dan benar.

(8)

Gambar 2.3.2. Rancangan Tambah Data

2.3.3.

Rancangan Edit Data

Pada menu ini data yang sudah dimasukan bisa di edit.

Gambar 2.3.3. Rancangan Edit Data

2.3.4.

Rancangan Hapus Data

Pada menu ini data yang sudah dimasukkan bisa dihapus.

(9)

2.3.5.

Rancangan Filter Data

Pada menu ini bisa memilih data sesuai tanggal yang diinginkan

user

.

Gambar 2.3.5. Rancangan Filter Data

2.3.6.

Rancangan Halaman Data

Pada halaman ini

user

dapat melihat data yang telah didapat saat diinput.

Informasi yang ditampilkan adalah banyaknya data yang diinput

user.

Rancangannya ditunjukan pada gambar 3.10.

Gambar 3.3.6 Rancangan Halaman Data

2.4.

Pembuatan Program

Pada pemrograman java (android), setiap fungsi yang ingin dibuat harus

dituliskan didalam sebuah kelas, karena pada dasarnya android menganut prinsip

pemrograman API (

Application Programming Interface

). Pada pembuatan

(10)

aplikasi

KassApp

ini, penulis membagi fungsi yang terdapat dalam aplikasi ini

kedalam beberapa kelas, dimana setiap kelas dibuat berdasarkan karakteristik

layar yang dipergunakan dalam aplikasi. Dengan kata lain, setiap layar yang ada

dibangun dari kelas tersendiri. Penjelasan tentang kelas yang dibuat dan isinya

akan dijelaskan pada subbab terpisah.

2.4.1.

Splashscreen.java

Kelas ini merupakan kelas pembuka aplikasi yang utama. Splashscreen

digunakan untuk tampilan tambahan yang muncul saat pertama kali kita membuka

suatu aplikasi. Kelas ini didefinisikan sebagai berikut :

package app.kasapp;

import androidx.appcompat.app.AppCompatActivity; import android.content.Intent;

import android.os.Bundle;

public class Splashscreen extends AppCompatActivity { @Override

protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);

setContentView(R.layout.activity_splashscreen); //Thread

Thread timer = new Thread() { public void run(){ try{ sleep(2000); // 1000 = 1 detik }catch (InterruptedException e) { e.printStackTrace(); }finally { //Intent

Intent intent = new

Intent(Splashscreen.this, MainActivity.class); startActivity(intent); //Close Activity finish(); } } }; timer.start(); } }

Perintah

Thread

diatas merupakan suatu struktur pengendali program

yang

dapat

dijalankan secara background,

dan

cara kerjanya

adalah

seperti listener. Dan untuk perintah

Intent

diatas merupakan perpindahan

halaman dari splashscreen ke mainactivity.

2.4.2.

MainActivity.java

Kelas ini mengatur tampilan layar dan sistem aplikasi. Class ini

yang handle sebuah halaman user interface pada aplikasi android dan

(11)

meng-extends kelas Main activity untuk pembuatan output. Untuk mendeklarasikannya

digunakan perintah sebagai berikut :

Import helper.SqliteHelper;

public class MainActivity extends AppCompatActivity { TextView text_masuk, text_keluar, text_saldo;

ListView list_kas;

String query_kas, query_total; SqliteHelper sqliteHelper; Cursor cursor;

Perintah diatas yaitu untuk mengatur database pada program dan untuk

pemanggilan

TextView

,

ListView

,

String

,

SqliteHelper

dan

Cursor

.

ArrayList<HashMap<String, String>> aruskas = new

ArrayList<>();

public static TextView text_filter;

public static String transaksi_id, tgl_dari, tgl_ke;

public static boolean filter;

@Override

protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Toolbar toolbar = (Toolbar)

findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

transaksi_id =""; tgl_dari=""; tgl_ke = "";

filter = false;

Perintah diatas merupakan proses mem-filter data dari mulai tanggal yang kita

pilih hingga tanggal akhir saat proses pemasukan data.

text_masuk=(TextView)findViewById(R.id.text_masuk); text_keluar = (TextView)findViewById(R.id.text_keluar); text_saldo = (TextView) findViewById(R.id.text_saldo); list_kas = (ListView) findViewById(R.id.list_kas); text_filter = (TextView)

findViewById(R.id.text_filter);

Perintah diatas mendeklarasikan

text_masuk, text_keluar, text_saldo,

list_kas,

text_filter.

sqliteHelper = new SqliteHelper(this);

FloatingActionButton fab = findViewById(R.id.fab);

fab.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View view) {

// code here

startActivity(new Intent(MainActivity.this, AddActivity.class));

//Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)

//.setAction("Action", null).show(); }

}); }

(12)

@Override

public void onResume(){

super.onResume();

query_kas = "SELECT *, strftime('%d/%m/%Y', tanggal) AS tgl FROM transaksi ORDER BY transaksi_id DESC";

Perintah untuk total pemasukan dan pengeluaran adalah sebagai berikut:

query_TOTAL:

query_total = "SELECT SUM(jumlah) AS total, (SELECT SUM

(jumlah) FROM transaksi WHERE status = 'MASUK') as masuk," + "(SELECT SUM (jumlah) FROM transaksi WHERE status = 'KELUAR') as keluar FROM transaksi";

if (filter){

Perintah untuk tanggal transaksi adalah sebagai berikut:

query_KAS:

query_kas = "SELECT *, strftime('%d/%m/%Y', tanggal) AS tgl

FROM transaksi " + "WHERE (tanggal >= '" + tgl_dari + "') AND (tanggal <=

'" + tgl_ke + "') ORDER BY transaksi_id ASC";

Perintah untuk penggabungan antara tanggal dan total pemasukan pengeluaran

adalah sebagai berikut:

query_TOTAL:

query_total = "SELECT SUM(jumlah) AS total, " + "(SELECT SUM (jumlah) FROM transaksi WHERE status = 'MASUK' AND (tanggal >= '" +

tgl_dari + "') AND (tanggal <= '" + tgl_ke + "'))," + "(SELECT SUM (jumlah) FROM transaksi WHERE status = 'KELUAR' AND (tanggal >= '" +

tgl_dari + "') AND (tanggal <= '" + tgl_ke + "')) " + "FROM transaksi

WHERE (tanggal >= '" + tgl_dari + "') AND (tanggal <= '" + tgl_ke + "')";

}

KasAdapter(); }

private void KasAdapter(){

aruskas.clear(); list_kas.setAdapter(null);

SQLiteDatabase

database = sqliteHelper.getReadableDatabase();

cursor = database.rawQuery(query_kas, null);

cursor.moveToFirst();

for (int i=0; i < cursor.getCount(); i++ ){ cursor.moveToPosition(i);

Log.d("status", cursor.getString(1));

Perintah dibawah merupakan hashmap yaitu sebuah class yang berisi sekumpulan

pasangan nilai (value) dan kunci (key) untuk menampilkan data. Perintah untuk

membuatnya terdapat pada method sebagai berikut :

HashMap<String, String> map = new HashMap<>(); map.put("transaksi_id", cursor.getString(0)); map.put("status", cursor.getString(1)); map.put("jumlah", cursor.getString(2)); map.put("keterangan", cursor.getString(3)); //map.put("tanggal", cursor.getString(4)); map.put("tanggal", cursor.getString(5)); aruskas.add(map); }

(13)

Hashmap diatas terdiri dari

transaksi_id

,

status

,

jumlah

,

keterangan

dan

tanggal

.

SimpleAdapter simpleAdapter = new SimpleAdapter(this, aruskas,

R.layout.list_kas,

new String[] { "transaksi_id", "status", "jumlah", "keterangan", "tanggal" },

new int[] {R.id.text_transaksi_id, R.id.text_status,

R.id.text_jumlah, R.id.text_keterangan,

R. id.text_tanggal } );

list_kas.setAdapter(simpleAdapter);

list_kas.setOnItemClickListener(new

AdapterView.OnItemClickListener() { @Override

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

transaksi_id = ((TextView)

view.findViewById(R.id.text_transaksi_id)).getText().toString();

Log.d("transaksi_id", transaksi_id);

ListMenu(); }

});

KasTotal(); }

private void KasTotal(){

NumberFormat rupiah =

NumberFormat.getInstance(Locale.GERMANY);

SQLiteDatabase database = sqliteHelper.getReadableDatabase();

cursor = database.rawQuery(query_total, null); cursor.moveToFirst(); text_masuk.setText(rupiah.format (cursor.getDouble(1) )); text_keluar.setText(rupiah.format (cursor.getDouble(2) )); text_saldo.setText( rupiah.format (cursor.getDouble(1) - cursor.getDouble(2) ) );

if (!filter) { text_filter.setText("SEMUA"); }

filter = false;

}

private void ListMenu(){ final Dialog dialog = new

Dialog(MainActivity.this);

dialog.setContentView(R.layout.list_menu);

dialog.getWindow().setLayout(WindowManager.LayoutParams.MATC

H_PARENT, WindowManager.LayoutParams.WRAP_CONTENT); dialog.show();

(14)

Perintah dibawah ini untuk membuat pilihan menu edit dan hapus. Berikut

perintah syntax nya:

TextView text_edit = (TextView)dialog.findViewById(R.id.text_edit); TextView text_hapus = (TextView)dialog.findViewById(R.id.text_hapus); text_edit.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View v) { dialog.dismiss(); startActivity(new Intent(MainActivity.this, EditActivity.class)); } }); text_hapus.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View v) {

dialog.dismiss();

Hapus();

} }); }

Perintah untuk hapus data adalah sebagai berikut:

private void Hapus(){

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("Konfirmasi");

builder.setMessage("Yakin Untuk Menghapus Transaksi

Ini?");

builder.setPositiveButton( "Yes",

new DialogInterface.OnClickListener() {

Perintah diatas merupakan code untuk penghapusan data jika data yakin ingin

dihapus pilih YES.

@Override

public void onClick(DialogInterface dialog, int which) { SQLiteDatabase database = sqliteHelper.getWritableDatabase();

database.execSQL("DELETE FROM transaksi WHERE transaksi_id ='"

+transaksi_id+ "'");

Toast.makeText(MainActivity.this,

"Data Transaksi Berhasil Dihapus",

Toast.LENGTH_LONG).show();

KasAdapter(); }

(15)

Toast diatas merupakan salah satu widget yang digunakan untuk menampilkan

pesan berupa text. Toast memiliki fungsi untuk memberitahukan informasi pada

user, mengenai konten atau aksi yang di eksekusinya, bisa berupa konfirmasi,

pesan error atau pemberitahuan lainnya. Perintah diatas merupakan source code

untuk jika pengapusan berhasil maka akan muncul komentar bahwa data transaksi

berhasil dihapus.

builder.setNegativeButton(

"No",

new DialogInterface.OnClickListener() { @Override

public void onClick(DialogInterface dialog, int which) {

dialog.dismiss(); }

}); builder.show(); }

Perintah diatas merupakan code untuk penghapusan data jika data yakin ingin

dihapus pilih NO.

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is

present.

getMenuInflater().inflate(R.menu.menu_main, menu); return true;

}

Perintah

getMenuInflater().inflate(R.menu.

menu_main

,

menu);

berfungsi untuk memanggil menu option tampilan yang muncul ketika

ditekan tombol menu pada device android.

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in

AndroidManifest.xml.

int id = item.getItemId(); //noinspection SimplifiableIfStatement

if (id == R.id.action_filter) {

startActivity(new Intent(MainActivity.this,FilterActivity.class)); return true; } return super.onOptionsItemSelected(item); } }

Perintah

onOptionsItemSelected

berfungsi agar berhasil dalam menangani

sebuah item menu dan dideklarasikan dengan menambahkan

return true;

.

(16)

3.4.3. AddActivity.java

Kelas ini mengatur komponen penting aplikasi android, dan cara aktivitas

diluncurkan dan disatukan adalah bagian mendasar dari model aplikasi platform.

sistem android memulai kode dalam instance activity dengan memanggil metode

callback yang sesuai dengan tahapan tertentu dari siklus prosesnya. Perintah untuk

membuatnya terdapat pada method sebagai berikut :

public class AddActivity extends AppCompatActivity { RadioGroup radio_status;

EditText edit_jumlah, edit_keterangan;

Button btn_simpan; RippleView rip_simpan;

String status;

SqliteHelper sqliteHelper;

@Override

protected void onCreate(Bundle

savedInstanceState) {

super.onCreate(savedInstanceState); setContentView(R.layout.activity_add); status = "";

sqliteHelper = new SqliteHelper(this);

radio_status = (RadioGrup) findViewById(R.id.radio_status); edit_jumlah = (EditText) findViewById(R.id.edit_jumlah); edit_keterangan = (EditText) findViewById(R.id.edit_keterangan); btn_simpan = (Button) findViewById(R.id.btn_simpan); rip_simpan = (RippleView) findViewById(R.id.rip_simpan);

FindViewById

berfungsi untuk menentukan tampilan objek yang sifatnya

penting saat membuat relative layout. Relative layout merupakan layout yang

mengatur tata letak komponen atau widget aplikasi android dengan cara relative

(secara bebas) tidak hanya vertikal atau horizontal saja.

radio_status.setOnCheckedChangeListener(new

RadioGroup.OnCheckedChangeListener() { @Override

public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) { switch (checkedId) { case R.id.radio_masuk: status = "MASUK"; break; case R.id.radio_keluar: status = "KELUAR"; break; }

Log.d("Log status", status); }

(17)

Untuk membuat record pilihan penyimpanan data baru menggunakan perintah

RadioGroup.OnCheckedChangeListener()

.

Radio

button

group

ini

berfungsi untuk merelasikan antara 2 radio button agar bisa di seleksi salah satu

saja.

rip_simpan.setOnRippleCompleteListener(new RippleView.OnRippleCompleteListener(){ @Override

public void onComplete(RippleView rippleView) { if(status.equals("")||

edit_jumlah.getText().toString().equals("")|| edit_keterangan.getText().toString().equals("")){

Toast.makeText(AddActivity.this, "Isi Data Data Dengan Benar”, Toast.LENGTH_LONG).show();

} else {

Perintah dibawah ini untuk memasukan status,jumlah dan keterangan pada

aplikasi. Perintah untuk membuatnya terdapat pada method sebagai berikut :

SQLiteDatabase database =

sqliteHelper.getWritableDatabase(); database.execSQL(

"INSERT INTO transaksi (status, jumlah, keterangan) VALUES ('" + status + "', '" + edit_jumlah.getText().toString() + "',

'"+edit_keterangan.getText().toString()+"')");

Toast.makeText(AddActivity.this, "Data Transaksi Berhasil Disimpan

",

Toast.LENGTH_LONG).show();

finish(); }

} });

Perintah dibawah ini berfungsi untuk meng-edit dan menyimpan data. Kegunaan

untuk

edit_jumlah

dan

edit_keterangan

yaitu kita bisa mengganti data

yang lama menjadi data yang baru. Perintah untuk membuatnya terdapat pada

method sebagai berikut :

btn_simpan.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) { String jumlah = edit_jumlah.getText().toString(); String keterangan = edit_keterangan.getText().toString(); } });

Perintah dibawah ini berfungsi untuk menambahkan data baru.

Perintah untuk

membuatnya terdapat pada method sebagai berikut :

//Set Title

(18)

//Back Icon

getSupportActionBar().setDisplayHomeAsUpEnabled(true); }

//Click Back Icon

@Override

public boolean onSupportNavigateUp(){

finish(); return true; }

}

2.4.3.

SqliteHelper.java

File ini merupakan salah satu fitur yang digunakan di dalam aplikasi

android studio untuk membuat tabel yang dapat menyimpan berbagai data seperti

string dan integer.

Untuk membuat record penyimpanan baru di aplikasi ini digunakan

perintah

public void OnCreate(SQLiteDatabase db){

. Nama record

penyimpanan aplikasi ini adalah transaksi. Untuk membaca nilai database tersebut

digunakan perintah berikut:

package helper;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper;

public class SqliteHelper extends SQLiteOpenHelper {

private static final String DATABASE_NAME = "uangKas";

private static final int DATABASE_VERSION = 1; public SqliteHelper(Context context) {

super(context, DATABASE_NAME, null,

DATABASE_VERSION);

// TODO Auto-generated constructor stub }

Untuk membuat database terlebih dahulu berikan nama database. Untuk nama

database dibawah ini yaitu transaksi.

@Override

public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL(

"CREATE TABLE transaksi (transaksi_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, status TEXT," +

"jumlah DOUBLE, keterangan TEXT, tanggal DATE DEFAULT CURRENT_DATE );"

); }

(19)

Fungsi

AUTOINCREMENT

yaitu data otomatis akan terurut, status untuk

menyimpan adanya masuk dan keluar data, jumlah menggunakan tipe data double

berfungsi jika adanya angka yang sama, keterangan menggunakan text, dan

tanggal menggunakan

DATE DEFAULT CURRENT_DATE

yang otomatis

mengambil tanggal pada aplikasi.

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// TODO Auto-generated method stub // Drop older table if existed

db.execSQL("DROP TABLE IF EXISTS transaksi"); }

}

2.4.4.

EditActivity.java

Kelas ini mengatur untuk mengedit data pada aplikasi. Class ini hampir

sama dengan Untuk mendeklarasikannya digunakan perintah sebagai berikut :

import helper.SqliteHelper;

public class EditActivity extends AppCompatActivity { MainActivity M = new MainActivity();

RadioGroup radio_status;

RadioButton radio_masuk, radio_keluar;

EditText edit_jumlah, edit_keterangan;

RippleView rip_simpan;

EditText edit_tanggal;

String tanggal, status;

DatePickerDialog datePickerDialog; SqliteHelper sqliteHelper;

Cursor cursor;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState); setContentView(R.layout.activity_edit);

Program dibawah ini berfungsi untuk menyimpan tanggal ke sqlite yyyy-mm-dd.

Perintah untuk membuatnya terdapat pada method sebagai berikut :

status = ""; tanggal = ""; radio_status = (RadioGroup) findViewById(R.id.radio_status); radio_masuk = (RadioButton) findViewById(R.id.radio_masuk); radio_keluar = (RadioButton) findViewById(R.id.radio_keluar); edit_jumlah = (EditText) findViewById(R.id.edit_jumlah); edit_keterangan = (EditText)

(20)

findViewById(R.id.edit_keterangan);

rip_simpan = (RippleView)

findViewById(R.id.rip_simpan);

edit_tanggal = (EditText)

findViewById(R.id.edit_tanggal);

Perintah dibawah ini untuk input pemilihan data yang masuk dan keluar pada

aplikasi, Perintah untuk membuatnya terdapat pada method sebagai berikut :

sqliteHelper = new SqliteHelper(this);

SQLiteDatabase database = sqliteHelper.getReadableDatabase();

cursor = database.rawQuery("SELECT *,

strftime('%d/%m/%Y', tanggal) AS tgl FROM transaksi WHERE transaksi_id=

'" + M.transaksi_id +"'", null);

cursor.moveToFirst();

status = cursor.getString(1);

switch (status) {

case "MASUK" : radio_masuk.setChecked(true); break;

case "KELUAR" : radio_keluar.setChecked(true); break;

}

Pada

radio_masuk

user dapat memilih untuk pemasukan data yang diinput,

sedangkan

radio_keluar

user dapat memilih untuk pengeluaran data yang

diinput.

radio_status.setOnCheckedChangeListener(new

RadioGroup.OnCheckedChangeListener() { @Override

public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {

switch (checkedId) {

case R.id.radio_masuk:

status = "MASUK";

break;

case R.id.radio_keluar:

status = "KELUAR"; break;

}

Log.d("Log status", status);

} }); edit_jumlah.setText( cursor.getString(2) ); edit_keterangan.setText( cursor.getString(3) ); tanggal = cursor.getString(4); edit_tanggal.setText( cursor.getString(5) );

Program dibawah ini untuk menambahkan kalendar pada aplikasi digunakan code

sebagai berikut:

(21)

Calendar calendar = Calendar.getInstance(); final int year = calendar.get(Calendar.YEAR);

final int month = calendar.get(Calendar.MONTH); final int day = calendar.get(Calendar.DAY_OF_MONTH);

Variable diatas dideklarasikan untuk menentukan tanggal yang akan diinput user

sesuai data yang dimasukan dan dikeluarkan pada aplikasi.

edit_tanggal.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) { datePickerDialog = new DatePickerDialog(EditActivity.this, new DatePickerDialog.OnDateSetListener() { @Override

public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

NumberFormat numberFormat = new DecimalFormat("00");

tanggal = numberFormat.format(year) + "-" + numberFormat.format((month + 1)) + "-" +

numberFormat.format(dayOfMonth);

edit_tanggal.setText(numberFormat.format(dayOfMonth) + "/" +

numberFormat.format((month + 1)) + "/" + numberFormat.format(year)); }

}, year, month, day); datePickerDialog.show(); } }); rip_simpan.setOnRippleCompleteListener(new RippleView.OnRippleCompleteListener() { @Override

public void onComplete(RippleView rippleView) { if (status.equals("") ||

edit_jumlah.getText().toString().equals("") || edit_keterangan.getText().toString().equals("") ) {

Toast.makeText(EditActivity.this, "Isi Data

Dengan Benar ",

Toast.LENGTH_LONG).show(); } else {

Perintah

dibawah

ini

menggunakan

metode

insert

open

helper

memanggil

SQLiteDatabase

, metode

SQLiteDatabase

ini berfungsi

untuk

mempermudah user menyisipkan baris ke dalam database.

SQLiteDatabase database =

sqliteHelper.getWritableDatabase();

database.execSQL( "INSERT INTO transaksi (status,

jumlah, keterangan) VALUES ('" + status + "', '" +

edit_jumlah.getText().toString() + "', " +

"'"+edit_keterangan.getText().toString()+"')" );

Perintah dibawah ini menggunakan

m

etode update dari open helper memanggil

metode update database, sehingga user tidak perlu menulis query SQL seluruhnya.

(22)

database.execSQL( "UPDATE transaksi SET status='"+

status +"', jumlah='"+ edit_jumlah.getText().toString() +

"',keterangan='"+ edit_keterangan.getText().toString() +"', tanggal='"+

tanggal + "' WHERE transaksi_id= '" + M.transaksi_id + "'" );

Untuk memberitahukan Informasi pada user, mengenai aksi yang akan di

eksekusi, berupa konfirmasi, pesan error atau pemberitahuan lainnya bisa

menggunakan Toast seperti code dibawah ini:

Toast.makeText(EditActivity.this, "Perubahan Data Transaksi Berhasil Disimpan ", Toast.LENGTH_LONG).show(); finish(); } } }); //Set Title getSupportActionBar().setTitle("Edit"); //Back Icon getSupportActionBar().setDisplayHomeAsUpEnabled(true); } @Override

public boolean onSupportNavigateUp(){ finish();

return true; }

}

2.4.5.

FilterActivity.java

Kelas ini berguna untuk menyaring data yang banyak agar mudah user

dalam mencari atau mengelompokkan data berdasarkan tanggal yang user

inginkan.

public class FilterActivity extends AppCompatActivity { MainActivity M = new MainActivity();

EditText edit_dari, edit_ke; RippleView rip_simpan;

DatePickerDialog datePickerDialog; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_filter); edit_dari = (EditText) findViewById(R.id.edit_dari); edit_ke = (EditText) findViewById(R.id.edit_ke); rip_simpan = (RippleView) findViewById(R.id.rip_simpan);

(23)

final int year = calendar.get(Calendar.YEAR); final int month = calendar.get(Calendar.MONTH); final int day =

calendar.get(Calendar.DAY_OF_MONTH);

edit_dari.setOnClickListener(new View.OnClickListener() {

Perintah dibawah ini menggunakan

DatePickerDialog

sebagai komponen user

interface. User dapat memilih tanggal, bulan dan tahun. Berikut code yang akan

ditampilkan:

@Override

public void onClick(View v) { datePickerDialog = new

DatePickerDialog(FilterActivity.this,new DatePickerDialog.OnDateSetListener() { @Override

public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

NumberFormat numberFormat = new

DecimalFormat("00"); M.tgl_dari = numberFormat.format(year) + "-" + numberFormat.format((month + 1)) + "-" + numberFormat.format(dayOfMonth); edit_dari.setText(numberFormat.format(dayOfMonth) + "/" + numberFormat.format((month + 1)) + "/" + numberFormat.format(year)); }

}, year, month, day); datePickerDialog.show(); }

});

edit_ke.setOnClickListener(new View.OnClickListener() {

Ketika user sedang memasukan data atau mengedit data user dapat mengubah

tanggal,bulan,dan tahun menggunakan

DatePickerDialog

.

@Override

public void onClick(View v) { datPickerDialog = new

DatePickerDialog(FilterActivity.this,new DatePickerDialog.OnDateSetListener() { @Override

public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

NumberFormat numberFormat = new

DecimalFormat("00"); M.tgl_ke = numberFormat.format(year) + "-" + numberFormat.format((month + 1)) + "-" + numberFormat.format(dayOfMonth); edit_ke.setText(numberFormat.format(dayOfMonth) + "/" + numberFormat.format((month + 1)) + "/" + numberFormat.format(year)); }

}, year, month, day); datePickerDialog.show(); }

});

(24)

RippleView.OnRippleCompleteListener() { @Override

public void onComplete(RippleView rippleView) {

if (M.tgl_ke.equals("") || M.tgl_dari.equals("")){

Toast.makeText(FilterActivity.this, "Isi Data Dengan Benar", Toast.LENGTH_LONG).show(); } else { M.filter = true; M.text_filter.setText(edit_dari.getText().toString() + " - " + edit_ke.getText().toString() ); finish(); } } }); //Set Title getSupportActionBar().setTitle("Filter"); //Back Icon getSupportActionBar().setDisplayHomeAsUpEnabled(true); }

//Click Back Icon @Override

public boolean onSupportNavigateUp(){ finish();

return true; }

}

Dari program diatas user tidak hanya bisa memasukan dan mengedit tanggal tetapi

user juga dapat memfilter data menggunakan tanggal,bulan dan tahun yang sudah

diinput sesuai dengan keinginan user.

2.4.6.

FirstFragment.java

Kelas ini dapat menampilkan satu activity di aplikasi pada satu waktu

tertentu sehingga tidak dapat membagi aplikasi dan mengontrol bagian yang

berbeda secara terpisah. Dengan bantuan fragment, user dapat membagi aplikasi

di berbagai bagian dan mengontrol bagian-bagian yang berbeda secara terpisah.

Perintah untuk membuatnya terdapat pada method sebagai berikut :

public class FilterActivity extends AppCompatActivity { MainActivity M = new MainActivity();

EditText edit_dari, edit_ke;

RippleView rip_simpan;

DatePickerDialog datePickerDialog; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_filter); edit_dari = (EditText) findViewById(R.id.edit_dari); edit_ke = (EditText) findViewById(R.id.edit_ke); rip_simpan = (RippleView)

(25)

findViewById(R.id.rip_simpan);

Calendar calendar = Calendar.getInstance(); final int year = calendar.get(Calendar.YEAR); final int month = calendar.get(Calendar.MONTH); final int day =

calendar.get(Calendar.DAY_OF_MONTH);

edit_dari.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View v) { datePickerDialog = new DatePickerDialog(FilterActivity.this, new DatePickerDialog.OnDateSetListener() { @Override

public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

NumberFormat numberFormat = new

DecimalFormat("00"); M.tgl_dari = numberFormat.format(year) + "-" + numberFormat.format((month + 1)) + "-" + numberFormat.format(dayOfMonth); edit_dari.setText(numberFormat.format(dayOfMonth) + "/" + numberFormat.format((month + 1)) + "/" + numberFormat.format(year)); }

}, year, month, day); datePickerDialog.show(); }

});

edit_ke.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View v) {

datePickerDialog = new

DatePickerDialog(FilterActivity.this, new

DatePickerDialog.OnDateSetListener() { @Override

public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

NumberFormat numberFormat = new

DecimalFormat("00"); M.tgl_ke = numberFormat.format(year) + "-" + numberFormat.format((month + 1)) + "-" + numberFormat.format(dayOfMonth); edit_ke.setText(numberFormat.format(dayOfMonth) + "/" + numberFormat.format((month + 1)) + "/" + numberFormat.format(year)); }

}, year, month, day); datePickerDialog.show(); }

});

rip_simpan.setOnRippleCompleteListener(new RippleView.OnRippleCompleteListener() {

(26)

@Override

public void onComplete(RippleView rippleView) {

if (M.tgl_ke.equals("") || M.tgl_dari.equals("")){

Toast.makeText(FilterActivity.this, "Isi Data Dengan Benar", Toast.LENGTH_LONG).show(); } else { M.filter = true; M.text_filter.setText(edit_dari.getText().toString() + " - " + edit_ke.getText().toString() ); finish(); } } }); //Set Title getSupportActionBar().setTitle("Filter"); //Back Icon getSupportActionBar().setDisplayHomeAsUpEnabled(true); }

//Click Back Icon @Override

public boolean onSupportNavigateUp(){ finish();

return true; }

}

2.4.7.

SecondFragment.java

Kelas ini dapat menampilkan satu activity di aplikasi pada satu waktu

tertentu sehingga tidak dapat membagi aplikasi dan mengontrol bagian yang

berbeda secara terpisah. Perintah untuk membuatnya terdapat pada method

sebagai berikut :

package app.kasapp; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.navigation.fragment.NavHostFragment; public class SecondFragment extends Fragment { @Override

public View onCreateView(

LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState ) {

// Inflate the layout for this fragment

return inflater.inflate(R.layout.fragment_second, container,

false); }

public void onViewCreated(@NonNull View view, Bundle

savedInstanceState) {

(27)

view.findViewById(R.id.button_second).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) { NavHostFragment.findNavController(SecondFragment.this).navigate(R. id.action_SecondFragment_to_FirstFragment); } }); } }

2.5.

Uji coba Program

Untuk melakukan uji coba pada aplikasi ini, penulis menggunakan

emulator

Genymotion pada computer. Spesifikasi computer yang penulis gunakan

adalah sebagai berikut :

Operating System Windows 10 Enterprise 2016 LTSB

Processor Intel Core i3-6006U 2.0 GHz 2

Memory RAM 4 GB

Emulator Genymotion

Tampilan pada emulator genymotion akan mempresentasikan tampilan

aplikasi. Di aplikasi tersebut terdapat menu edit data, tambah data, hapus data,

filter data, tampilan data, dan keluar. Integrated Development Environment (IDE)

yang penulis gunakan adalah Android Studio.

2.6.

Implementasi Aplikasi

Implementasi aplikasi yaitu menguji coba aplikasi yang telah

dikembangkan. Aplikasi harus dijalankan dan install terlebih dahulu dengan

emulator yang tedapat pada Android Studio

untuk menjalankan aplikasi ini adalah

sebagai berikut :

Untuk meng-

install

emulator aplikasi langkah-langkahnya adalah sebagai berikut

:

1.

Download dan install Genymotion pada website resminya

https://www.genymotion.com.

2.

Setelah sudah download dan install, download virtual box dan register

menggunakan gmail.

3.

Jika sudah kembali ke android studio pilih menu file,setting, pilih

plugin, browse repository, cari Genymotion dan install.

4.

Setelah itu pilih Genymotion manager , lalu pilih device yang sudah di

buat, dan start.

5.

Run program dari android studio maka hasil program akan muncul pada

emulator.

(28)

KESIMPULAN

Dari hasil pembahasan penulisan ilmiah dengan tema perancangan aplikasi

pencatatan keuangan menggunakan android studio, penulis dapat mengambil

beberapa kesimpulan. Penulis menyimpulkan bahwa aplikasi yang diberi nama

Kassapp

ini telah mampu untuk menampilkan catatan pengeluaran kedalam

emulator yang mudah dibaca pengguna menggunakan list.

SARAN

Aplikasi pencatatan keuangan yang dibuat oleh penulis masih memerlukan

pengembangan dan modifikasi. Modifikasi dapat dilakukan pada kode/ algoritma

program ataupun pada tampilan layar-layar yang ada pada aplikasi ini. Untuk

memodifikasi kode program, sebaiknya diusahakan mencari alternatif algoritma

yang lebih baik, yang dapat membuat hasil kompilasi lebih kecil dan memiliki

performa yang lebih baik. Untuk tampilan layar, sebaiknya diusahakan untuk

membuat tampilan yang lebih menarik, atraktif dan lebih informatif agar

pengguna aplikasi pencatatan keuangan ini tidak merasa bosan dan jenuh. Untuk

pengembangan selanjutnya dapat ditambahkan koneksi internet dan didaftarkan ke

playstore sehingga aplikasi pencatatan keuangan ini dapat digunakan oleh dua

orang atau lebih.

DAFTAR PUSTAKA

Anonim. API Management. 2013.

http://aws.amazon.com/.

Anonim. Keuntungan Android Studio Dalam Pengembangan Aplikasi

Android.

3 Mei 2019.

https://www.logique.co.id/.

Anonim. Pemograman Java ME.htm,2003.

http://faisalwiryasantika.tripod.com.index

.

Dwiyana Pangesthi. Pengertian Manajemen Secara Etimologi. 16 April

2020.

https://www.brilio.net/wow/11-pengertian-manajemen-menurut-para-ahli-dan-secara-umum-200416e.html.

Fathurrahman. Belajar Mengenal Codingan Layout Android XML. 27

Maret 2017.

http://okedroid.com/2017/03/belajar/mengenal-codingan-layout-android-xml.html

.

I Gusti Ngurah Anom Cahyadi Putra. 2016. Perancangan Aplikasi

Keuangan Mahasiswa Berbasis Mobile. (Vol.IX, No.2, 9-14) Fakultas

Matematika Dan Ilmu Pengetahuan Alam,Universitas Udayana.

Novryan, Akhmad Budi. 2016. Implementasi Aplikasi Keuangan Pribadi

Berbasis Android. Institut Bisnis dan Informatika Kwik Kian Gie.

Ujang Juhardi, Khairullah. 2019. Sistem Pencatatan Dan Pengolahan

Keuangan Pada Aplikasi Manajemen Keuangan E-Dompet Berbasis

Android. (Vol.2,No.1,24-29) Fakultas Teknik Universitas

Gambar

Gambar  2.1. Navigasi Aplikasi
Gambar 2.2. Flowchart Program
Gambar 2.2.1. Alur Penekanan Button
Gambar 2.2.2.  Flowchart Tampilan Awal Dalam Aplikasi
+4

Referensi

Dokumen terkait

Pada menu edit artikel, user akan diarahkan pada halaman edit artikel, user dapat mengedit artikel yang diinginkan dimana data tersebut akan disimpan pada

Tampilan gambar di atas ini akan tampil ketika Data Alat Berat di pilih pada menu Input Data, pada form ini terdapat tombol cetak, add, edit , hapus dan

Tampilan form input data mahasiswa digunakan untuk menginputkan data-data mahasiswa. Terdapat beberapa tombol operasi data yaitu tambah, simpan, edit, batal dan hapus. Selain

Pada sistem ini pengakasesan sistem dibedakan menjadi dua bagian, yaitu bagian user, dalam bagian ini adalah user dapat menggunakan aplikasi secara penuh baik

Klik Edit, maka akan tampilan akan ke form pengeditan, lakukan perubahan data sesuai yang diinginkan, jika sudah yakin melakukan perubahan klik tombol

Ap- likasi ini dapat menjadi salah satu rujukan me- dia informasi dalam mengenal destinasi wisata alam, didukung dengan tampilan (interface) aplikasi yang menarik dan user friendly

Tampilan layar edit transaksi nilai yaitu pada saat user melakukan pengisian data dan tersimpan pada database dan akan tetapi jika salah satu data

Flowmap Tambah Data Jabatan Gambar 5 Flowmap Hapus Data Jabatan Admin/Root Sistem Database Start Login Aplikasi Tampilan Dashboard Klik Bagian Jabatan Tampilan