Nama : RONI RAHMANSYAH
NIM
: 161021450204
KELAS : 06TPLE003
TUGAS
UAS
Membuat
Aplikasi Penjualan dengan login Menggunakan Android Studio
1. Buat Project Baru
Buka android studio kemudian buat
sebuah project baru dengan nama project ” Uilogin ” . Jika belum bisa
silahkan pelajari tautan dibawah ini.
2. Library Material Design
Kita akan membuat design UI login
dengan tambahan material design agar tampilan lebih kekinian. Tambahkan kode
berikut pada build.gradle(module.app).
compile 'com.android.support:design:24.2.0'
3. Tambahkan Icon
Tambahkan 3 icon dari android
studio pada drawable dengan cara :
- klik
kanan pada drawable
- pilih
new > pilih image asset
- icon
type > pilih Action bar dan Tab icon
- Name :
user_icon
- Clip
art : ic_circle_black (seperti tampilan pada gambar )
Ulangi langkah diatas dengan menambahkan 2 icon lagi. Dengan
nama icon user_icon dan password (icon
user dan lock) seperti pada gambar diatas.
4. Background Lingkaran
Buat background lingkaran dengan
cara :
- klik
kanan pada drawable
- pilih
New > Drawable Resource File
- pada
file name isikan background_profile
- klik
ok
Masukan kode-kode berikut pada
file background_profile.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="1000dp" />
<solid android:color="#5EAE9E" />
<stroke
android:width="5dip"
android:color="#5EAE9E" />
<padding
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp" />
</shape>
5. Buat Layout
Buka activity_main.xml. Disini kita
akan membuat layout UI login menggunakan kode-kode xml. Layout yang akan
digunakan yaitu : Relative layout dan Linear Layout.
Kita akan membuat layout seperti
gambar berikut :
Penjelasan :
- Layout utama ditandai dengan
box no. 1 adalah Relative Layout. Kode xml yang digunakan :
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#4A9586"
android:orientation="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true">
</RelativeLayout>
- Background putih ditandai
dengan box no. 2 adalah Relative Layout. Kode xml yang digunakan :
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_title"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="70dp"
android:background="#fff"
android:elevation="4dp"
android:orientation="vertical"
android:padding="20dp"
android:id="@+id/relativeLayout">
</RelativeLayout>
- Untuk menempatkan button,
textview dan edit text ditandai dengan box no. 3 adalah Linear Layout :
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="30dp">
</Linear Layout>
6. Tambahkan Widget
Setelah kita mengetahui layout apa
saja yang dibutuhkan.
Perhatikan gambar
diatas, kita perlu menambahkan beberapa komponen widget :
- TextView : untuk membuat login
& forgot password.
- EditText : untuk membuat username
& password
- TextInputLayout : widget dari
material design yang diletakan sebelum EditText
- Button : untuk membuat
tombol sign in
- ImageButton : untuk
membuat lingkaran icon user profile
Langsung saja kode
lengkapnya digabungkan dengan layout yaitu :
<?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:background="#4A9586"
android:orientation="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_title"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="70dp"
android:background="#fff"
android:elevation="4dp"
android:orientation="vertical"
android:padding="20dp"
android:id="@+id/relativeLayout">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="30dp">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/username"
android:hint="User Name"
android:inputType="textEmailAddress" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:drawableLeft="@drawable/password"
android:hint="Password"
android:inputType="numberPassword" />
</android.support.design.widget.TextInputLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:paddingTop="5dp"
android:text="Forgot Password?" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="22dp"
android:background="#d67601"
android:text="Sign in"
android:textAllCaps="false"
android:textColor="#fff"
android:textSize="18sp"
/>
</LinearLayout>
</RelativeLayout>
<ImageButton
android:id="@+id/user_profile_photo"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_below="@+id/login_title"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:background="@drawable/background_profile"
android:elevation="4dp"
android:src="@drawable/user_icon"
/>
<TextView
android:id="@+id/login_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="26dp"
android:gravity="center_horizontal"
android:text="Login "
android:textColor="#fff"
android:textSize="26sp"
android:textStyle="bold"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
7. Running Aplikasi
Jika sudah tidak ada error silahkan
running melalui android virtual device (AVD), emulator genymotion,
atau langsung ke smartphone android yang
kamu punya.
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








