Sabtu, 05 Oktober 2019

UAS MOBILE PROGRAMMING FAHMI FADILLAH 161021450156

UAS MOBILE PROGRAMMING


Membuat List View Pada Program Android Studio


Tulisan ini dibuat untuk memenuhi nilai UAS pada Mata Kuliah Mobile Programming. Dalam tulisan ini saya membuat aplikasi sederhana dengan menggunakan List View pada Android Studio. Untuk aplikasi awal yang saya buat adalah aplikasi Login seperti sebelumnya dengan merubah tampilan sedikit. Berikut adalah source code xml dan java untuk login dan tampilan design aplikasi login yang saya buat.

SOURCE CODE XML UNTUK LOGIN:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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">

    <Button
        android:id="@+id/btnLogin"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="180dp"
        android:layout_marginTop="60dp"
        android:text="login"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/password" />

    <EditText
        android:id="@+id/password"
        android:layout_width="266dp"
        android:layout_height="63dp"
        android:layout_marginStart="88dp"
        android:layout_marginTop="64dp"
        android:ems="10"
        android:inputType="textPassword"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editText" />

    <EditText
        android:id="@+id/editText"
        android:layout_width="259dp"
        android:layout_height="66dp"
        android:layout_marginStart="26dp"
        android:layout_marginTop="116dp"
        android:layout_marginEnd="26dp"
        android:ems="10"
        android:inputType="textPersonName"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.62"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="200dp"
        android:layout_height="30dp"
        android:layout_marginTop="16dp"
        android:text="WELCOME"
        android:textAlignment="center"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="110dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@android:drawable/sym_def_app_icon" />

    <ImageView
        android:id="@+id/imageView4"
        android:layout_width="71dp"
        android:layout_height="73dp"
        android:layout_marginStart="1dp"
        android:layout_marginTop="54dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/imageView3"
        app:srcCompat="@android:drawable/ic_lock_lock" />

</androidx.constraintlayout.widget.ConstraintLayout>


SOURCE CODE JAVA UNTUK LOGIN:

package com.example.login;

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

import com.example.login.R;

public class MainActivity extends AppCompatActivity {
    EditText username, password;
    Button btnLogin;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        username = (EditText) findViewById(R.id.editText);
        password = (EditText) findViewById(R.id.password);
        btnLogin = (Button)findViewById(R.id.btnLogin);

        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                String usernameKey = username.getText().toString();
                String passwordKey = password.getText().toString();

                if (usernameKey.equals("admin") && passwordKey.equals("123")){
                    //jika login berhasil
                    Toast.makeText(getApplicationContext(), "LOGIN SUKSES",
                            Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(MainActivity.this, home.class);
                    startActivity(intent);
                }else {
                    //jika login gagal
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setMessage("Username atau Password Anda salah!")
                            .setNegativeButton("Retry", null).create().show();
                }
            }

        });
    }

MAKA HASILNYA SEPERTI BERIKUT: 



Selanjutnya untuk menampilkkan List View terlebih dahulu masuk ke login masukkan username "admin" dan password "123" lalu klik "LOGIN". Berikut Source Code XML dan JAVA untuk menu List View dan tampilannya seperti berikut :

SOURCE CODE LIST VIEW XML:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".home">

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


SOURCE CODE  LIST VIEW JAVA:

package com.example.login;

import androidx.appcompat.app.AppCompatActivity;
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 java.util.List;

public class home extends AppCompatActivity {
    ListView LV;
    String [] Menu = {"Luas Segitiga","Luas Persegi Panjang","Konvert Suhu"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        LV = (ListView) findViewById(R.id.ListView);

        ArrayAdapter adapai = new ArrayAdapter(this,android.R.layout.simple_list_item_single_choice,Menu);
        LV.setAdapter(adapai);

        LV.setOnItemClickListener(new AdapterView.OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int itemKe, long arg3){
                //TODO
                String itemText = (String) LV.getItemAtPosition(itemKe);
                Toast.makeText(getBaseContext(), "Anda Mengklik" + itemText, Toast.LENGTH_LONG).show();
                if(itemText.equalsIgnoreCase("Luas Segitiga")){
                    Intent I = new Intent(arg0.getContext(),LuasSegitiga.class);
                    startActivityForResult(I,0);
                } else if(itemText.equalsIgnoreCase("Luas Persegi Panjang")){
                    Intent I = new Intent(arg0.getContext(),LuasPersegipanjang.class);
                    startActivityForResult(I,0);
                } else if(itemText.equalsIgnoreCase("Konvert Suhu")){
                    Intent I = new Intent(arg0.getContext(),KonvertSuhu.class);
                    startActivityForResult(I,0);
                }
            }
        });
    }
}


Maka tampilannya seperti berikut:




Menu List View yang saya buat diatas ada tiga, yaitu Luas Segitiga, Luas Persegi Panjang dan Konversi Suhu. Pada masing-masing list diatas apabila di klik "Luas Segitiga" maka akan menampilkan menghitung rumus segitiga dengan menginput alas dan tinggi lalu hitung akan muncul hasilnya. Berikut adalah source code xml, java dan tampilannya.


SOURCE CODE LUAS SEGITIGA XML: 

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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=".LuasSegitiga">

    <EditText
        android:id="@+id/editText2"
        android:layout_width="87dp"
        android:layout_height="50dp"
        android:layout_marginStart="32dp"
        android:layout_marginLeft="32dp"
        android:layout_marginTop="92dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Alas"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/editText3"
        android:layout_width="89dp"
        android:layout_height="50dp"
        android:layout_marginStart="32dp"
        android:layout_marginLeft="32dp"
        android:layout_marginTop="28dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Tinggi"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editText2" />

    <EditText
        android:id="@+id/editText4"
        android:layout_width="216dp"
        android:layout_height="48dp"
        android:layout_marginStart="44dp"
        android:layout_marginLeft="44dp"
        android:layout_marginTop="92dp"
        android:ems="10"
        android:inputType="textPersonName"
        app:layout_constraintStart_toEndOf="@+id/editText2"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/editText5"
        android:layout_width="211dp"
        android:layout_height="48dp"
        android:layout_marginStart="40dp"
        android:layout_marginLeft="40dp"
        android:layout_marginTop="28dp"
        android:ems="10"
        android:inputType="textPersonName"
        app:layout_constraintStart_toEndOf="@+id/editText3"
        app:layout_constraintTop_toBottomOf="@+id/editText4" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="34dp"
        android:layout_marginLeft="34dp"
        android:layout_marginTop="22dp"
        android:text="Hitung"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editText3" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="114dp"
        android:layout_height="39dp"
        android:layout_marginStart="32dp"
        android:layout_marginLeft="32dp"
        android:layout_marginTop="32dp"
        android:text="LUAS SEGITIGA"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="214dp"
        android:layout_height="50dp"
        android:layout_marginStart="40dp"
        android:layout_marginLeft="40dp"
        android:layout_marginTop="27dp"
        app:layout_constraintStart_toEndOf="@+id/button"
        app:layout_constraintTop_toBottomOf="@+id/editText5" />

</androidx.constraintlayout.widget.ConstraintLayout>
 



SOURCE CODE LUAS SEGITIGA JAVA:

package com.example.login;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class LuasSegitiga extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_luas_segitiga);
        final EditText alas = (EditText) findViewById(R.id.editText4);
        final EditText tinggi = (EditText) findViewById(R.id.editText5);
        final Button btnHitung =(Button) findViewById(R.id.button);
        final TextView hasilHitung = (TextView) findViewById(R.id.textView4);

        btnHitung.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v){
                double inputAlas =Double.parseDouble(alas.getText().toString());
                double inputTinggi =Double.parseDouble(tinggi.getText().toString());
                double hasil = (inputAlas*inputTinggi)/2;
                hasilHitung.setText(""+hasil);
            }
        });


    }



Misalnya saya input alasnya = 4 dan tingginya = 5 maka Luas Segitiga adalah 1/2*alas*tinggi = 1/2*4*5 = 10.  TAMPILANNYA SEPERTI BERIKUT:




Untuk list berikutnya akan menampilkan Luas Persegi Panjang. Berikut Source Code xml, java dan juga tampilannya.


SOURCE CODE LUAS PERSEGI PANJANG XML:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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=".LuasPersegipanjang">

    <TextView
        android:id="@+id/textView6"
        android:layout_width="61dp"
        android:layout_height="45dp"
        android:layout_marginStart="60dp"
        android:layout_marginLeft="60dp"
        android:layout_marginTop="100dp"
        android:text="Panjang"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/textView7"
        android:layout_width="59dp"
        android:layout_height="47dp"
        android:layout_marginStart="60dp"
        android:layout_marginLeft="60dp"
        android:layout_marginTop="168dp"
        android:text="Lebar"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/editText8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="30dp"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="100dp"
        android:layout_marginEnd="31dp"
        android:layout_marginRight="31dp"
        android:ems="10"
        android:inputType="textPersonName"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toEndOf="@+id/textView6"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button2"
        android:layout_width="114dp"
        android:layout_height="75dp"
        android:layout_marginStart="52dp"
        android:layout_marginLeft="52dp"
        android:layout_marginTop="57dp"
        android:text="Hitung"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView7" />

    <EditText
        android:id="@+id/textView5"
        android:layout_width="158dp"
        android:layout_height="72dp"
        android:layout_marginStart="29dp"
        android:layout_marginLeft="29dp"
        android:layout_marginTop="59dp"
        android:ems="10"
        android:inputType="textPersonName"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.189"
        app:layout_constraintStart_toEndOf="@+id/button2"
        app:layout_constraintTop_toBottomOf="@+id/editText9" />

    <EditText
        android:id="@+id/editText9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="50dp"
        android:layout_marginLeft="50dp"
        android:layout_marginTop="23dp"
        android:ems="10"
        android:inputType="textPersonName"
        app:layout_constraintStart_toEndOf="@+id/textView7"
        app:layout_constraintTop_toBottomOf="@+id/editText8" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="177dp"
        android:layout_height="26dp"
        android:layout_marginStart="61dp"
        android:layout_marginLeft="61dp"
        android:layout_marginTop="33dp"
        android:layout_marginBottom="41dp"
        android:text="LUAS PERSEGI PANJANG"
        app:layout_constraintBottom_toTopOf="@+id/textView6"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>




SOURCE CODE LUAS PERSEGI PANJANG JAVA:

package com.example.login;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class LuasPersegipanjang extends AppCompatActivity {

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

        final EditText panjang = (EditText) findViewById(R.id.editText8);
        final EditText lebar = (EditText) findViewById(R.id.editText9);
        final Button btnHitung = (Button) findViewById(R.id.button2);
        final TextView hasilHitung = (TextView) findViewById(R.id.textView5);
        btnHitung.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v){
                double inputPanjang =Double.parseDouble(panjang.getText().toString());
                double inputLebar =Double.parseDouble(lebar.getText().toString());
                double hasil = (inputPanjang*inputLebar);
                hasilHitung.setText(""+hasil);
            }
        });


    }
}


Misalnya saya input panjang = 7 dan lebar = 5 maka Luas Persegi Panjang adalah panjang * lebar = 7*5 = 35.  TAMPILANNYA SEPERTI BERIKUT:




Untuk list berikutnya akan menampilkan Konversi Suhu. Berikut Source Code xml, java dan juga tampilannya.


SOURCE CODE KONVERT SUHU XML:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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=".KonvertSuhu">

    <EditText
        android:id="@+id/editText"
        android:layout_width="385dp"
        android:layout_height="66dp"
        android:layout_marginTop="152dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text=""
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="393dp"
        android:layout_height="56dp"

        android:layout_marginTop="352dp"
        android:text="Calculate"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <RadioGroup
        android:id="@+id/radiogroup"
        android:layout_width="127dp"
        android:layout_height="98dp"

        android:layout_marginTop="240dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <RadioButton
            android:id="@+id/radioButton"
            android:layout_width="118dp"
            android:layout_height="35dp"
            android:text="To Celcius" />

        <RadioButton
            android:id="@+id/radioButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="To Fahrenheit" />
    </RadioGroup>

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="420dp"
        android:text="Clear"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/logout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_marginTop="21dp"

        android:text="logout"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/button2"
        app:layout_constraintTop_toBottomOf="@+id/button" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="112dp"
        android:layout_height="55dp"
        android:layout_marginTop="35dp"
        android:text="Konversi Suhu"
        android:textAlignment="center"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>




SOURCE CODE KONVERT SUHU JAVA:

package com.example.login;

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

public class KonvertSuhu extends AppCompatActivity {

    Button logout;
    EditText text;
    RadioButton RBCelsius;
    RadioButton RBFahrenheit;
    RadioGroup RGnya;
    Button Buttonnya;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_konvert_suhu);
        logout = (Button)findViewById(R.id.logout);

        text = (EditText) findViewById(R.id.editText);
        RBCelsius = (RadioButton) findViewById((R.id.radioButton));
        RBFahrenheit = (RadioButton) findViewById(R.id.radioButton2);
        RGnya = (RadioGroup) findViewById(R.id.radiogroup);
        Buttonnya = (Button) findViewById(R.id.button);

        logout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i=new Intent(KonvertSuhu.this,MainActivity.class);
                startActivity(i);
            }
        });

        Buttonnya.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View arg0){
                //TODO Auto-generated method stub
                if(RBCelsius.isChecked()) {
                    float inputValue = Float.parseFloat(text.getText().toString());
                    float hasilCelsius = (inputValue - 32) * 5 / 9;
                    text.setText("" + hasilCelsius);
                }

                if(RBFahrenheit.isChecked()){
                    float inputValue = Float.parseFloat(text.getText().toString());
                    float hasilFahrenheit = ((inputValue*9)/5)+32;
                    text.setText(""+hasilFahrenheit);
                }
            }

        });

    }}



Misalnya saya input 100 celcius, lalu klik To Fahrenheit lalu klik CALCULATE hasilnya adalah 100 celcius = 212 fahrenheit, TAMPILANNYA SEPERTI BERIKUT:

Di dalam aplikasi Konvert Suhu saya juga menambahkan tombol LOGOUT apabila di klik maka akan kembali ke LOGIN seperti diawal. Jika ingin masuk kembali maka LOGIN kembali seperti diatas.

Demikian yang dapat saya buat, jika ada kekurangan mohon dimaklumi karena saya masih dalam proses belajar. Terima kasih banyak atas segala perhatiannya.

Tidak ada komentar:

Posting Komentar