Deskripsi Project :
Aplikasi pemesanan makanan seperti kopi tersebut melakukan
pemesanan secara online di android,terdapat form pemesanan kopi, akan membuat aplikasi pemesanan
makanan dalam hal ini pemesanan kopi.
Aplikasi pemesanan kopi yang
akan di buat
sangat simpel. User diharuskan mengisi form :
- Isi nama
- Pilih
tambahkan topping atau tidak
- Tentukan
jumlah pesanan
- Ketika di
klik tombol pesan sekarang akan ditampilkan berapa jumlah yang harus
dibayar
Penjelasan :
- EditText : digunakan untuk
membuat layout isian masukan
nama anda
- TextView
: digunakan
untuk menampilkan teks = tambahkan
topping, harga, dan jumlah.
- Button
: digunakan
untuk membuat tombol pesan
sekarang
- View
: digunakan
untuk membuat pembatas antara harga
dan jumlah
- Checkbox
: digunakan
untuk menambahkan menu krim
dan coklat
- Layout yang
digunakan yaitu : LinearLayout dan ScrollView
Pembuatan Layout
<?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=".MainActivity">
<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="Tambahkan
Topping"
android:textSize="25dp"/>
<CheckBox
android:id="@+id/WhippedCream_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Krim"
android:paddingLeft="16dp"
android:textSize="15sp"/>
<CheckBox
android:id="@+id/Chocolate_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Coklat"
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>
Pengkodingan Java
package badoystudio.com.pemesananmakanan;
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.TextView;
import android.widget.Toast;
import java.text.NumberFormat;
import static android.R.string.no;
import static
android.os.Build.VERSION_CODES.N;
/**
*
This app displays an order form to order coffee.
*/
public class MainActivity 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);
CheckBox whippedcreamChekBox= (CheckBox)
findViewById(R.id.WhippedCream_checkbox);
boolean haswhippedcream=whippedcreamChekBox.isChecked();//mengidentifikasi
check
Log.v("MainActivity","has
whippedcream:"+haswhippedcream);
CheckBox chocolateChekBox= (CheckBox)
findViewById(R.id.Chocolate_checkbox);
boolean haschocolate=chocolateChekBox.isChecked();//mengidentifikasi
check
Log.v("MainActivity","has
whippedcream:"+haschocolate);
int price=calculateprice(haswhippedcream,haschocolate);//memanggil
method jumlah harga
String
pricemessage=createOrderSummary(price,name,haswhippedcream,haschocolate);
displayMessage(pricemessage);
}
private int calculateprice(boolean addwhipedcream,boolean
addchocolate){//jumlah pesanan * harga
int harga=5000;
if(addwhipedcream){
harga=harga+1000;//harga tambahan toping
}
if (addchocolate){
harga=harga+2000;
}
return quantity * harga;
}
private String createOrderSummary(int price, String name, boolean
addChocolate, boolean addWhippedCream) {//hasil pemesanan
String pricemessage=" Nama = "+name;
pricemessage+="\n Tambahkan Coklat =" +addWhippedCream;
pricemessage+="\n Tambahkan Krim =" +addChocolate;
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));
}
}
Penjelasan :
Dari kodingan java yang
dimasukan diatas (coba perhatikan perbarisnya ) akan menemukan bahwa logika
program aplikasi pemesanan makanan yang buat yaitu :
- User bisa
memesan kopi sampai jumlah 100
- Harga kopi
adalah Rp. 5000
- Jika ada
penambahan topping krim dikenakan biaya tambahan Rp. 1000
- Jika ada
penambahan topping coklat dikenakan biaya tambahan Rp. 2000

