Membuat Project Menu Android


Pada project Android ini kita akan membuat Menu, contoh kasusnya adalah perhitungan Bujursangkar kita akan membuat tiga menu yaitu:
  1. Menu1 : Masukkan sisi Bujursangkar  (menu ini mencari Luas dan Keliling).
  2. Menu2 : Masukkan Luas Bujursangkar (menu ini mencari Sisi dan Keliling).
  3. Menu3 : Masukkan Keliling Bujursangkar (menu ini mencari Sisi dan Luas). 
Hasil yang diharapakan dari project ini sebagai berikut:

http://wahcilik.blogspot.com/2016/04/membuat-project-menu-android.html


Tampilan awal project : Gambar bangun datar Bujursangakar dan rumus – rumusnya


http://wahcilik.blogspot.com/2016/04/membuat-project-menu-android.html

Tampilan jika menekan tombol Menu, ada tiga menu pilihan.

http://wahcilik.blogspot.com/2016/04/membuat-project-menu-android.html

Menu 1 : Masukkan sisi Bujursangkar  (menu ini mencari Luas dan Keliling).

http://wahcilik.blogspot.com/2016/04/membuat-project-menu-android.html

Menu2 : Masukkan Luas Bujursangkar (menu ini mencari Sisi dan Keliling)


http://wahcilik.blogspot.com/2016/04/membuat-project-menu-android.html


Menu3 : Masukkan Keliling Bujursangkar (menu ini mencari Sisi dan Luas)

Langkah – langkah membuat project :

1. Membuat file Strings.xml


<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">MenuBujursangkar</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="MenuUtama">Bangun Datar Bujursangkar</string>

<color name="Biru">#0000FF</color>
<color name="Hijau">#00FF00</color>
<color name="Hitam">#000000</color>
<color name="Kuning">#FFFF00</color>
<color name="Magenta">#FF00FF</color>
<color name="Merah">#FF0000</color>
<color name="Putih">#FFFFFF</color>
<color name="Slan">#00FFFF</color>
<string name="MU_Luas">Luas = S x S</string>
<string name="MU_Keliling">Keliling = 4 S</string>
<string name="MU_S1">Sisi = Keliling / 4</string>
<string name="MU_Keliling2">Keliling = 4 √ Luas</string>
<string name="MU_luas2">Luas = ( Keliling x Keliling ) /16</string>
<string name="MU_S2">Sisi = √ Luas</string>
<string name="inputsisi">Masukkan sisi Bujursangkar:</string>
<string name="inputluas">Masukkan Luas Bujursangkar:</string>
<string name="inputkeliling">Masukkan Keliling Bujursangkar:</string>
</resources>


2. Membuat layout, kita akan buat empat layout.
  • Layout 1 : bujur_sangkar.xml
  • Layout 2 : sisi.xml
  • Layout 3 : luas.xml
  • Layout 4 : keliling.xml
Layout 1 : bujur_sangkar.xml

<RelativeLayout 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: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="com.wahyudin.menubujursangkar.BujurSangkar" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/MenuUtama"
android:textColor="@color/Biru" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imageView1"
android:layout_below="@+id/imageView1"
android:layout_marginTop="27dp"
android:text="@string/MU_Luas"
android:textColor="@color/Merah" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView2"
android:layout_marginTop="16dp"
android:text="@string/MU_Keliling"
android:textColor="@color/Merah" />

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_below="@+id/textView3"
android:layout_marginTop="18dp"
android:text="@string/MU_S1"
android:textColor="@color/Merah" />

<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView4"
android:layout_below="@+id/textView4"
android:layout_marginTop="20dp"
android:text="@string/MU_S2"
android:textColor="@color/Merah" />

<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView5"
android:layout_below="@+id/textView5"
android:layout_marginTop="22dp"
android:text="@string/MU_luas2"
android:textColor="@color/Merah" />

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:src="@drawable/bujursangkar" />

<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView6"
android:layout_below="@+id/textView6"
android:layout_marginTop="24dp"
android:text="@string/MU_Keliling2"
android:textColor="@color/Merah" />

</RelativeLayout>

Layout 2 : sisi.xml



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/nama_proyek"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/inputsisi"
android:textColor="@color/Biru"
android:textSize="@dimen/abc_text_size_headline_material" />

<EditText
android:id="@+id/sisi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/nama_proyek"
android:layout_below="@+id/nama_proyek"
android:layout_marginTop="26dp"
android:ems="10"
android:inputType="numberSigned" />

<Button
android:id="@+id/proses"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="18dp"
android:text="Proses" />

<TextView
android:id="@+id/hasil"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="43dp"
android:textColor="@color/Merah" />

</LinearLayout>

Layout 3 : luas.xml



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/nama_proyek"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/inputluas"
android:textColor="@color/Biru"
android:textSize="@dimen/abc_text_size_medium_material" />

<EditText
android:id="@+id/sisi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/nama_proyek"
android:layout_below="@+id/nama_proyek"
android:layout_marginTop="26dp"
android:ems="10"
android:inputType="numberSigned" />

<Button
android:id="@+id/proses"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="18dp"
android:text="Proses" />

<TextView
android:id="@+id/hasil"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="43dp"
android:textColor="@color/Merah" />

</LinearLayout>

Layout 4 : keliling.xml



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/nama_proyek"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/inputkeliling"
android:textColor="@color/Biru"
android:textSize="@dimen/abc_text_size_medium_material" />

<EditText
android:id="@+id/sisi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/nama_proyek"
android:layout_below="@+id/nama_proyek"
android:layout_marginTop="26dp"
android:ems="10"
android:inputType="numberSigned" />

<Button
android:id="@+id/proses"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="18dp"
android:text="Proses" />

<TextView
android:id="@+id/hasil"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="43dp"
android:textColor="@color/Merah" />

</LinearLayout>


3.  Membuat item menu : bujur_sangkar.xml

<menu 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"
tools:context="com.wahyudin.menubujursangkar.BujurSangkar" >

<item
android:id="@+id/InputSisi"
android:title="@string/inputsisi" />
<item
android:id="@+id/InputLuas"
android:title="@string/inputluas" />
<item
android:id="@+id/InputKeliling"
android:title="@string/inputkeliling" />
</menu>

4. Membuat coding java, akan kita buat empat class java.
  • Class BujurSangkar.java :  awal project dengan layout bujur_sangkar.xml
  • Class InputSisi.java : menu masukkan sisi bujursangkar dengan layout sisi.xml
  • Class InputLuas.java : menu masukkan luas bujursangkar dengan layout luas.xml
  • Class InputKeliling.java : menu masukkan keliling dengan layout keliling.xml
Class BujurSangkar.java

package com.wahyudin.menubujursangkar;
import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class BujurSangkar extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.bujur_sangkar);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.bujur_sangkar, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
       
        Toast.makeText(getApplicationContext(),    item.getTitle() + " selected", Toast.LENGTH_SHORT).show();
        Intent i = null;
        switch (item.getItemId()) {
            case R.id.InputSisi:
                i = new    Intent(this,InputSisi.class);
                startActivity(i);
                break;
            case R.id.InputLuas:          
                i = new    Intent(this,InputLuas.class);
                startActivity(i);
                break;
            case R.id.InputKeliling:
                i = new    Intent(this,InputKeliling.class);
                startActivity(i);
                break;
        }
        return true;
    }
}


Class InputSisi.java

package com.wahyudin.menubujursangkar;
import android.support.v7.app.ActionBarActivity;
//import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class InputSisi extends ActionBarActivity implements OnClickListener {
    TextView Ssisi;
    Button Sproses;
    TextView Shasil;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sisi);       
        Ssisi = (TextView) this.findViewById(R.id.sisi);
        Shasil = (TextView) this.findViewById(R.id.hasil);
        Sproses = (Button) this.findViewById(R.id.proses);
        Sproses.setOnClickListener(this);              
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.bujur_sangkar, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
       
        Toast.makeText(getApplicationContext(),    item.getTitle() + " selected", Toast.LENGTH_SHORT).show();
        Intent i = null;
        switch (item.getItemId()) {
            case R.id.InputSisi:
                i = new    Intent(this,InputSisi.class);                startActivity(i);
                break;
            case R.id.InputLuas:
                i = new    Intent(this,InputLuas.class);                startActivity(i);
                break;
            case R.id.InputKeliling:
                i = new    Intent(this,InputKeliling.class);                startActivity(i);
                break;       
        }
        return true;   
    }

    @Override
    public void onClick(View v) {
        double Dluas, Dkeliling, Dsisi;                Dsisi = Double.parseDouble(Ssisi.getText().toString());
        Dluas = Dsisi * Dsisi;
        Dkeliling = 4 * Dsisi;
        String Cetak="";
        Cetak += "Diketahui sisi bujursangkar = "+Dsisi+"\n\n";
        Cetak += "Luas Bujursangkar = "+Dsisi+" x "+Dsisi+" = "+Dluas+"\n\n";
        Cetak += "Keliling Bujursangkar = "+Dsisi+" x 4 = "+Dkeliling+"\n";
        Shasil.setText (Cetak);
    }}
Class InputLuas.java

package com.wahyudin.menubujursangkar;

import android.support.v7.app.ActionBarActivity;
//import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class InputLuas extends ActionBarActivity implements OnClickListener {

    TextView Ssisi;
    Button Sproses;
    TextView Shasil;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.luas);
        Ssisi = (TextView) this.findViewById(R.id.sisi);
        Shasil = (TextView) this.findViewById(R.id.hasil);
        Sproses = (Button) this.findViewById(R.id.proses);
        Sproses.setOnClickListener(this);   
    }
   
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.bujur_sangkar, menu);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml. 
        Toast.makeText(getApplicationContext(),    item.getTitle() + " selected", Toast.LENGTH_SHORT).show();
        Intent i = null;
        switch (item.getItemId()) {
            case R.id.InputSisi:
                // do something
                i = new    Intent(this,InputSisi.class);
                startActivity(i);
                break;
            case R.id.InputLuas:
                // do something
                i = new    Intent(this,InputLuas.class);
                startActivity(i);
                break;
            case R.id.InputKeliling:
                // do something
                i = new    Intent(this,InputKeliling.class);
                startActivity(i);
                break;
        }
        return true;
    }
    @Override
    public void onClick(View v) {
        double Dluas, Dkeliling, Dsisi;                Dluas = Double.parseDouble(Ssisi.getText().toString());
        Dsisi = Math.sqrt(Dluas);
        Dkeliling = 4 * Dsisi;
        String Cetak="";
        Cetak += "Diketahui Luas bujursangkar = "+Dluas+"\n\n";
        Cetak += "Sisi Bujursangkar =  √ "+Dluas+" = "+Dsisi+"\n\n";
        Cetak += "Keliling Bujursangkar = "+Dsisi+" x 4 = "+Dkeliling+"\n";
        Shasil.setText (Cetak);
    }
}

Class InputKeliling.java

package com.wahyudin.menubujursangkar;
import android.support.v7.app.ActionBarActivity;
//import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class InputKeliling extends ActionBarActivity implements OnClickListener {
    TextView Ssisi;
    Button Sproses;
    TextView Shasil;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.keliling);
        Ssisi = (TextView) this.findViewById(R.id.sisi);
        Shasil = (TextView) this.findViewById(R.id.hasil);
        Sproses = (Button) this.findViewById(R.id.proses);
        Sproses.setOnClickListener(this); 
    }
   
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.bujur_sangkar, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        Toast.makeText(getApplicationContext(),    item.getTitle() + " selected", Toast.LENGTH_SHORT).show();
        Intent i = null;
        switch (item.getItemId()) {
            case R.id.InputSisi:
                // do something
                i = new    Intent(this,InputSisi.class);
                startActivity(i);
                break;
            case R.id.InputLuas:
                // do something
                i = new    Intent(this,InputLuas.class);
                startActivity(i);
                break;
            case R.id.InputKeliling:
                // do something
                i = new    Intent(this,InputKeliling.class);
                startActivity(i);
                break;
        }
        return true;
    }
   
    @Override
    public void onClick(View v) {
        double Dluas, Dkeliling, Dsisi;
        Dkeliling = Double.parseDouble(Ssisi.getText().toString());
        Dsisi = Dkeliling / 4;
        Dluas = Dsisi * Dsisi;
        String Cetak="";
        Cetak += "Diketahui Keliling bujursangkar = "+Dkeliling+"\n\n";
        Cetak += "Sisi Bujursangkar = "+Dkeliling+" / 4  = "+Dsisi+"\n\n";
        Cetak += "Luas Bujursangkar = "+Dsisi+" x "+Dsisi+" = "+Dluas+"\n";
        Shasil.setText (Cetak); 
    }
}

5. Menambah actifity pada file AndroidManifest.xml

Tambahkan skrip berikut ini : 
<activity android:name=".InputSisi"></activity>
<activity android:name=".InputLuas"></activity>
<activity android:name=".InputKeliling"></activity>

file AndroidManifest.xml  (sudah ditambah actifity):

xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.wahyudin.menubujursangkar"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".BujurSangkar"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".InputSisi"></activity>
<activity android:name=".InputLuas"></activity>
<activity android:name=".InputKeliling"></activity>
</application>

</manifest>


oooO Semoga Bermanfaat Oooo