Minggu, 24 Maret 2019

Aplikasi pemesanan makanan

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...