MOBILE PROGRAMMING (UTS)
Irin Yudhiana
161011400089
APLIKASI PEMESANAN MAKANAN
Deskripsi
Aplikasi ini dibuat untuk mempermudah pengguna nya untuk memesan makanan,aplikasi ini dibuat secara sederhana oleh aplikasi android studio.
Sebelum masuk ke Aplikasi nya , admin akan diminta untuk login terlebih dahulu. Di dalam aplikasi pemesanan makanan tersebut akan diminta untuk input nama customer , makanan yang akan di pesan , dan setiap pemesanan makanan mendapatkan free 1 topping yaitu ( baso,sozzis, atau Telur ) .
Setelah itu klik Pesan Sekarang , nanti otomatis akan muncul struk beserta harga yang harus dibayar oleh customer .
Desain Activity
Berikut adalah komponen komponen nya :- mainactivity.java code
- activitymain.xml code
- Tampilan aplikasi
MainActivity.java Log in
package com.unpam.mieayam;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.TextView;
import android.content.Intent;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView Menu =(TextView) findViewById(R.id.ButtonSave);
Menu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent a = new Intent(MainActivity.this, menu.class);
startActivity(a);
}
});
}
}
}
MainActivity XML Log in
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="LOGIN"
android:textSize="25dp"
android:textColor="@color/colorPrimary"
android:gravity="center"
android:textStyle="bold"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="email"
android:inputType="textEmailAddress"
android:layout_marginBottom="5dp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textPassword"
android:layout_marginBottom="10dp"/>
<Button
android:id="@+id/ButtonSave"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Masuk"
android:gravity="center"
/>
</LinearLayout>
</RelativeLayout>
MainActivity XML Pemesanan
<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout 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"
android:orientation="vertical"
android:padding="30dp"
tools:context=".menu">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama"
android:textSize="20dp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="Masukan nama anda ...."
android:id="@+id/edt_name"
android:inputType="text"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pesanan"
android:textSize="20dp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="Masukan nama anda ...."
android:id="@+id/pesann"
android:inputType="text"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tambahkan Topping"
android:textSize="25dp"/>
<RadioButton
android:id="@+id/WhippedCream_radiobutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sozzis"
android:paddingLeft="16dp"
android:textSize="15sp"/>
<RadioButton
android:id="@+id/Chocolate_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Telor"
android:paddingLeft="16dp"
android:textSize="15sp"/>
<RadioButton
android:id="@+id/baso"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Baso"
android:paddingLeft="16dp"
android:textSize="15sp"/>
<View
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@color/colorAccent"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="jumlah"
android:textSize="25dp"
android:textAllCaps="true"
android:layout_marginBottom="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:layout_width="48dp"
android:onClick="increment"
android:text="+"
android:layout_height="48dp" />
<TextView
android:textColor="#212121"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:paddingRight="8dp"
android:paddingLeft="8dp"
android:id="@+id/quantity_textview"
android:textSize="25dp"/>
<Button
android:layout_width="48dp"
android:onClick="decrement"
android:text="-"
android:layout_height="48dp" />
</LinearLayout>
<View
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@color/colorAccent"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Harga"
android:textSize="30dp"
android:textAllCaps="true"
android:layout_marginBottom="16dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textColor="#212121"
android:id="@+id/price_textview"
android:textSize="25dp"/>
<Button
android:layout_width="wrap_content"
android:layout_marginBottom="16dp"
android:onClick="Submitorder"
android:layout_height="wrap_content"
android:text="Pesan Sekarang"/>
</LinearLayout>
</ScrollView>
MainActivity.java Pemesanan
package com.unpam.mieayam;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
import java.text.NumberFormat;
import static android.R.string.no;
import static android.os.Build.VERSION_CODES.N;
public class menu extends AppCompatActivity {
int quantity=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void increment(View view){//perintah tombol tambah
if(quantity==100){
Toast.makeText(this,"pesanan maximal 100",Toast.LENGTH_SHORT).show();
return;
}
quantity = quantity+1 ;
display(quantity);
}
public void decrement(View view){//perintah tombol tambah
if (quantity==1){
Toast.makeText(this,"pesanan minimal 1",Toast.LENGTH_SHORT).show();
return;
}
quantity = quantity -1;
display(quantity);
}
public void Submitorder(View view) {
EditText nameEditText=(EditText)findViewById(R.id.edt_name);
String name=nameEditText.getText().toString();
Log.v("MainActivity","Nama:"+name);
EditText pesannEditText=(EditText)findViewById(R.id.pesann);
String pesann=pesannEditText.getText().toString();
Log.v("MainActivity","pesan:"+pesann);
RadioButton whippedcreamChekBox= (RadioButton) findViewById(R.id.WhippedCream_radiobutton);
boolean haswhippedcream=whippedcreamChekBox.isChecked();//mengidentifikasi check
Log.v("MainActivity","has whippedcream:"+haswhippedcream);
RadioButton chocolateChekBox= (RadioButton) findViewById(R.id.Chocolate_checkbox);
boolean haschocolate=chocolateChekBox.isChecked();//mengidentifikasi check
Log.v("MainActivity","has whippedcream:"+haschocolate);
RadioButton Baso= (RadioButton) findViewById(R.id.baso);
boolean hasbaso=Baso.isChecked();//mengidentifikasi check
Log.v("MainActivity","has baso:"+hasbaso);
int price=calculateprice(haswhippedcream,haschocolate,hasbaso);//memanggil method jumlah harga
String pricemessage=createOrderSummary(price,name,pesann,haswhippedcream,haschocolate);
displayMessage(pricemessage);
}
private int calculateprice(boolean addwhipedcream,boolean addchocolate,boolean addbaso){//jumlah pesanan * harga
int harga=5000;
if(addwhipedcream){
harga=harga+1000;//harga tambahan toping
}
if (addchocolate){
harga=harga+2000;
}
if (addbaso){
harga=harga+3000;
}
return quantity * harga;
}
private String createOrderSummary(int price, String name, String pesann, boolean addChocolate, boolean addWhippedCream) {//hasil pemesanan
String pricemessage=" Nama = "+name;
pricemessage+="\n pesanan =" +pesann;
pricemessage+="\n Jumlah Pemesanan =" +quantity;
pricemessage+="\n Total = Rp " +price;
pricemessage+="\n Terimakasih";
return pricemessage;
}
//method ini untuk mencetak hasil perintah yang di tampilkan dengan inisial quantity_textview di textview 0
private void displayMessage(String message) {
TextView priceTextView = (TextView) findViewById(R.id.price_textview);
priceTextView.setText(message);
}
private void display(int number) {
TextView quantityTextView = (TextView) findViewById(R.id.quantity_textview);
quantityTextView.setText("" + number);
}
private void displayPrice(int number) {
TextView priceTextView = (TextView) findViewById(R.id.price_textview);
priceTextView.setText(NumberFormat.getCurrencyInstance().format(number));
}
}
Hasil akan tampil seperti gambar dibawah ini:
Form Log in:
Form pemesanan:
Hasil output pemesanan
Sekian
Terimakasih...
Tidak ada komentar:
Posting Komentar