Rabu, 07 Januari 2015

Membuat aplikasi penghitung diskon android di Eclipse

Assalamualaikum Wr Wb , Selamat pagi, hari ini saya akan memosting tentang tutorial membuat aplikasi android penghitung diskon di eclipse. Seperti ini tampilan nya :


Yuk kita lihat tutorialnya sebagai berikut ....
  1.  Pertama buka eclipse nya, dengan cara membuat file baru :




2. Jika sudah akan muncul jendela baru lalu isikan seperti di bawah ini, kemudian kita tinggal klik next, sampai akhir.



   3.  Lalu akan muncul project kita, kemudian kita double klik pada mainactivity.java nya.

4. Jika sudah di double klik kemudian pada MainActivity.java kita isikan kode sebagai berikut :
<  langsung copas aja biar cepat >


package com.example.penghitungdiskon;


import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends Activity {
      Button btndiskon,btnexit;
      TextView txtTekan;
      ImageView imageView1;

      @Override
      protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
           
            imageView1=(ImageView)findViewById(R.id.imgTekan);
            registerForContextMenu(imageView1);
           
            btndiskon = (Button)findViewById(R.id.button1);
            btnexit = (Button)findViewById(R.id.btnexit);
           

            btndiskon.setOnClickListener(new View.OnClickListener() {
                 
                  @Override
                  public void onClick(View v) {
                        // TODO Auto-generated method stub
                        Intent intent = new Intent();
                        intent.setClass(getBaseContext(),
                                    DiskonActivity.class);
                       
                        startActivity(intent);
                       
                  }
            });
           
      }
      public void onCreateContextMenu(ContextMenu menu, View x, ContextMenuInfo info){
            super.onCreateContextMenu(menu, x, info);
            createMenu(menu);
      }
     
      public boolean onContextItemSelected(MenuItem item){
            super.onContextItemSelected(item);
            return itemSelected(item);
      }
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
      }
      //membuat menu item
      private void createMenu(Menu menu){
            MenuItem menu1 = menu.add(0,0,0,"Tentang Aplikasi");
            menu1.setAlphabeticShortcut('1');
            menu1.setIcon(android.R.drawable.alert_dark_frame);
           
            MenuItem menu2 = menu.add(0,1,1,"Tentang Kami");
            menu2.setAlphabeticShortcut('2');
            menu2.setIcon(android.R.drawable.alert_light_frame);
           
            /*MenuItem menu3 = menu.add(0,2,2,"Item 3");
            menu3.setAlphabeticShortcut('3');
            menu3.setIcon(android.R.drawable.btn_star);
           
            MenuItem menu4 = menu.add(0,3,3,"Item 4");
            menu4.setAlphabeticShortcut('4');
            menu4.setIcon(android.R.drawable.ic_media_play);*/
      }
     
     
     
      //menentukan action pada setiap menu item
      private boolean itemSelected(MenuItem item){
            switch(item.getItemId()){
                  case 0 :
                        Toast.makeText(getBaseContext(), "Aplikasi Penghitung Diskon Hehehe..!", Toast.LENGTH_SHORT).show();
                        return true;
                 
                  case 1 :
                        Toast.makeText(getBaseContext(), "name1, name2, name3", Toast.LENGTH_SHORT).show();
                        return true;
                       
                        /*case 2 :
                        Toast.makeText(getBaseContext(), "Item 3 dipilih", Toast.LENGTH_SHORT).show();
                        return true;
                       
                  case 3 :
                        Toast.makeText(getBaseContext(), "Item 4 dipilih", Toast.LENGTH_SHORT).show();
                        return true;*/
            }
            return false;
      }
}


5. Disini saya akan memasukkan terlebih dahulu gambar ( dengan format .png ) yang saya akan gunakan sebagai bagroundnya, dengan cara copy gamabar kemudian kita masuk ke res > folder drawable-mdpi > kemudian klik kana dan paste . sehingga gambar sudah masuk ke dalam folder tersebut.


6. Jika sudah kemudian kita akan membuat interface dari MainActivity nya, dengan cara buka terlebih dahulu di res > layout > kemudian pilih activity_main.xml, lalu double klik..
7. Lalu copaskan source code nya sebagai berikut di activity_main.xml nya :

Lalu copy dan pastekan code berikut ini ke dalam activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    //android:background="@drawable/bg2"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/txt3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Aplikasi Penghitung Diskon"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <ImageView
        android:id="@+id/imgTekan"
        android:layout_width="286dp"
        android:layout_height="140dp"
        android:src="@drawable/logo1" />

    <Button
        android:id="@+id/button1"
        android:layout_width="270dp"
        android:layout_height="wrap_content"
        android:text="Hitung Diskon" />

    <Button
        android:id="@+id/btnexit"
        android:layout_width="270dp"
        android:layout_height="wrap_content"
        android:text="Keluar" />

</LinearLayout>


8. Kemudian kita akan membuat sebuah class baru  yang akan digunkan sebagai proses perhitungan diskon, dengan cara :
Klik kanan pada package “com.example.penghitungdiskon” > kemudian pilih new > lalu pilih other.


 9. Kemudian ikuti seperti berikut :


1  10. Dan diskon activity kita sudah jadi, berikutnya kita buka dengan cara double klik DiskonActivity.java nya dan isikasource code sebagai berikut :



*Kode untuk DiskonActivity.javanya (langsung copy dan pastekan)

package com.example.penghitungdiskon;

import java.text.DecimalFormat;
import java.util.ArrayList;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.widget.Toast;

public class DiskonActivity extends Activity {
      ArrayList<String> Diskon, Harga;
      ArrayAdapter<String> adapterDiskon, adapterHarga;
      Spinner spinDiskon;
      EditText editX, editY;
      Button btnHasil, btnHasil1;
      TextView hasilDiskon;
      ImageView imgTekan;

      @Override
      protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_diskon);
            imgTekan=(ImageView)findViewById(R.id.imgTekan);
            registerForContextMenu(imgTekan);

            btnHasil = (Button)findViewById(R.id.button1);
            btnHasil1 = (Button)findViewById(R.id.btnexit);
            editX = (EditText)findViewById(R.id.editText1);
            editY = (EditText)findViewById(R.id.editText2);
            hasilDiskon = (TextView)findViewById(R.id.textView4);
            spinDiskon = (Spinner)findViewById(R.id.spinner1);
           
            spinDiskon = (Spinner)findViewById(R.id.spinner1);
            Harga = new ArrayList<String>();
            Diskon = new ArrayList<String>();
            Diskon.add("==Pilih Diskon==");
            Diskon.add("5");
            Diskon.add("10");
            Diskon.add("15");
            Diskon.add("20");
            Diskon.add("25");
            Diskon.add("30");
            Diskon.add("50");
            Diskon.add("75");
            Diskon.add("80");
            Diskon.add("90");
            Diskon.add("100");
            adapterDiskon = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, Diskon);
            spinDiskon.setAdapter(adapterDiskon);
           
            btnHasil.setOnClickListener(new View.OnClickListener() {
                 
                  @Override
                  public void onClick(View v) {
                        // TODO Auto-generated method stub
                        Double x, y;
                        x = Double.parseDouble(spinDiskon.getSelectedItem().toString());
                        y = Double.parseDouble(editX.getText().toString());
                       
                        DecimalFormat df = new DecimalFormat("000");
                        hasilDiskon.setText(df.format(x*y/100));
                       
                  }
                 
                 
            });
           
            btnHasil1.setOnClickListener(new View.OnClickListener() {
                 
                  @Override
                  public void onClick(View v) {
                        // TODO Auto-generated method stub
                        Double x, y;
                        x = Double.parseDouble(editY.getText().toString());
                        y = Double.parseDouble(editX.getText().toString());
                       
                        DecimalFormat df = new DecimalFormat("000");
                        hasilDiskon.setText(df.format(x*y/100));
                       
                  }
                 
                 
                 
            });
      }
      public void onCreateContextMenu(ContextMenu menu, View x, ContextMenuInfo info){
            super.onCreateContextMenu(menu, x, info);
            createMenu(menu);
      }
      public boolean onContextItemSelected(MenuItem item){
            super.onContextItemSelected(item);
            return itemSelected(item);
      }
     
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.diskon, menu);
            return true;
      }
      //membuat menu item
      private void createMenu(Menu menu){
            MenuItem menu1 = menu.add(0,0,0,"Jumlah Diskon1");
            menu1.setAlphabeticShortcut('1');
            menu1.setIcon(android.R.drawable.alert_dark_frame);
           
            MenuItem menu2 = menu.add(0,1,1,"Jumlah Diskon2");
            menu2.setAlphabeticShortcut('2');
            menu2.setIcon(android.R.drawable.alert_light_frame);
           
            MenuItem menu3 = menu.add(0,2,2,"Hitung Diskon1");
            menu3.setAlphabeticShortcut('3');
            menu3.setIcon(android.R.drawable.btn_star);
           
            MenuItem menu4 = menu.add(0,3,3,"Hitung Diskon2");
            menu4.setAlphabeticShortcut('4');
            menu4.setIcon(android.R.drawable.ic_media_play);
      }
      //menentukan action pada setiap menu item
      private boolean itemSelected(MenuItem item){
            switch(item.getItemId()){
                  case 0 :
                        Toast.makeText(getBaseContext(), "Memilih Diskon yang Sudah Tersedia", Toast.LENGTH_SHORT).show();
                        return true;
                 
                  case 1 :
                        Toast.makeText(getBaseContext(), "Memasukkan Diskon yang Diinginkan", Toast.LENGTH_SHORT).show();
                        return true;
                       
                  case 2 :
                        Toast.makeText(getBaseContext(), "Untuk Menghitung Diskon yang Sudah Tersedia", Toast.LENGTH_SHORT).show();
                        return true;
                       
                  case 3 :
                        Toast.makeText(getBaseContext(), "Untuk Menghitung Diskon yang Diinginkan", Toast.LENGTH_SHORT).show();
                        return true;
            }
            return false;
      }
}


11. Jika sudah kemudian kita copy pastekan lagi untuk coding dari interface dari activity_diskon.xml nya



Lalu pastekan code berikut ke activity_diskon.xml nya
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bg2"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".DiskonActivity" >

    <ImageView
        android:id="@+id/imgTekan"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/logo2" />

    <TextView
        android:id="@+id/txt1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Jumlah Diskon1 :"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/txt2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Jumlah Diskon2 :"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" />

    <TextView
        android:id="@+id/txt3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Harga"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/button1"
        android:layout_width="274dp"
        android:layout_height="wrap_content"
        android:text="Hitung Diskon1" />

    <Button
        android:id="@+id/btnexit"
        android:layout_width="274dp"
        android:layout_height="wrap_content"
        android:text="Hitung Diskon2" />

    <TextView
        android:id="@+id/txt3"
        android:layout_width="270dp"
        android:layout_height="wrap_content"
        android:text="Hasil :"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="disini hasilnya"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>


Keterangan :
Untuk mengganti bagroundnya sesuaikan dengan nama gambar anda...
Sebagai contoh di coding  activity_main.xml saya menggunakan nama gambarnya adalah bg2.
Jadi bg2 dapat diganti dengan nama gambar yang sudah anda pastekan sebelumnya.
android:background="@drawable/bg2"

Lalu tinggal kita save dan jalankan aplikasinyaa,,,selamat mencoba.

















2 komentar:

  1. knapa pas saya copy, banyak tanda silangnya yah bi bagian java nya di muncul R cannot be resolved be varaible, mohon pencerahannya, #nubie nih

    BalasHapus

 
Copyright © 2012. axsaner - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger