Project Mobile Programming | UTS_06TPLP003

Assalamu’alaikum Wr.Wb

         Di tutorial saya kali ini, saya akan mencoba membuat project tentang mobile programming dengan software android studio "cara membuat aplikasi Digital Shop berbasis android. Didalam aplikasi digital shop saya terdapat form login, tampilan welcome, menu tabhost, dan exit.

Tanpa basa basi langsung saja kita lakukan langkah - langkah pembuatannya >>>
Didalam project saya terdapat 7 Activity.java yaitu :

1. MainActivity.java
2. Welcome.java
3. TabHostActivity.java
4. Menu.java
5. Pesan.java
6. CostumListAdapter.java
7. Exit.java

Dan terdapat 7 Activity.xml yaitu :

1. activity_main.xml
2. activity_welcome.xml
3. activity_tab_host.xml
4. activity_menu.xml
5. activity_pesan.xml
6. activity_list.xml
7. activity_exit.xml

Langkah pertama mari kita buat dulu designnya, berikut dibawah ini code XML untuk designnya

A.) Activity.xml

      1. activity_main.xml
<?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_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="50dp"
    android:paddingLeft="50dp"
    android:paddingRight="50dp"
    android:paddingTop="50dp"
    tools:context=".MainActivity">

    <TextView
        android:text="Login Form"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:id="@+id/textView"
        android:textAlignment="center"
        android:textSize="30sp"
        android:textStyle="normal|bold" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:id="@+id/username"
        android:hint="Username"
        android:layout_below="@+id/textView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="37dp" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        android:ems="10"
        android:layout_below="@+id/username"
        android:layout_alignParentLeft="true"
        android:id="@+id/password"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:hint="Password" />

    <Button
        android:text="Log In"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/password"
        android:layout_centerHorizontal="true"
        android:id="@+id/btnLogin" />

</RelativeLayout>

XML Graphic : 

      2. activity_welcome.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Welcome">

    <Button
        android:id="@+id/btnMenu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="92dp"
        android:layout_marginLeft="92dp"
        android:layout_marginTop="75dp"
        android:text="MENU"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/menuLagi3" />

    <TextView
        android:id="@+id/menuItem"
        android:layout_width="353dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="24dp"
        android:text="Welcome To Digital Shop"
        android:textStyle="bold"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#0049FF"
        android:textSize="35sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/menuLagi"
        android:layout_width="343dp"
        android:layout_height="42dp"
        android:layout_marginStart="16dp"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="32dp"
        android:text="Hello Pelanggan yang terhormat,"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#FF5722"
        android:textSize="20sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/menuItem" />

    <TextView
        android:id="@+id/menuLagi2"
        android:layout_width="343dp"
        android:layout_height="61dp"
        android:layout_marginStart="16dp"
        android:layout_marginLeft="16dp"
        android:text="silahkan lihat produk - produk digital shop berserta harganya disini,"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#B222FF"
        android:textSize="20sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/menuLagi" />

    <TextView
        android:id="@+id/menuLagi3"
        android:layout_width="343dp"
        android:layout_height="55dp"
        android:layout_marginStart="16dp"
        android:layout_marginLeft="16dp"
        android:text="Beli produknya sekarang juga, SEGERA!... stock terbatas!"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#03A9F4"
        android:textSize="20sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/menuLagi2" />

    <TextView
        android:id="@+id/menuLagi4"
        android:layout_width="343dp"
        android:layout_height="55dp"
        android:layout_marginStart="16dp"
        android:layout_marginLeft="16dp"
        android:text="silahkan klik tombol menu dibawah ini >>>>>"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#E91E63"
        android:textSize="20sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/menuLagi3" />

</android.support.constraint.ConstraintLayout>

XML Graphic : 


      3. activity_tab_host.xml
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom" />

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="bottom" />

    </LinearLayout>
</TabHost>

XML Graphic :  


      4. activity_menu.xml
<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Menu">

    <ListView
        android:id="@+id/mobilelist"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

XML Graphic : 

      5. activity_pesan.xml
<?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=".Pesan">

    <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:id="@+id/namapelanggan"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Nama lengkap"
                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="Nama Produk :  "
                android:textColor="@color/colorPrimary"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/namabarang"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Produk"
                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:textColor="@color/colorPrimary"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/jumlahbeli"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Jumlah"
                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:textStyle="bold"
                android:textColor="@color/colorPrimary"/>

            <EditText
                android:id="@+id/harga"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="8dp"
                android:hint="Harga"
                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="Uang Bayar : Rp  "
                android:textColor="@color/colorPrimary"
                android:textStyle="bold" />

            <EditText
                android:id="@+id/uangbayar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Uang tunai"
                android:inputType="number"
                android:text="" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <RadioGroup
                android:id="@+id/RadioGroup"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1">

                <RadioButton
                    android:id="@+id/rb1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="New" />

                <RadioButton
                    android:id="@+id/rb2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Second" />
            </RadioGroup>

        </LinearLayout>

        <Button
            android:id="@+id/tombol1"
            android:layout_width="157dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:layout_marginBottom="8dp"
            android:background="@color/colorAccent"
            android:text="PROSES"
            android:textColor="#ffffff"
            android:textStyle="bold" />

        <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:id="@+id/tombol2"
                android:layout_width="124dp"
                android:layout_height="wrap_content"
                android:background="@color/colorAccent"
                android:text="RESET"
                android:textColor="#ffffFF"
                android:textStyle="bold" />

            <Button
                android:id="@+id/tombol3"
                android:layout_width="112dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:background="@color/colorAccent"
                android:text="KELUAR"
                android:textColor="#FFFFFF"
                android:textStyle="bold" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>

XML Graphic : 


      6. activity_list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="75dp"
        android:layout_height="75dp"
        android:layout_marginBottom="1dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="1dp"
        android:src="@mipmap/ic_launcher" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:id="@+id/menuItem"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp"
            android:text="Medium Text"
            android:textColor="#0049FF"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="30sp" />

        <TextView
            android:id="@+id/menuLagi"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp"
            android:text="Large text"
            android:textColor="#333D27"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="20sp" />

    </LinearLayout>

</LinearLayout>

XML Graphic : 


      7. activity_exit.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Exit">

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:id="@+id/menuItem"
            android:layout_width="317dp"
            android:layout_height="225dp"
            android:layout_marginStart="28dp"
            android:layout_marginLeft="28dp"
            android:layout_marginTop="48dp"
            android:text="Terimakasih sudah berkunjung di DIGITAL SHOP, Anda puas saya senang, See You Again... :)"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#0049FF"
            android:textSize="30sp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="271dp"
            android:layout_height="156dp"
            android:layout_marginStart="48dp"
            android:layout_marginLeft="48dp"
            android:layout_marginTop="24dp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/menuItem"
            app:srcCompat="@drawable/logo" />

        <Button
            android:id="@+id/btnbck"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Back To Form Login" />

    </LinearLayout>

</android.support.constraint.ConstraintLayout>

XML Graphic : 


B.) Activity.java

1. MainActivity.java
package com.example.project_uts;

import android.content.Intent;
import android.support.v7.app.AlertDialog;
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.Toast;


public class MainActivity extends AppCompatActivity {
    EditText username, password;
    Button btnLogin;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getSupportActionBar().setTitle("Form Login");
        username = (EditText) findViewById(R.id.username);
        password = (EditText) findViewById(R.id.password);
        btnLogin = (Button)findViewById(R.id.btnLogin);
        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                String usernameKey = username.getText().toString();
                String passwordKey = password.getText().toString();

                if (usernameKey.equals("Tulus") && passwordKey.equals("062")){
                    Toast.makeText(getApplicationContext(), "LOGIN SUKSES",
                            Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(MainActivity.this, Welcome.class);
                    MainActivity.this.startActivity(intent);
                    finish();
                }else {
                    //jika login gagal
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setMessage("Username atau Password Anda salah!")
                            .setNegativeButton("Retry", null).create().show();
                }
            }

        });
    }
}

2. Welcome.java
package com.example.project_uts;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.content.Intent;

public class Welcome extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_welcome);
        getSupportActionBar().setTitle("DIGITAL_SHOP");

        Button btn = (Button) findViewById(R.id.btnMenu);
        btn.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v){
                Intent intent  = new Intent(Welcome.this,TabHostActivity.class);
                Welcome.this.startActivity(intent);
                finish();
            }
        });
    }
}

3. TabHostActivity.java
package com.example.project_uts;

import android.os.Bundle;
import android.app.TabActivity;
import android.content.Intent;
import android.widget.TabHost;

@SuppressWarnings("deprecation")
public class TabHostActivity extends TabActivity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tab_host);

        TabHost tabhost = getTabHost();
        TabHost.TabSpec spec;
        Intent intent;

        intent = new Intent().setClass(this, Menu.class);
        spec = tabhost.newTabSpec("katalog").setIndicator("KATALOG",null).setContent(intent);
        tabhost.addTab(spec);//untuk membuat tabbaru disini bisa diatur sesuai keinginan anda

        intent = new Intent().setClass(this, Pesan.class);
        spec = tabhost.newTabSpec("pesan").setIndicator("PESAN",null).setContent(intent);
        tabhost.addTab(spec);
    }
}

4. Menu.java
package com.example.project_uts;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

public class Menu extends AppCompatActivity {

    String[] menuItem = {"ASUS ROG Strix GL503", "OPPO A7", "Acer Nitro 5", "Samsung Galaxy M20", "ASUS VivoBook Max X441NA", "Vivo V11", "ASUS X455LA", "Vivo Y91", "Lenovo Ideapad 320"};
    Integer[] menuImage = {
            R.drawable.logo1,
            R.drawable.logo2,
            R.drawable.logo3,
            R.drawable.logo4,
            R.drawable.logo5,
            R.drawable.logo6,
            R.drawable.logo7,
            R.drawable.logo8,
            R.drawable.logo9};

    String[] menuLagi = {"Rp 14.299.000", "Rp 2.445.000", "Rp 7.199.000", "Rp 2.175.000",
            "Rp 3.538.300", "Rp 2.959.000", "Rp 4.747.500", "Rp 1.620.000",
            "Rp 3.600.000"};

    ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);
        getSupportActionBar().setTitle("Nama Produk & Harga");

        CostumListAdapter adapter = new CostumListAdapter(this, menuItem, menuImage, menuLagi);
        listView = (ListView)findViewById(R.id.mobilelist);
        listView.setAdapter(adapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int menuItem, long id) {
                Toast.makeText(getApplicationContext(), "Anda mengklik produk ke : " + menuItem, Toast.LENGTH_LONG).show();
            }
        });
    }
}

5. Pesan.java
package com.example.project_uts;

import android.content.Intent;
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.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

public class Pesan extends AppCompatActivity {

    RadioButton RB0;
    RadioButton RB1;
    RadioGroup RG;

    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_pesan);
        getSupportActionBar().setTitle("Order Now");

        RB0 =(RadioButton) findViewById(R.id.rb1);
        RB1=(RadioButton) findViewById(R.id.rb2);
        RG=(RadioGroup) findViewById(R.id.RadioGroup);
        RG.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup  group, int checkedId) {
                switch(checkedId){
                    case R.id.rb1:
                        Toast.makeText(getBaseContext(), "Anda Memilih barang dengan kondisi :"+RB0.getText().toString(),Toast.LENGTH_LONG).show();
                        break;

                    case R.id.rb2:
                        Toast.makeText(getBaseContext(), "Anda Memilih barang dengan kondisi :"+RB1.getText().toString(),Toast.LENGTH_LONG).show();
                        break;
                }
            }
        }) ;

        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);

        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);

                if (total >=200000){
                    txtbonus.setText("Bonus : Motor");
                } else if (total >=50000){
                    txtbonus.setText("Bonus : Mobil");
                } else  if (total >=40000){
                    txtbonus.setText("Bonus : Rumah");
                } 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);
                }
            }
        });
        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();
            }
        });
        btnexit.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent(Pesan.this, Exit.class);
                Pesan.this.startActivity(intent);
                finish();
                moveTaskToBack(true);
            }
        });
    }
}

6. CostumListAdapter.java
package com.example.project_uts;

import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
/** * Created by Tulus 2019. */public class CostumListAdapter extends ArrayAdapter<String>{
    private final Activity context;
    private final String[] menuItem;
    private final String[] menuLagi;
    private final Integer[] menuGambar;

    public CostumListAdapter(Activity context, String[] menuItem, Integer[] menuGambar, String[] menuLagi) {
        super(context, R.layout.activity_list, menuItem);
        this.context = context;
        this.menuItem = menuItem;
        this.menuGambar = menuGambar;
        this.menuLagi = menuLagi;
    }
    public View getView(int position, View view, ViewGroup parent){
        LayoutInflater inflater = context.getLayoutInflater();
        View rowView = inflater.inflate(R.layout.activity_list, null, true);
        TextView textMenu = (TextView)rowView.findViewById(R.id.menuItem);
        TextView textLagi = (TextView)rowView.findViewById(R.id.menuLagi);
        ImageView imgMenu = (ImageView)rowView.findViewById(R.id.imageView);
        textMenu.setText(menuItem[position]);
        textLagi.setText(menuLagi[position]);
        imgMenu.setImageResource(menuGambar[position]);
        return rowView;
    }
}

7. Exit.java
package com.example.project_uts;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Exit extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_exit);
        getSupportActionBar().setTitle("DIGITAL_SHOPE");
        Button btnbck = (Button) findViewById(R.id.btnbck);
        btnbck.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v){
                Intent intent  = new Intent(Exit.this,MainActivity.class);
                Exit.this.startActivity(intent);
                finish();
            }
        });
    }
}

Setelah codingannya selesai semua, mari kita RUN dan lihat hasil designnya dan lakukan proses - prosesnya. 
note: Saya menjalankan aplikasi ini menggunakan gadget android langsung.

1. Form login (Username :Tulus || Password: 062)

    - Proses pertama yang dapat dilakukan diapliksi digital shop yang saya buat ini, yaitu melakukan login input username dan password, setelah diinput langsung klik log in, jika username atau password salah maka akan muncul dialog username atau password anda salah!

login gagal


2. Masuk ketampilan welcome
    - LOGIN SUKSES

3. Masuk ke menu TabHost (Katalog)
    - Dimenu katalog kita bisa lihat gambar, nama produk dan harga.


4. Menu TabHost (Pesan)
    - Disini saya membuat 2 pilihan kondisi produk new dan second, menggunakan radiogroup & radiobutton
    - Apabila diklik salah satunya maka akan muncul toast seperti contoh dibawah ini.

Lalu klik tombol proses, dan langsung terlihat total belanja dll.
Setelah itu klik tombol reset, dan tampilan akan muncul seperti dibawah ini.


5. Exit
- Ditampilan exit kita bisa masuk ke form login lagi dengan mengklik tombol back to form login, atau langsung close aplikasinya jika ingin keluar dari aplikasi digital shop.


Sekian hanya itu saja tutorial yang bisa saya berikan, project ini dibuat yang bertujuan untuk pengambilan nilai UTS mata kuliah mobile programming.

Mohon maaf bila masih ada kekurangan diblog pribadi milik saya ini, selamat mencoba. ^_^

Sekian dan terimakasih.

Wassalamu'alaikum Wr.Wb

Komentar

Postingan Populer