Senin, 23 September 2019

PENJUALAN

Nama       : RONI RAHMANSYAH
NIM         : 161021450204
KWLAS  : 06TPLE003


Membuat Aplikasi Penjualan Menggunakan Android Studio

1. Deskripsi Singkat Aplikasi

Kali ini kia akan belajar membuat aplikasi penjualan sederhana menggunakan android studio. Aplikasi nantinya berupa form isian yang terdiri dari :
  • Nama pelanggan
  • Nama barang
  • Jumlah beli
  • Harga
  • Uang bayar

Setelah form diisi maka selanjutnya tekan tombol proses dan akan menampilkan :
  • Total belanja
  • Uang kembali
  • Bonus
  • Keterangan

2. Buat Project Baru

Buka android studio > buat project baru dengan cara klik create new project > beri nama project “penjualan” (disesuaikan)  > tentukan target sdk nya> pilih empty activity > lanjutkan sampai dengan finish. Ukuran device yang saya gunakan pada emulator adalah 5.1 ” WVGA .

3. Buat Layout

Jika workspace android studio sudah terbuka klik activity_main.xml. Disini kita akan membuat layout aplikasi dengan menggunakan Linearlayout dan  beberapa widget :
  • ScrollView
  • TextView
  • Button
  • EditText
Untuk kode-kode xmlnya sebagai berikut :

<?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:padding="30dp"
    android:orientation="vertical"
    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 Pembeli :  "
                android:textStyle="bold"
                android:textColor="@color/colorPrimary"/>
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/namapelanggan"
                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="Judul Ebook :  "
                android:textStyle="bold"
                android:textColor="@color/colorPrimary"/>
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/namabarang"
                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="Jumlah Beli:  "
                android:textStyle="bold"
                android:textColor="@color/colorPrimary"/>
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/jumlahbeli"
                android:text=""
                android:inputType="number"/>
        </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:textStyle="bold"
                android:textColor="@color/colorPrimary"/>
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/harga"
                android:text=""
                android:inputType="number"
                android:layout_marginBottom="8dp" />
        </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="Uang Bayar: Rp  "
                android:textStyle="bold"
                android:textColor="@color/colorPrimary"/>
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/uangbayar"
                android:text=""
                android:inputType="number"/>
        </LinearLayout>
        <Button
            android:layout_marginTop="30dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/tombol1"
            android:text="PROSES"
            android:background="@color/colorAccent"
            android:textStyle="bold"
            android:textColor="#ffffff"
            android:layout_marginBottom="8dp" />
        <TextView
            android:layout_marginTop="20dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Total Belanja "
            android:textColor="@color/colorPrimary"
            android:id="@+id/totalbelanja"
            android:textStyle="bold"
            android:textSize="18dp"
            android:layout_marginBottom="8dp" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Uang Kembali "
            android:textColor="@color/colorPrimary"
            android:id="@+id/uangkembali"
            android:textStyle="bold"
            android:textSize="18dp"
            android:layout_marginBottom="8dp"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Bonus"
            android:textColor="@color/colorPrimary"
            android:id="@+id/bonus"
            android:textStyle="bold"
            android:textSize="18dp"
            android:layout_marginBottom="8dp"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Keterangan "
            android:textColor="@color/colorPrimary"
            android:id="@+id/keterangan"
            android:textStyle="bold"
            android:textSize="18dp"
            android:layout_marginBottom="8dp"/>
        <LinearLayout
            android:layout_marginTop="20dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:orientation="horizontal">
            <Button
                android:layout_width="200dp"
                android:layout_height="wrap_content"
                android:id="@+id/tombol2"
                android:text="RESET DATA"
                android:background="@color/colorAccent"
                android:textStyle="bold"
                android:textColor="#ffffFF"/>
            <Button
                android:layout_width="200dp"
                android:layout_marginLeft="20dp"
                android:layout_height="wrap_content"
                android:id="@+id/tombol3"
                android:text="KELUAR"
                android:background="@color/colorAccent"
                android:textColor="#FFFFFF"
                android:textStyle="bold"/>
        </LinearLayout>
    </LinearLayout>
</ScrollView>

Jika tidak ada error maka layout akan tampil seperti gambar dibawah ini :

4. Berikan kodingan java

Selanjutnya berikan perintah pada textview, button, dan komponen lainnya menggunakan bahasa pemrograman java pada MainActivity.java. Untuk kode-kode lengkapnya seperti dibawah ini, pastikan diletakan dibawah nama package (contoh package badoystudio.com.penjualan; / sesuaikan dengan nama package projectmu).

package badoystudio.com.penjualan;

        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("Badoy Shop");

        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 >=200000){
                    txtbonus.setText("Bonus : Mouse");
                } else if (total >=50000){
                    txtbonus.setText("Bonus : Keyboard");
                } else  if (total >=40000){
                    txtbonus.setText("Bonus : Harddisk");
                } 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 bonus :
  • Jika belanja lebih dari atau sama dengan 200.000 diberikan bonus Mouse
  • Jika belanja lebih dari atau sama dengan 50.000 diberikan bonus Keyboard
  • Jika belanja lebih dari atau sama dengan 40.000 diberikan bonus Harddisk


5. Running Aplikasi

Jika sudah tidak ada error pada kodingan java di MainAcivity.java. Terakhir adalah running project menggunakan emulator atau langsung ke ponsel android yang kamu miliki.

Maka hasilnya jika kita isi formnya akan seperti gambar dibawah ini.


Mungkin ini saja yang bisa saya bagikan, semoga bermanfaat buat diri saya dan juga buat yang membaca.

Best Regards,

Roni Rahmansyah