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.

Minggu, 22 September 2019

UTS MOBILE PROGRAMMING

MEMBUAT APLIKASI SEDERHANA PADA ANDROID STUDIO

Tulisan ini dibuat sebagai nilai UTS Mata Kuliah Mobile Programming. Dalam tugas ini saya membuat aplikasi sederhana pada Android Studio. Aplikasi yang saya buat adalah aplikasi Login dan menampilkan gambar pada saat login kemudian Logout. Berikut adalah tampilan design aplikasi yang saya buat.



Untuk aplikasi Login buat desain seperti berikut:


lalu masukkan kodingan berikut pada activity_main.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=".MainActivity">

    <TextView        android:id="@+id/textView2"        android:layout_width="73dp"        android:layout_height="31dp"        android:layout_marginStart="20dp"        android:layout_marginLeft="20dp"        android:layout_marginTop="124dp"        android:text="username"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toTopOf="parent" />

    <EditText        android:id="@+id/editText"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginStart="68dp"        android:layout_marginLeft="68dp"        android:layout_marginTop="112dp"        android:ems="10"        android:inputType="textPersonName"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintHorizontal_bias="0.31"        app:layout_constraintStart_toEndOf="@+id/textView2"        app:layout_constraintTop_toTopOf="parent" />

    <TextView        android:id="@+id/textView3"        android:layout_width="78dp"        android:layout_height="22dp"        android:layout_marginStart="24dp"        android:layout_marginLeft="24dp"        android:layout_marginTop="40dp"        android:text="password"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/textView2" />

    <EditText        android:id="@+id/editText2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginStart="64dp"        android:layout_marginLeft="64dp"        android:layout_marginTop="24dp"        android:ems="10"        android:inputType="textPassword"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintHorizontal_bias="0.305"        app:layout_constraintStart_toEndOf="@+id/textView3"        app:layout_constraintTop_toBottomOf="@+id/editText" />

    <Button        android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginStart="16dp"        android:layout_marginLeft="16dp"        android:layout_marginTop="44dp"        android:text="Login"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/textView3" />
</androidx.constraintlayout.widget.ConstraintLayout>
 
 
lalu masukkan kodingan berikut pada MainActivity.java :
 
package com.example.uts;

import androidx.appcompat.app.AppCompatActivity;

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

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.editText2);
        btnLogin = (Button)findViewById(R.id.button);
        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {

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

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

        });
    }
}
 
 
Setelah itu coba di Run maka akan tampil seperti berikut:
 
 
setelah itu masukkan usernama: "fahmi" dan password: "12345" lalu klik login.

untuk aplikasi kedua saya akan menampilkan sebuah gambar setelah masuk ke login seperti berikut desainnya.
 
 
Untuk menampilkan gambar dan logout, masukkan koding pada activity_home.xml seperti berikut:
 
<?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:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="M">

    <ImageView        android:id="@+id/imageView"        android:layout_width="wrap_content"        android:layout_height="294dp"        android:src="@drawable/eresha" />

    <Button        android:id="@+id/button6"        android:layout_width="135dp"        android:layout_height="69dp"        android:layout_marginStart="232dp"        android:layout_marginLeft="232dp"        android:layout_marginTop="88dp"        android:text="Logout"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toEndOf="parent"        app:layout_constraintHorizontal_bias="0.113"        app:layout_constraintStart_toStartOf="parent"        app:layout_constraintTop_toBottomOf="@+id/imageView"        app:layout_constraintVertical_bias="0.0" />

</androidx.constraintlayout.widget.ConstraintLayout
 

Setelah itu masukkan koding pada home.java seperti berikut:
 
package com.example.uts;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class home extends AppCompatActivity {
    Button logout;

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        logout = (Button) findViewById(R.id.button6);
        logout.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View view) {

                    Intent i = new Intent(home.this, MainActivity.class);
                    startActivity(i);

            }
        });

    }
    } 
 
 

Setelah di Run akan tampil form login seperti diatas, lalu masukkan username: "fahmi" dan password: "12345" lalu klik login, maka akan tampil seperti berikut:
 
 

 
setelah itu klik tombol Logout maka akan tampil ke tampilan Login semula.
 
Demikian aplikasi sederhana yang saya buat dalam Android Studio. Mohon koreksinya apabila terdapat kekurangan atau kesalahan. 

Minggu, 14 Juli 2019

MESIN MOORE MODULUS 5


MESIN MOORE
Mesin Moore adalah finite-state machine yang outptnya berasosiasi dengan state, atau tertulis pada setiap state, sehingga jumlah state sama dengan jumlah output. Selain itu Mesin Moore tidak memiliki final state. Mesin Moore ditetapkan ke dalam 6 tuple yaitu sebagai berikut :

M    =   { Q, ∑, δ, S, Δ, λ }
Q    =   Himpunan State
    =   Himpunan Input
δ     =   Fungsi Transisi
S     =   Simbol State Awal
Δ    =   Himpunan Output
λ     =   Fungsi Output untuk Setiap State

Contoh Soal

Buatlah Mesin Moore untuk menentukan sisa pembagian atau modulus 5 dengan inputan berupa  biner !

M      : { Q, ∑, δ, S, Δ, λ }
Q       : { q0, q1, q2, q3, q4 ]
       : { 0, 1 }
S       : { q0 }
Δ       : { 0,1,2,3,4 }
λ        : { q0=0 | q1=1 | q2=2 | q3=3 | q4=4 }
δ        : Fungsi Transisi
Δ
0
1
q0
q0
q1
q1
q3
q2
q2
q4
q0
q3
q2
q4
q4
q1
q3

 Maka akan dihasilkan gambar seperti berikut :



Masukkan input 7 mod 5 sampai 12 mod 5 lalu dikonversi ke biner seperti berikut :


Lalu tes di multiple run seperti berikut :