Sunday, October 6, 2019



Aplikasi hitung luas bidang datar dengan Android Studio
Deskripsi project

dalam project kali ini saya menggunakan Android Studio dimana pada project ini terdapat tampilan splash screen pada awal membuka aplikasi dan selanjutnya kita akan masuk ke form atau halaman login dimana halaman login ini masih menggunakan logika program tanpa menggunakan koneksi database. selanjutnya ketika user memasukan username dan password nya (username”admin”, pass”1234″) kita akan di arahkan ke form atau halaman Home di mana pada halaman ini terdapat 3 menu pilihan. Ketiga menu ini saling terhubung, oke kita langsung saja membuat aplikasinya.

Pertama kita buat splashscreen-nya dahulu, karena kita akan membuat splashscreen dengan gambar berjalan.

copy kodingan ini dan paste-kan pada gradle appimplementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.4'



selanjutnya copy dan paste-kan kodingan dibawah ini ke gradle projectmavenCentral()



dan copy gambar yg ingin kita pakai buat splashscreen seperti gambar dibawah ini.



setelah semua yang diatas sudah kita lakukan, maka kita sudah bisa mengkoding
splashscreennya. buka splashscreen.xml lalu copy paste-kan sources code
di bawah ini.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/
      android:layout_width="
      android:layout_height="
      android:gravity="
      tools:context="com.example.uas.
      <pl.droidsonroids.gif.
            android:layout_width="
            android:layout_height="
            android:src="@drawable/
            android:scaleType = "centerCrop"/>
</LinearLayout>

lalu copy source code ini dan paste-kan di splashscreen.java

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

public class splashscreen extends AppCompatActivity {

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

                /* New Handler to start the Menu-Activity
                * and close this Splash-Screen after some seconds.*/
                int SPLASH_DISPLAY_LENGTH = 5000;
                new Handler().postDelayed(new Runnable(){
                      @Override
                      public void run() {
                             /* Create an Intent that will start the Menu-Activity. */
                             Intent mainIntent = new Intent(splashscreen.this,login.class);
                             splashscreen.this.startActivity(mainIntent);
                             splashscreen.this.finish();
                      }
                }, SPLASH_DISPLAY_LENGTH);
         }

         protected void onPaused(){
              super.onPause();
              finish();
         }
}

tahap pembuatan splashscreen sudah selesai sekarang kita buat form loginnya
buka login.xml lalu copy paste-kan codingan di bawah ini

<?xml version="1.0" encoding="utf-8"?>
<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:layout_margin="16dp">

       <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_alignParentBottom="true"
             android:background="#0091EA"
             tools:ignore="ExtraText">

             <Button
                   android:text="LOGIN"
                   android:textColor="#FFF"
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:layout_alignParentBottom="true"
                   android:layout_centerHorizontal="true"
                   android:background="?android:attr/selectableItemBackground"
                   android:id="@+id/button2"
                   android:onClick="loginMasuk"
                   android:textStyle="normal|bold"
                   tools:ignore="HardcodedText,ObsoleteLayoutParam" />

       </LinearLayout>

       <EditText
             android:id="@+id/edittext_password"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:hint="Password"
             android:inputType="textCapWords"
             style="@style/AppTheme"
             android:layout_centerVertical="true"
             android:layout_alignParentStart="true"
             android:textSize="30sp"
             android:fontFamily="monospace"
             tools:ignore="Autofill,HardcodedText,TextFields" />

      <TextView
             android:text="User Login"
             android:textColor="#fff"
             android:background="#0091EA"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:id="@+id/textView2"
             android:textStyle="normal|bold"
             android:textSize="36sp"
             android:textAlignment="center"
             android:layout_alignParentTop="true"
             android:layout_alignParentStart="true"
             android:layout_marginTop="42dp"
             tools:ignore="HardcodedText" />

      <EditText
             android:id="@+id/edittext_username"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_above="@+id/edittext_password"
             android:layout_alignParentStart="true"
             android:layout_marginBottom="16dp"
             android:fontFamily="monospace"
             android:hint="Username"
             android:inputType="textCapWords"
             android:textSize="30sp"
             tools:ignore="Autofill,HardcodedText" />

</RelativeLayout>

jika sudah lalu buka login.java dan paste source code dibawah ini

android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class login extends AppCompatActivity {
     EditText editText1 ,editText2; //Deklarasi object dari class EdiText
     String text1 ,text2; //Deklarasi object string

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

     public void loginMasuk(View view) {
          //Method onClick pada Button
          editText1 = (EditText)findViewById(R.id.edittext_username);
          editText2 = (EditText) findViewById(R.id.edittext_password);
          text1 = editText1.getText().toString();
          text2 = editText2.getText().toString();

          //Kondisi jika username dan password benar maka akan menampilkan pesan text toast
          //Login sukses dan masuk ke activity 2
          if ((text1.contains("admin"))&&((text2.contains("1234")))) {
               Toast.makeText(this, "Login Sukses", Toast.LENGTH_SHORT).show();
               Intent intent = new Intent(login.this, menu.class);
               startActivity(intent);
          }

          else if ((text1.matches("")||text2.matches("")))
               /*
               Atau jika input text 1 dan text 2 kosong
               */
          {
               //Maka akan menampilkan pesan text toast
               Toast.makeText(this, "Isikan Username dan Password", Toast.LENGTH_SHORT).show();
          }

          else {
               //jika kedua kondisi diatas tidak memenuhi
               Toast.makeText(this, "Login Gagal /Username Password Toast.LENGTH_SHORT).show();
          }

     }

}
 setelah semua source code sudah dimasukan maka seperti inilah tampilan form loginnya
oke step pembuatan form login sudah di buat maka kita lanjutkan membuat form menu dengan menggunakan listview.
sekarang kita buka menu.xml dam copy paste source code di bawah ini

<?xml version="1.0" encoding="utf-8"?>
<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"
      tools:context=".menu">

      <ListView
            android:id="@+id/listview1"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
</LinearLayout>

jika sudah lalu kita buka menu.java dan paste kan source code dibawah ini

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class menu extends AppCompatActivity {
     static final String[] list = new String[]{"Eresha", "About"};
     ListView LV;
     String[] menu = {"Persegi Panjang", "Segitiga", "Lingkaran", "Log Out"};

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

          LV = (ListView) findViewById(R.id.listview1);
          ArrayAdapter i = new ArrayAdapter(this, android.R.layout.simple_list_item_single_choice, menu);
          LV.setAdapter(i);
          LV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
               @Override
               public void onItemClick(AdapterView<?> arg0, View arg1, int itemke,
long arg3) {

                    String item = (String) LV.getItemAtPosition(itemke);
                    Toast.makeText(getBaseContext(), "Anda mengklik " + item, Toast.LENGTH_LONG).show();

                    if (item.equals("Persegi Panjang")) {
                         Intent f = new Intent(arg0.getContext(), persegipanjang.class);
                         startActivity(f);
                    } else if (item.equals("Segitiga")) {
                         Intent f = new Intent(arg0.getContext(), segitiga.class);
                         startActivity(f);
                    } else if (item.equals("Lingkaran")) {
                         Intent f = new Intent(arg0.getContext(), lingkaran.class);
                         startActivity(
                    } else if (item.equals("Log Out")) {
                         Intent f = new Intent(arg0.getContext(), login.class);
                         startActivity(f);
                    }
               }
          });
     }
}
jika sudah semua kita masukan source code di ata maka seperti inilah tampilan menu yang kita buat
sekarang kita sudah selesai ditaham pembuatan menu. sekarang kita lanjut ketahap pembuatan konten yg ada di menu tersebut, okesekarang kita buka persegipanjang.xml dan paste source code dibawah ini.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:orientation="vertical"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     >

     <TextView
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="Menghitung Luas Persegi Panjang"
          tools:ignore="HardcodedText" />

     <TextView
          android:text="Panjang :"
          android:id="@+id/TextView01"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          tools:ignore="HardcodedText" />

     <EditText
          android:text=""
          android:id="@+id/txtPanjang"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:inputType="numberSigned|numberDecimal"
          tools:ignore="Autofill,LabelFor" />

     <TextView
          android:text="Lebar :"
          android:id="@+id/TextView02"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          tools:ignore="HardcodedText" />

     <EditText
          android:text=""
          android:id="@+id/txtLebar"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:inputType="numberSigned|numberDecimal"
          tools:ignore="Autofill,LabelFor" />

     <Button
          android:text="Hitung Luas"
          android:id="@+id/btnHitung"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:onClick="hitungLuas"
          tools:ignore="HardcodedText" />

     <TextView
          android:text="Luas :"
          android:id="@+id/TextView03"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          tools:ignore="HardcodedText" />

     <EditText
          android:text=""
          android:id="@+id/txtLuas"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:editable="false"
          tools:ignore="Autofill,Deprecated,LabelFor,TextFields" />

     <Button
          android:text="Kembali ke Menu"
          android:id="@+id/btnBack"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:onClick="backtoMenu"
          tools:ignore="HardcodedText" />

</LinearLayout>

jikasudah kita kita buka persegipanjang.java nya lalu paste kan source code ini

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class persegipanjang extends Activity {
     private EditText txtPanjang;
     private EditText txtLebar;
     private EditText txtLuas;
     private Button btnHitung;

     /**
     * Method yang dipanggil pada saat applikaasi dijalankan
     * */
     @Override
     public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.persegipanjang);
          txtPanjang = (EditText) findViewById(R.id.txtPanjang);
          txtLebar = (EditText) findViewById(R.id.txtLebar);
          txtLuas = (EditText) findViewById(R.id.txtLuas);
               btnHitung = (Button) findViewById(R.id.btnHitung);
     }

     /**
     * Method untuk Menghitung Luas Persegi panjang dipanggil pada saat button
     * Hitung Luas diklik
     *
     * @param view
     */
     public void hitungLuas(View view) {
          try {
               int panjang = Integer.parseInt(txtPanjang.getText().toString());
               int lebar = Integer.parseInt(txtLebar.getText().toString());
               int luas = panjang * lebar;
               txtLuas.setText(String.valueOf(luas));
          } catch (Exception e) {
               e.printStackTrace();
          }
     }

     /**
     * Method untuk menutup activity dan kembali ke menu
     * @param view
     */
     public void backtoMenu(View view){
          finish();
     }
}

maka seperti ini lah tampilan dari konten persegi panjang
konten menu yang pertama sudah kita buat, sekarang lita lanjut membuat konten yang kedua yaitu segitiga.
sekarang buka segitiga.xml dan paste kan source code dibawah ini

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:orientation="vertical"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     >

     <TextView
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="Menghitung Luas Segitiga"
          tools:ignore="HardcodedText" />

     <TextView
          android:text="Alas :"
          android:id="@+id/TextView01"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          tools:ignore="HardcodedText" />

     <EditText
          android:text=""
          android:id="@+id/txtAlas"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:inputType="numberSigned|numberDecimal"
          tools:ignore="Autofill,LabelFor" />

     <TextView
          android:text="Tinggi :"
          android:id="@+id/TextView02"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          tools:ignore="HardcodedText" />

     <EditText
          android:text=""
          android:id="@+id/txtTinggi"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:inputType="numberSigned|numberDecimal"
          tools:ignore="Autofill,LabelFor" />

     <Button
          android:text="Hitung Luas"
          android:id="@+id/btnHitung"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:onClick="hitungLuas"
          tools:ignore="HardcodedText" />

     <TextView
          android:text="Luas :"
          android:id="@+id/TextView03"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          tools:ignore="HardcodedText" />

     <EditText
          android:text=""
          android:id="@+id/txtLuas"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:editable="false"
          tools:ignore="Autofill,LabelFor,TextFields" />

     <Button
          android:text="Kembali ke Menu"
          android:id="@+id/btnBack"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:onClick="backtoMenu"
          tools:ignore="HardcodedText" />

</LinearLayout>

jika sudah paste kan source code diatas ke segitiga.xml, maka sekarang kita buka segitiga.java dan paste kan juga source code dibawah ini

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
   
public class segitiga extends Activity {
     private EditText txtAlas;
     private EditText txtTinggi;
     private EditText txtLuas;
     private Button btnHitung;

     /**
     * Method yang dipanggil pada saat applikaasi dijalankan
     * */
     @Override
     public void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);
          setContentView(R.layout.segitiga);
          txtAlas = (EditText) findViewById(R.id.txtAlas);
          txtTinggi = (EditText) findViewById(R.id.txtTinggi);
          txtLuas = (EditText) findViewById(R.id.txtLuas);
          btnHitung = (Button) findViewById(R.id.btnHitung);
     }

     /**
     * Method untuk Menghitung Luas Segitiga dipanggil pada saat button
     * Hitung Luas diklik
     *
     * @param view
     */
     public void hitungLuas(View view) {
          try {
               int alas = Integer.parseInt(txtAlas.getText().toString());
               int tinggi = Integer.parseInt(txtTinggi.getText().toString());
               int luas = (alas * tinggi) / 2;
               txtLuas.setText(String.valueOf(luas));
          } catch (Exception e) {
               e.printStackTrace();
          }
     }

     /**
     * Method untuk menutup activity dan kembali ke menu
     * @param view
     */
     public void backtoMenu(View view){
          finish();
     }
}

jika sudah di paste kan ke segitiga.java maka tampilannya seperti ini
konten kedua sudah kita buat maka kita lanjutkan kekonten yg terakhir
konten ketiga, caranya masih sama seperti diatas, kita buka lingkaran.xml dan paste source code dibawah



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:orientation="vertical"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     >

     <TextView
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="Menghitung Luas Lingkaran"
          tools:ignore="HardcodedText" />
     <TextView
          android:text="Jari-jari :"
          android:id="@+id/TextView01"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          tools:ignore="HardcodedText" />

     <EditText
          android:text=""
          android:id="@+id/txtJari"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:inputType="numberSigned|numberDecimal"
          tools:ignore="Autofill,LabelFor" />

     <Button
          android:text="Hitung Luas"
          android:id="@+id/btnHitung"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:onClick="hitungLuas"
          tools:ignore="HardcodedText" />

     <TextView
          android:text="Luas :"
          android:id="@+id/TextView03"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          tools:ignore="HardcodedText" />

     <EditText
          android:text=""
          android:id="@+id/txtLuas"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:editable="false"
          tools:ignore="Autofill,LabelFor,TextFields" />

     <Button
          android:text="Kembali ke Menu"
          android:id="@+id/btnBack"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:onClick="backtoMenu"
          tools:ignore="HardcodedText" />

</LinearLayout>

jika sudah kita lanjut ke lingkaran.java dan paste kodingan di bawah ini

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class lingkaran extends Activity {
     private EditText txtJari;
     private EditText txtLuas;
     private Button btnHitung;

     /**
     * Method yang dipanggil pada saat applikaasi dijalankan
     * */
     @Override
     public void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);
          setContentView(R.layout.lingkaran);
          txtJari = (EditText) findViewById(R.id.txtJari);
          txtLuas = (EditText) findViewById(R.id.txtLuas);
          btnHitung = (Button) findViewById(R.id.btnHitung);

     }

     /**
     * Method untuk Menghitung Luas Lingkaran dipanggil pada saat button
     * Hitung Luas diklik
     *
     * @param view
     */
     public void hitungLuas(View view) {
          try {

               int jarijari = Integer.parseInt(txtJari.getText().toString());
               double phi = 3.14;
               double luas = phi * jarijari * jarijari;
               txtLuas.setText(String.valueOf(luas));
          } catch (Exception e) {
               e.printStackTrace();
          }
     }

     /**
     * Method untuk menutup activity dan kembali ke menu
     * @param view
     */
     public void backtoMenu(View view){
          finish();
     }
}

oke sekarang kita sudah selesai dalam membuat Aplikasi hitung luas bidang datar dengan Android Studio.

sekian dan terimakasih
salam mahasiswa setengah mateng