Badoy Studio

Kali kita akan belajar membuat aplikasi pemesanan makanan di android. Tepatnya kita akan membuat aplikasi pemesanan kopi menggunakan android studio.

Seperti biasa tutorial ini merupakan bagian dari tutorial membuat aplikasi android sederhana. Jadi jangan mengharapkan ditutorial ini kita benar-benar bisa membuat aplikasi pemesanana makanan yang keren.

Intinya tutorial ini dibuat hanya untuk latihan dan mengasah logika pemrograman saja. Setelah itu bisa kawan-kawan kembangkan menjadi aplikasi android yang lebih keren lagi.



Membuat Aplikasi Pemesanan Makanan di Android Studio

Langsung saja kita akan belajar membuat aplikasi pemesanan makanan dalam hal ini pemesanan kopi. Beberapa point yang akan kita pelajari yaitu :

  1. Penjelasan : uraian singkat mengenai aplikasi yang akan dibuat
  2. Pembuatan project baru dengan android studio
  3. Membangun layout aplikasi
  4. Memberikan perintah pada komponen aplikasi
  5. Mengganti nama aplikasi
  6. Menjalankan aplikasi di emulator atau real device

Untuk aplikasi yang sudah running bisa dilihat pada video dibawah ini.

[1] Penjelasan

Aplikasi pemesanan kopi yang akan kita 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

[2] Pembuatan Project Baru

Buat project baru dengan nama Pemesananmakanana atau Pesankopi. 

Membuat aplikasi pemesanan makanan
Membuat project baru

 

Tentukan target SDKnya 

Membuat Aplikasi Pemesanan Makanan di android
Menentukan target SDK

Pelajari disini cara membuat project baru android 

Sangat direkomendasikan : Modul Android Studio Keren dan Lengkap yang Wajib Kamu Punya 

[3] Pembuatan Layout

Jika workspace android studio sudah terbuka selanjutnya adalah klik activity_main.xml. Disini kita akan membuat layout aplikasinya. Tambahkan kode-kode dibawah ini.

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

Baca Juga :


Hasilnya yaitu seperti gambar dibawah ini :

 

Membuat aplikasi pemesanan makanan di android
Pembuatan Layout

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

[4] Pengkodingan Java

Selanjutnya berikan perintah-perintah agar komponen yang sudah kita tambahkan dilayout tadi berfungsi sesuai keinginan kita menggunakan bahasa pemrograman java pada MainActivity.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 ) kita akan menemukan bahwa logika program aplikasi pemesanan makanan yang kita 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

 

Membuat aplikasi pemesanan makanan di android
Ilustrasi penggunaan aplikasi

 

Pelajari disini cara memberikan intent di android

[5] Ganti Nama Aplikasi

Ganti nama aplikasi pada styles.xml String.xml > app namenya ganti menjadi Pesan Kopi 

 

[6] Running Aplikasi

Terakhir jika sudah tidak ada error silahkan running aplikasi pada real device atau menggunakan emulator genymotion. Maka hasilnya adalah :

 

Itulah tutorial membuat aplikasi pemesanan menggunakan android studio. Mudah bukan ? Silahkan praktekan sekarang juga. Jangan lupa share dan komentar. Semoga Bermanfaat.

By Guntoro

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.