MOBILE PROGRAMMING (UAS)
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
-listview.java code
-listvew.xml code
- Tampilan aplikasi
-android.support.Design.28.0.0
MainActivity.java Log in
package com.unpam.irinyudhiana161011400089;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void confirm(View view){
Intent intent=new Intent(MainActivity.this,listview.class);
startActivity(intent);
}
}
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void confirm(View view){
Intent intent=new Intent(MainActivity.this,listview.class);
startActivity(intent);
}
}
MainActivity XML Log in
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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"
android:background="@drawable/login"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity"
android:padding="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="PESAN MAKANAN"
android:textSize="35dp"
android:gravity="center"
android:textStyle="bold"
android:layout_marginBottom="90dp"
android:textColor="#CC2929"/>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
app:errorEnabled="true"
>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:inputType="textEmailAddress"
android:layout_marginTop="10dp"
android:textSize="20sp"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
app:errorEnabled="true"
app:passwordToggleEnabled="true"
>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textPassword"
android:layout_marginTop="10dp"
android:textSize="20sp"/>
</android.support.design.widget.TextInputLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Log In"
android:layout_marginTop="20sp"
android:background="@drawable/button"
android:onClick="confirm"/>
</LinearLayout>
package com.unpam.irinyudhiana161011400089;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class listview extends AppCompatActivity {
ListView lv;
String [] Menu={"Favorite Menu","Recomended Menu","New Menu","Best Seller Menu"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listview);
lv=(ListView)findViewById(R.id.listvw);
ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_single_choice, Menu);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int itemke, long arg3) {
String itemText=(String)lv.getItemAtPosition(itemke);
Toast.makeText(getBaseContext(),"Anda Memilih "+ itemText, Toast.LENGTH_LONG).show();
if(itemText.equals("Favorite Menu")){
Intent intent=new Intent(arg0.getContext(),Favmenu.class);
startActivityForResult(intent,0);
}
}
});
}
}
ListView.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"
android:background="@drawable/login"
tools:context=".listview">
<ListView
android:id="@+id/listvw"
android:layout_width="395dp"
android:layout_height="715dp"
tools:layout_editor_absoluteX="8dp"
tools:layout_editor_absoluteY="8dp" />
</android.support.constraint.ConstraintLayout>
MainActivity XML Pemesanan
<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/login"
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="match_parent"
android:layout_height="wrap_content"
android:text="FAVORITE MENU"
android:gravity="center"
android:textSize="40dp"
android:textColor="#CC2929"
android:textStyle="bold"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama"
android:layout_marginTop="20sp"
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"/>
<EditText
android:layout_width="wrap_content"
android:id="@+id/pesann"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="Indomie Soto"
android:layout_marginBottom="15dp"
android:textColor="#CC2929"
android:textStyle="bold"
android:textSize="30dp"/>
<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:background="@drawable/button"
android:textSize="30sp"
android:text="+"
android:textColor="@color/txt"
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:textSize="30sp"
android:onClick="decrement"
android:textColor="@color/txt"
android:text="-"
android:background="@drawable/button"
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:background="@drawable/button"
android:textColor="@color/txt"
android:textSize="20sp"
android:text="ORDER"/>
</LinearLayout>
</ScrollView>
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/login"
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="match_parent"
android:layout_height="wrap_content"
android:text="FAVORITE MENU"
android:gravity="center"
android:textSize="40dp"
android:textColor="#CC2929"
android:textStyle="bold"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama"
android:layout_marginTop="20sp"
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"/>
<EditText
android:layout_width="wrap_content"
android:id="@+id/pesann"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="Indomie Soto"
android:layout_marginBottom="15dp"
android:textColor="#CC2929"
android:textStyle="bold"
android:textSize="30dp"/>
<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:background="@drawable/button"
android:textSize="30sp"
android:text="+"
android:textColor="@color/txt"
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:textSize="30sp"
android:onClick="decrement"
android:textColor="@color/txt"
android:text="-"
android:background="@drawable/button"
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:background="@drawable/button"
android:textColor="@color/txt"
android:textSize="20sp"
android:text="ORDER"/>
</LinearLayout>
</ScrollView>
MainActivity.java Pemesanan
package com.unpam.irinyudhiana161011400089;
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;
import static com.unpam.irinyudhiana161011400089.R.id.pesann;
public class Favmenu extends AppCompatActivity {
int quantity=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_favmenu);
}
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 Best Seller :" +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));
}
}
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;
import static com.unpam.irinyudhiana161011400089.R.id.pesann;
public class Favmenu extends AppCompatActivity {
int quantity=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_favmenu);
}
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 Best Seller :" +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 ListView:
Form Pemesanan dan Hasil output:
Sekian
Terimakasih...




