KONVERSI MATA UANG DENGAN LOGIN
A. DESKRIPSI :
Aplikasi android ini seperti namanya adalah aplikasi untuk mengkonversikan mata uang yaitu USD, YEN, dan EURO dari mata uang negara Indonesia yaitu Rupiah. Pada aplikasi ini terdiri dari 5 Button antara lain button1(Rp > USD), button2 (Rp > YEN), button3 (Rp > EURO), button8 (RESET), dan button7 (LOGOUT). Untuk dapat menggunakan aplikasi ini, user diharuskan untuk login terlebih dahulu dengan username dan password.
B. BUAT PROJECT BARU :
1. Membuat Aplikasi Konversi Mata Uang
Untuk membuat aplikasi ini kita buat projeck baru dengan :
Nama Projeck : konversimatauang
Phone : PIXEL 2 API 16
Activity : Empty Activity
Activity Name : MainActivityJika workspace android studio sudah siap digunakan, kita masuk ke tab activity_main.xml lalu kita ubah desainnya hingga seperti ini :
Untuk membuat desain Xml seperti diatas, Berikut ini adalah source code xml nya :
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.konversimatauang.MainActivity"><ImageViewandroid:id="@+id/imageView"android:layout_width="122dp"android:layout_height="116dp"android:layout_marginStart="141dp"android:layout_marginLeft="141dp"android:layout_marginTop="82dp"android:layout_marginEnd="142dp"android:layout_marginRight="142dp"android:layout_marginBottom="42dp"android:background="#0E59F1"app:layout_constraintBottom_toTopOf="@+id/linearLayout"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:srcCompat="@mipmap/ic_launcher" /><LinearLayoutandroid:id="@+id/linearLayout"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="56dp"android:layout_marginLeft="56dp"android:layout_marginTop="43dp"android:layout_marginEnd="57dp"android:layout_marginRight="57dp"android:layout_marginBottom="36dp"android:orientation="horizontal"android:padding="20dp"app:layout_constraintBottom_toTopOf="@+id/button"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/imageView"><EditTextandroid:id="@+id/editText"android:layout_width="120dp"android:layout_height="wrap_content"android:layout_weight="1"android:ems="10"android:hint="0 Rupiah"android:inputType="textPersonName"android:textSize="20sp" /><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_margin="5dp"android:layout_weight="1"android:text="="android:textSize="20sp" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:hint="Hasil Konversi"android:textSize="20sp" /></LinearLayout><Buttonandroid:id="@+id/button"android:layout_width="270dp"android:layout_height="wrap_content"android:layout_marginStart="161dp"android:layout_marginLeft="161dp"android:layout_marginTop="10dp"android:layout_marginEnd="162dp"android:layout_marginRight="162dp"android:layout_marginBottom="20dp"android:background="#F50000"android:onClick="toUSD"android:text="Rp > USD"android:textColor="#FFFDFD"android:textSize="20sp"app:layout_constraintBottom_toTopOf="@+id/button2"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/linearLayout" /><Buttonandroid:id="@+id/button2"android:layout_width="270dp"android:layout_height="wrap_content"android:layout_marginStart="161dp"android:layout_marginLeft="161dp"android:layout_marginTop="10dp"android:layout_marginEnd="162dp"android:layout_marginRight="162dp"android:layout_marginBottom="20dp"android:background="#B19502"android:onClick="toYEN"android:text="Rp > YEN"android:textColor="#FFFFFF"android:textSize="20sp"app:layout_constraintBottom_toTopOf="@+id/button3"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/button" /><Buttonandroid:id="@+id/button3"android:layout_width="270dp"android:layout_height="wrap_content"android:layout_marginStart="70dp"android:layout_marginLeft="70dp"android:layout_marginTop="10dp"android:layout_marginEnd="71dp"android:layout_marginRight="71dp"android:layout_marginBottom="184dp"android:background="#11A806"android:onClick="toEURO"android:text="Rp > EURO"android:textColor="#FFFCFC"android:textSize="20sp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="1.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/button2" /><Buttonandroid:id="@+id/button7"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="65dp"android:layout_marginLeft="65dp"android:layout_marginTop="75dp"android:layout_marginEnd="258dp"android:layout_marginRight="258dp"android:layout_marginBottom="46dp"android:text="Logout"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/button3" /><Buttonandroid:id="@+id/button8"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="162dp"android:layout_marginLeft="162dp"android:layout_marginTop="12dp"android:layout_marginEnd="161dp"android:layout_marginRight="161dp"android:layout_marginBottom="109dp"android:text="Reset"android:textSize="20sp"android:textStyle="bold|italic"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/button3" /><TextViewandroid:id="@+id/textView5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="82dp"android:layout_marginLeft="82dp"android:layout_marginTop="16dp"android:layout_marginEnd="82dp"android:layout_marginRight="82dp"android:layout_marginBottom="35dp"android:text="Ferdian Putra Dinanda - 161021450161"app:layout_constraintBottom_toTopOf="@+id/imageView"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>
Setelah sudah selesai memasukkan source code xml diatas akan dihasilkan gambar pada Emulator seperti ini :
Kemudian untuk membuat button dan editText dapat berfungsi kita masuk ke Tab MainActivity.java lalu masukan source code sebagai berikut :
package com.example.konversimatauang;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;import java.text.NumberFormat;import java.util.Locale;public class MainActivity extends AppCompatActivity {EditText editText;Button button, button2, button3, btnExit, btnReset;TextView textView2;double angka;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);editText = (EditText) findViewById(R.id.editText);button = (Button) findViewById(R.id.button);button2 = (Button) findViewById(R.id.button2);button3 = (Button) findViewById(R.id.button3);textView2 = (TextView) findViewById(R.id.textView2);btnExit = (Button) findViewById(R.id.button7);btnExit.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {finish();}});btnReset = (Button) findViewById(R.id.button8);btnReset.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {textView2.setText("");editText.setText("");}});}public boolean cek(){if (editText.getText().toString().isEmpty()){Toast.makeText(this, "Silahkan masukan jumlah uang", Toast.LENGTH_SHORT).show();return false;}return true;}public void toYEN(View v){if (!cek()){return;}try{angka = Double.parseDouble(editText.getText().toString());}catch(Exception ex){Toast.makeText(this, "Masukkan angka", Toast.LENGTH_SHORT).show();}double hasil = angka / 132;textView2.setText(NumberFormat.getCurrencyInstance(Locale.JAPAN).format(hasil));Toast.makeText(this, "1 Yen = Rp 131", Toast.LENGTH_SHORT).show();}public void toEURO(View v){if (!cek()){return;}try{angka = Double.parseDouble(editText.getText().toString());}catch(Exception e){Toast.makeText(this, "Masukkan angka", Toast.LENGTH_SHORT).show();}double hasil = angka / 17228;textView2.setText(NumberFormat.getCurrencyInstance(Locale.GERMANY).format(hasil));Toast.makeText(this, "1 Euro = Rp 15.450", Toast.LENGTH_SHORT).show();}public void toUSD(View v){if (!cek()){return;}try{angka = Double.parseDouble(editText.getText().toString());}catch(Exception e){Toast.makeText(this, "Masukkan angka", Toast.LENGTH_SHORT).show();}double hasil = angka / 14808;textView2.setText(NumberFormat.getCurrencyInstance(Locale.US).format(hasil));Toast.makeText(this, "1 U$D = Rp 14087", Toast.LENGTH_SHORT).show();}}
Jika sudah memasukkan source code seperti diatas kita dapat menguji aplikasi konversi mata uang yang sudah kita buat. Hasilnya akan seperti berikut :
2. Membuat Aplikasi Login
Selanjutnya kita buat Aplikasi Login untuk dapat menggunakan Aplikasi Konversi Mata Uang yang sudah kita buat. Langkah pertama, Klik Kanan pada Package yang sama dengan Aplikasi Konversi Mata Uang lalu pilih New > Activity > Empty Activity. Beri nama Activity dengan "Login" lalu Next. Jika sudah akan muncul .java dan .xml baru. Selanjutnya kita desain terlebih dahulu tampilan login sesuai keinginan kita. Kalau yang saya buat tampilannya seperti berikut :
source code yang saya buat untuk mendapatkan tampilan seperti diatas sebagai berikut :
Jika sudah mendesain tampilan dari login, kita langsung ke Tab Login.java kemudian masukkan source code 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:layout_width="match_parent"android:layout_height="match_parent"tools:context=".Login"><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:layout_marginBottom="643dp"android:text="LOGIN"android:textSize="30sp"android:textStyle="bold"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.527"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.0" /><TextViewandroid:id="@+id/textView4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="111dp"android:layout_marginLeft="111dp"android:layout_marginTop="60dp"android:layout_marginEnd="88dp"android:layout_marginRight="88dp"android:layout_marginBottom="584dp"android:text="APLIKASI KONVERSI MATA UANG"android:textSize="16sp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/textView3" /><ImageViewandroid:id="@+id/imageView2"android:layout_width="102dp"android:layout_height="110dp"android:layout_marginStart="144dp"android:layout_marginLeft="144dp"android:layout_marginTop="25dp"android:layout_marginEnd="139dp"android:layout_marginRight="139dp"android:layout_marginBottom="10dp"app:layout_constraintBottom_toTopOf="@+id/editText2"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/textView4"app:srcCompat="@mipmap/ic_launcher_round"tools:srcCompat="@mipmap/ic_launcher_round" /><ImageViewandroid:id="@+id/imageView3"android:layout_width="49dp"android:layout_height="46dp"android:layout_marginStart="45dp"android:layout_marginLeft="45dp"android:layout_marginTop="20dp"android:layout_marginEnd="10dp"android:layout_marginRight="10dp"android:layout_marginBottom="260dp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toStartOf="@+id/editText3"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/imageView4"app:srcCompat="@android:drawable/ic_secure" /><ImageViewandroid:id="@+id/imageView4"android:layout_width="73dp"android:layout_height="68dp"android:layout_marginStart="40dp"android:layout_marginLeft="40dp"android:layout_marginTop="240dp"android:layout_marginEnd="20dp"android:layout_marginRight="20dp"android:layout_marginBottom="30dp"app:layout_constraintBottom_toTopOf="@+id/imageView3"app:layout_constraintEnd_toStartOf="@+id/editText2"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.49"app:srcCompat="@android:drawable/btn_star_big_on" /><EditTextandroid:id="@+id/editText2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="26dp"android:layout_marginLeft="26dp"android:layout_marginTop="54dp"android:layout_marginEnd="83dp"android:layout_marginRight="83dp"android:layout_marginBottom="42dp"android:ems="10"android:hint="username"android:inputType="textPersonName"app:layout_constraintBottom_toTopOf="@+id/editText3"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@+id/imageView4"app:layout_constraintTop_toBottomOf="@+id/imageView2" /><EditTextandroid:id="@+id/editText3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="40dp"android:layout_marginLeft="40dp"android:layout_marginTop="10dp"android:layout_marginEnd="80dp"android:layout_marginRight="80dp"android:layout_marginBottom="260dp"android:ems="10"android:hint="password"android:inputType="textPersonName"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@+id/imageView3"app:layout_constraintTop_toBottomOf="@+id/editText2" /><Buttonandroid:id="@+id/button4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="120dp"android:layout_marginLeft="120dp"android:layout_marginTop="34dp"android:layout_marginEnd="203dp"android:layout_marginRight="203dp"android:layout_marginBottom="169dp"android:text="Sign in"android:textSize="20sp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/editText3" /></androidx.constraintlayout.widget.ConstraintLayout>
package com.example.konversimatauang;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 androidx.appcompat.app.AlertDialog;import androidx.appcompat.app.AppCompatActivity;public class Login extends AppCompatActivity {EditText username, password;Button btnLogin;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);username = (EditText) findViewById(R.id.editText2);password = (EditText) findViewById(R.id.editText3);btnLogin = (Button) findViewById(R.id.button4);btnLogin.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String usernameKey = username.getText().toString();String passwordKey = password.getText().toString();if (usernameKey.equals("ferdian") && passwordKey.equals("dinanda")){Toast.makeText(getApplicationContext(), "LOGIN SUKSES",Toast.LENGTH_SHORT).show();Intent intent = new Intent(Login.this, MainActivity.class);startActivity(intent);} else {AlertDialog.Builder builder = new AlertDialog.Builder(Login.this);builder.setMessage("username atau password salah").setNegativeButton("Retry", null).create().show();}}});}}
Keterangan :
1. Pada login ini saya membuat username "ferdian" dan password "dinanda" untuk dapat masuk ke dalam Aplikasi Konversi Mata Uang.
2. Agar kedua Activity dapat terhubung, perhatikan source code pada Tab Login.java
if (usernameKey.equals("ferdian") && passwordKey.equals("dinanda")){
Toast.makeText(getApplicationContext(), "LOGIN SUKSES",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Login.this, MainActivity.class);
startActivity(intent);
source code diatas berfungsi untuk menghubungkan Login dengan Konversi Mata Uang.
Jika sudah memasukkan source code seperti diatas kita dapat menguji pada Emulator yang ada.
Hasil seperti ini :
Jika kita Klik SIGN IN, maka akan langsung masuk ke Aplikasi Konversi Mata Uang dengan tampilan seperti ini :
Demikian pembuatan Aplikasi Konversi Mata Uang dengan Login. Semoga ilmu diatas dapat bermanfaat. Silahkan dicoba untuk desain dan codingan yang sudah saya buat, apabila ada kesulitan tulis saja dikolom komentar. Terima Kasih, Sekian.