Program Kasir Sederhana Penjualan Baju Menggunakan Eclipse Android Studio
Pada Pertemuan kali ini dalam hal memenuhi nilai UTS Semester VI
STMIK Eresha Mata Kuliah Android Programing, saya akan membuat program
sederhana beserta script dengan menggunakan Eclipse Versi Luna 4.4. Sebelumnya
saya ucapkan terima kasih kepada Bapak Ir. Agus Suharto, M. Kom, selaku dosen
pembimbing hingga saya dapat menyelesaikan tugas ini.
A. Deskripsi Aplikasi
Saya akan membuat bagaimana mengoperasikan kasir mobile menghitung
transaksi penjualan busana dengan program sederhana, Dimana pembeli menginput
model atau nama busana yang tersedia.
Pada Program kasir penjualan ini apabila jumlah pembelian lebih dari harga
Rp. 100.000,- mendapatkan hadiah Tshirt, jika jumlah pembelian Rp. 50000
mendapatkan hadiah Pin Logo dan jika jumlah pembelian Rp. Rp. 20.000,-
mendapatkan hadiah gantungan kunci.
B.
Komponen, Variabel dan Rumus
. 1. Komponen dan
variabel form log in yang terdiri dari :
a. Nama User Kasir Admin
b. Password
. 2. Komponen dan variabel form isian
yang terdiri dari :
a.
Nama Costumer
b.
Nama Busana
c.
Qty, jumlah pembelian
d.
Harga
e.
Pembayaran
Setelah
form diisi maka selanjutnya tekan tombol proses dan akan menampilkan :
a.
Total Bayar
b.
Sisa Uang kembalian
c.
Hadiah
d.
Keterangan
C. Buat Projek Baru
Buka android studio > buat project baru dengan cara klik create new project > beri nama project "App Kasir Toko Baju”
(disesuaikan) > tentukan
target sdk nya> pilih
empty activity > lanjutkan sampai dengan finish. Ukuran device yang saya
gunakan pada emulator adalah smartphone Oppo.
D. Membuat Desain atau Layout 3
dengan Activity
1.
Activity 1 pada activity_Login.xml.
Disini kita akan membuat layout login dengan
menggunakan Linearlayout dan beberapa widget :
- User Name
- Password
- Input TextMasuk
Jika inputan berhasil masuk ke Activity 2
pada layout 2, jika tidak cocok akan masuk ke pesan text Toast.
Source Code pada activity_login.xml adalah :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="16dp"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#0091EA"
>
<Button
android:text="LOGIN"
android:textColor="#FFF"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="?android:attr/selectableItemBackground"
android:id="@+id/button2"
android:onClick="loginMasuk"
android:textStyle="normal|bold"/>
/>
</LinearLayout>
<EditText
android:id="@+id/edittext_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textCapWords"
style="@style/AppTheme"
android:layout_centerVertical="true"
android:layout_alignParentStart="true"
android:textSize="30sp"
android:fontFamily="monospace"/>
<EditText
android:id="@+id/edittext_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:inputType="textCapWords"
android:layout_marginBottom="16dp"
android:textSize="30sp"
android:fontFamily="monospace"
android:layout_above="@+id/edittext_password"
android:layout_alignParentStart="true"/>
<TextView
android:text="User
Login"
android:textColor="#fff"
android:background="#0091EA"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView2"
android:textStyle="normal|bold"
android:textSize="36sp"
android:textAlignment="center"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_marginTop="42dp"/>
</RelativeLayout>
Sorce code pada Loginactivity.java:
package com.zakaria.kasirtokobaju;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
EditText editText1
,editText2; //Deklarasi object
dari class EdiText
String text1 ,text2; //Deklarasi object
string
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setTitle("User
Login ");
getSupportActionBar().setSubtitle("zakaria.com");
}
public void loginMasuk(View view) {
//Method onClick pada Button
editText1 = (EditText)findViewById(R.id.edittext_username);
editText2 = (EditText) findViewById(R.id.edittext_password);
text1 = editText1.getText().toString();
text2 = editText2.getText().toString();
//Kondisi jika username dan password benar maka akan menampilkan pesan text
toast
//Login sukses dan masuk ke activity 2
if ((text1.contains("Username"))&&((text2.contains("Password")))) {
Toast.makeText(this, "Login
Sukses", Toast.LENGTH_SHORT).show();
Intent
intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
else if ((text1.matches("")||text2.matches("")))
/*
Atau
jika input text 1 dan text 2 kosong
*/
{
//Maka akan menampilkan pesan text toast
Toast.makeText(this, "Isikan
Username dan Password", Toast.LENGTH_SHORT).show();
}
else {
//jika kedua kondisi diatas tidak memenuhi
Toast.makeText(this, "Login
Gagal /Username Password Salah", Toast.LENGTH_SHORT).show();
}
}
}
2.
Pada Activity 2 dan layout 2 yaitu pada
activity_second.xml, sorce code sbb :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_second"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.okedroid.latihan.SecondActivity">
<TextView
android:text="Welcome User"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView"
android:textSize="36sp"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
Sorce code pada SecondActivity.java adalah :
package com.zakaria.kasirtokobaju;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
}
3. Pada
settingan AndroidManifest.xml, pastika source code sebagai berikut :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package=" com.zakaria.kasirtokobaju">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".SecondActivity"
android:parentActivityName=".MainActivity"
>
</activity>
</application>
</manifest>
4.
Pada
Layout 3 dan Activity 3 yaitu form isian kasir , pada form_Activity.xml Source
codenya sbb:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
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:orientation="vertical"
android:padding="30dp"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NAMA COSTUMER"
android:textColor="@color/colorPrimary"
android:textStyle="bold" />
<EditText
android:id="@+id/namapelanggan"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="" />
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="30dp"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NAMA COSTUMER"
android:textColor="@color/colorPrimary"
android:textStyle="bold" />
<EditText
android:id="@+id/namapelanggan"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="JENISBAJU:"
android:textColor="@color/colorPrimary"
android:textStyle="bold" />
<EditText
android:id="@+id/namabarang"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="QTY :"
android:textColor="@color/colorPrimary"
android:textStyle="bold" />
<EditText
android:id="@+id/jumlahbeli"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="HARGA : Rp."
android:textColor="@color/colorPrimary"
android:textStyle="bold" />
<EditText
android:id="@+id/harga"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:inputType="number"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PEMBAYARAN : Rp."
android:textColor="@color/colorPrimary"
android:textStyle="bold" />
<EditText android:id="@+id/uangbayar"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="JENISBAJU:"
android:textColor="@color/colorPrimary"
android:textStyle="bold" />
<EditText
android:id="@+id/namabarang"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="QTY :"
android:textColor="@color/colorPrimary"
android:textStyle="bold" />
<EditText
android:id="@+id/jumlahbeli"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="HARGA : Rp."
android:textColor="@color/colorPrimary"
android:textStyle="bold" />
<EditText
android:id="@+id/harga"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:inputType="number"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PEMBAYARAN : Rp."
android:textColor="@color/colorPrimary"
android:textStyle="bold" />
<EditText android:id="@+id/uangbayar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:text="" />
</LinearLayout>
<Button
android:id="@+id/tombol1"
style="@style/Widget.AppCompat.Button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:layout_marginBottom="8dp"
android:background="@color/colorPrimary"
android:text="PROSES TRANSAKSI"
android:textColor="#ffffff"
android:textStyle="bold" />
<TextView
android:id="@+id/totalbelanja"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="8dp"
android:text="TOTAL BAYAR :"
android:textColor="@color/colorPrimary"
android:textSize="18dp"
android:textStyle="bold" />
<TextView
android:id="@+id/uangkembali"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:text="SISA KEMBALIAN :"
android:textColor="@color/colorPrimary"
android:textSize="18dp"
android:textStyle="bold" />
<TextView
android:id="@+id/bonus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:text="HADIAH"
android:textColor="@color/colorPrimary"
android:textSize="18dp"
android:textStyle="bold" />
<TextView
android:id="@+id/keterangan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:text="KETERANGAN"
android:textColor="@color/colorPrimary"
android:textSize="18dp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:gravity="center"
android:orientation="horizontal">
<Button
android:id="@+id/tombol2"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="?attr/colorError"
android:text="RESET DATA"
android:textColor="#ffffFF"
android:textStyle="bold" />
<Button
android:id="@+id/tombol3"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:background="?attr/colorError"
android:text="KELUAR"
android:textColor="#FFFFFF"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</ScrollView>
android:layout_height="wrap_content"
android:inputType="number"
android:text="" />
</LinearLayout>
<Button
android:id="@+id/tombol1"
style="@style/Widget.AppCompat.Button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:layout_marginBottom="8dp"
android:background="@color/colorPrimary"
android:text="PROSES TRANSAKSI"
android:textColor="#ffffff"
android:textStyle="bold" />
<TextView
android:id="@+id/totalbelanja"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="8dp"
android:text="TOTAL BAYAR :"
android:textColor="@color/colorPrimary"
android:textSize="18dp"
android:textStyle="bold" />
<TextView
android:id="@+id/uangkembali"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:text="SISA KEMBALIAN :"
android:textColor="@color/colorPrimary"
android:textSize="18dp"
android:textStyle="bold" />
<TextView
android:id="@+id/bonus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:text="HADIAH"
android:textColor="@color/colorPrimary"
android:textSize="18dp"
android:textStyle="bold" />
<TextView
android:id="@+id/keterangan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:text="KETERANGAN"
android:textColor="@color/colorPrimary"
android:textSize="18dp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:gravity="center"
android:orientation="horizontal">
<Button
android:id="@+id/tombol2"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="?attr/colorError"
android:text="RESET DATA"
android:textColor="#ffffFF"
android:textStyle="bold" />
<Button
android:id="@+id/tombol3"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:background="?attr/colorError"
android:text="KELUAR"
android:textColor="#FFFFFF"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</ScrollView>
Pada kodingan FormActivity.java adalah :
package com.zakaria.kasirtokobaju;
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.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private EditText edtnamapel, edtnamabar, edtjumlahbel, edtharga, edtuangbay;
private Button btnproses;
private Button btnhapus;
private Button btnexit;
private TextView txtnamapel;
private TextView txtnamabar;
private TextView txtjumlahbel;
private TextView txtharga;
private TextView txtuangbay;
private TextView txtbonus;
private TextView txttotalbelanja;
private TextView txtuangkembali;
private TextView txtketerangan;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setTitle("Toko
Busana Zakaria");
edtnamapel = (EditText) findViewById(R.id.namapelanggan);
edtnamabar = (EditText) findViewById(R.id.namabarang);
edtjumlahbel = (EditText) findViewById(R.id.jumlahbeli);
edtharga = (EditText) findViewById(R.id.harga);
edtuangbay = (EditText) findViewById(R.id.uangbayar);
btnproses = (Button) findViewById(R.id.tombol1);
btnhapus = (Button) findViewById(R.id.tombol2);
btnexit = (Button) findViewById(R.id.tombol3);
txtnamapel = (TextView) findViewById(R.id.namapelanggan);
txtnamabar = (TextView) findViewById(R.id.namabarang);
txtjumlahbel = (TextView) findViewById(R.id.jumlahbeli);
txtharga = (TextView) findViewById(R.id.harga);
txtuangbay = (TextView) findViewById(R.id.uangbayar);
txtbonus = (TextView) findViewById(R.id.bonus);
txttotalbelanja = (TextView) findViewById(R.id.totalbelanja);
txtuangkembali = (TextView) findViewById(R.id.uangkembali);
txtketerangan = (TextView) findViewById(R.id.keterangan);
//memberikan action pada tombol proses
btnproses.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String namapelanggan = edtnamapel.getText().toString().trim();
String namabarang = edtnamabar.getText().toString().trim();
String
jumlahbeli = edtjumlahbel.getText().toString().trim();
String harga = edtharga.getText().toString().trim();
String uangbayar = edtuangbay.getText().toString().trim();
double jb = Double.parseDouble(jumlahbeli);
double h = Double.parseDouble(harga);
double ub = Double.parseDouble(uangbayar);
double total = (jb * h);
txttotalbelanja.setText("Total Belanja : "
+ total);
//pemberian if dan else untuk aturan pemberian bonus
if (total >=1000000){
txtbonus.setText("Bonus : Tshirt");
} else if (total >=50000){
txtbonus.setText("Bonus : Pin
Gloss");
} else if (total >=40000){
txtbonus.setText("Bonus : Gantungan
Kunci");
} else {
txtbonus.setText("Bonus : Tidak Ada
Bonus");
}
double uangkembalian = (ub - total);
if (ub < total){
txtketerangan.setText("Keterangan : uang
bayar kurang Rp " + (-uangkembalian));
txtuangkembali.setText("Uang Kembali : Rp
0" );
}else{
txtketerangan.setText("Keterangan : Tunggu
Kembalian");
txtuangkembali.setText("Uang Kembali : " + uangkembalian);
}
//memberikan action pada tombol reset data
}
});
btnhapus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
txtnamapel.setText(" ");
txtnamabar.setText(" ");
txttotalbelanja.setText(" Total Belanja : Rp
0");
txtharga.setText(" ");
txtuangbay.setText(" ");
txtuangkembali.setText("Uang Kembali : Rp
0");
txtbonus.setText("Bonus : - ");
txtjumlahbel.setText(" ");
txtketerangan.setText("Keterangan : - ");
Toast.makeText(getApplicationContext(),"Data sudah direset", Toast.LENGTH_LONG).show();
// memberikan action pada tombol keluar
}
});
btnexit.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
moveTaskToBack(true);
}
});
}
}
Penjelasan kode if dan else untuk
pemberian hadiah :
- Jika belanja lebih dari atau sama dengan 100.000
diberikan hadiah Tshirt
- Jika belanja lebih dari atau sama dengan 50.000
diberikan hadiah Pin Gloss
- Jika belanja lebih dari atau sama dengan 40.000
diberikan bonus Gantungan kunci
E. Running Aplikasi
Jika sudah tidak ada error pada kodingan
java di FormActivity.java. Terakhir adalah running project menggunakan emulator
smartphone.
2 Comment for "Aplikasi Kasir Penjualan Baju Menggunakan Eclipes Android"
Hai semua...
Bagi teman-teman yang sedang belajar bahasa Java, boleh coba menyimak software pertokoan "MiniMart" yg saya buat.
Softwarenya gratis sepenuhnya kok dan bersifat full open-source, teman-teman dapat menggunakan software ini utk belajar koding & pemrograman ataupun dipakai di usaha tokonya sendiri.
Bagi teman-teman yang berminat, silahkan download software-nya di sini :
https://helloyud.blogspot.com/2016/12/aplikasi-pertokoan-minimart.html
Silahkan juga membagikan / mem-posting ulang software ini di blog ataupun akun-akun media sosial yang teman-teman miliki, siapa tahu bisa bermanfaat bagi banyak orang.
min kalau cara ditambahin menu input barang jualan di aplikasinya bisa ?