Halaman

Aplikasi Kasir Penjualan Baju Menggunakan Eclipes Android

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="" />
      
      </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"
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>

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 ?

Back To Top