A. Deskripsi Aplikasi
- Pertama kali membuka aplikasi, akan tampil halaman login yang harus diisi untuk menggunakan aplikasi.
- Di dalam halaman login juga terdapat text "About Me" yang jika diklik akan memunculkan halaman About Me yang berisi data diri saya.
- Masukkan username "admin" dan password "123" untuk bisa masuk ke halaman home / halaman converter suhu. Memasukkan username dan password yang salah akan memunculkan error dan mereset form username dan password.
- Dalam halaman home, masukkan angka suhu yang ingin diconverter.
- Kemudian pilih jenis suhu. Pilih "To Celcius" untuk mengubah angka suhu Fahrenheit menjadi Celcius. Pilih "To Fahrenheit" untuk mengubah angka suhu Celcius menjadi Fahrenheit.
- Setelah itu klik tombol "Calculate" untuk menjalankan program.
- Anda bisa mereset angka suhu dan pilihan jenis suhu dengan mengeklik tombol "clear"
- Jika selesai menggunakan aplikasi, klik tombol "LOGOUT" untuk kembali ke halaman login.
B. Source Code Aplikasi
Untuk bisa membuat aplikasi sesuai dengan deskripsi di atas, berikut source code yang saya gunakan
- Source Code XML untuk tampilan 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"
 android:orientation="vertical">
 
 <Button
 android:id="@+id/btnLogin"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginStart="160dp"
 android:layout_marginLeft="160dp"
 android:layout_marginTop="92dp"
 android:text="Login"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/pass" />
 
 <EditText
 android:id="@+id/user"
 android:layout_width="276dp"
 android:layout_height="50dp"
 android:layout_marginStart="68dp"
 android:layout_marginLeft="68dp"
 android:layout_marginTop="72dp"
 android:hint="username"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/textView4" />
 
 <TextView
 android:id="@+id/textView4"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginStart="156dp"
 android:layout_marginLeft="156dp"
 android:layout_marginTop="52dp"
 android:text="Welcome"
 android:textAppearance="?android:attr/textAppearanceLarge"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toTopOf="parent" />
 
 <EditText
 android:id="@+id/pass"
 android:layout_width="276dp"
 android:layout_height="44dp"
 android:layout_marginStart="68dp"
 android:layout_marginLeft="68dp"
 android:layout_marginTop="24dp"
 android:ems="10"
 android:hint="password"
 android:inputType="textPassword"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/user" />
 
 <ImageView
 android:id="@+id/imageView"
 android:layout_width="56dp"
 android:layout_height="49dp"
 android:layout_marginStart="12dp"
 android:layout_marginLeft="12dp"
 android:layout_marginTop="72dp"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/textView4"
 app:srcCompat="@drawable/ic_people" />
 
 <ImageView
 android:id="@+id/imageView2"
 android:layout_width="57dp"
 android:layout_height="45dp"
 android:layout_marginStart="12dp"
 android:layout_marginLeft="12dp"
 android:layout_marginTop="145dp"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/textView4"
 app:srcCompat="@drawable/ic_password" />
 
 <TextView
 android:id="@+id/aboutMe"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginStart="176dp"
 android:layout_marginLeft="176dp"
 android:layout_marginTop="36dp"
 android:text="About Me"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/btnLogin" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>
 
- Source Code JAVA untuk tampilan Loginpackage com.hiskur.aplikasilogin; 
 
 import android.content.Intent;
 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;
 
 public class loginModule extends AppCompatActivity {
 
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.login);
 
 final EditText user = (EditText) findViewById(R.id.user);
 final EditText pass = (EditText) findViewById(R.id.pass);
 final TextView aboutMe = (TextView) findViewById(R.id.aboutMe);
 Button button = (Button) findViewById(R.id.btnLogin);
 
 button.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
 if(user.getText().toString().equals("admin") && pass.getText().toString().equals("123")){
 Intent i = new Intent(loginModule.this, homeModule.class);
 i.putExtra("name", user.getText().toString());
 Toast.makeText(getApplicationContext(),"Login Sukses",Toast.LENGTH_SHORT).show();
 startActivity(i);
 
 } else {
 Toast.makeText(getApplicationContext(),"Username dan Password salah",Toast.LENGTH_SHORT).show();
 user.setText("");
 pass.setText("");
 }
 }
 });
 
 aboutMe.setOnClickListener(new View.OnClickListener(){
 @Override
 public void onClick(View v){
 Intent i = new Intent(loginModule.this, aboutmeModule.class);
 startActivity(i);
 }
 });
 
 
 }
 
 @Override
 public void onBackPressed() {
 
 }
 }
- Source Code XML untuk tampilan About Me <?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">
 
 <TextView
 android:id="@+id/textView3"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginStart="120dp"
 android:layout_marginLeft="120dp"
 android:layout_marginTop="52dp"
 android:text="About Me"
 android:textSize="100px"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toTopOf="parent" />
 
 <ImageView
 android:id="@+id/imageView3"
 android:layout_width="185dp"
 android:layout_height="196dp"
 android:layout_marginStart="112dp"
 android:layout_marginLeft="112dp"
 android:layout_marginTop="60dp"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/textView3"
 app:srcCompat="@drawable/logoa" />
 
 <TextView
 android:id="@+id/textView5"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginStart="52dp"
 android:layout_marginLeft="52dp"
 android:layout_marginTop="32dp"
 android:text="Nama : Hisyam Kurniawan"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/imageView3" />
 
 <TextView
 android:id="@+id/textView6"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginStart="52dp"
 android:layout_marginLeft="52dp"
 android:layout_marginTop="64dp"
 android:text="Kelas : 06 TPLE 003"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/imageView3" />
 
 <TextView
 android:id="@+id/textView7"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginStart="52dp"
 android:layout_marginLeft="52dp"
 android:layout_marginTop="92dp"
 android:text="NIM : 161021450173"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/imageView3" />
 
 <TextView
 android:id="@+id/textBack"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginStart="16dp"
 android:layout_marginLeft="16dp"
 android:layout_marginTop="16dp"
 android:text="@string/tombolBack"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toTopOf="parent" />
 
 
 </androidx.constraintlayout.widget.ConstraintLayout>
- Source Code JAVA untuk tampilan About Mepackage com.hiskur.aplikasilogin; 
 
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.TextView;
 
 import androidx.appcompat.app.AppCompatActivity;
 
 import org.w3c.dom.Text;
 
 public class aboutmeModule extends AppCompatActivity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.aboutme);
 
 final TextView back = (TextView) findViewById(R.id.textBack);
 
 back.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
 Intent i = new Intent(aboutmeModule.this, loginModule.class);
 startActivity(i);
 }
 });
 }
 
 @Override
 public void onBackPressed() {
 
 }
 }
 
 
- Source Code XML untuk tampilan Home <?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"
 android:orientation="vertical">
 
 <TextView
 android:id="@+id/text_viewdata"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_margin="15dp"
 android:layout_marginStart="16dp"
 android:layout_marginLeft="16dp"
 android:layout_marginTop="16dp"
 android:text=""
 android:textAppearance="?android:attr/textAppearanceMedium"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toTopOf="parent" />
 
 <Button
 android:id="@+id/btnLogout"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginStart="20dp"
 android:layout_marginLeft="20dp"
 android:layout_marginTop="12dp"
 android:text="Logout"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/text_viewdata" />
 
 <Button
 android:id="@+id/button"
 android:layout_width="367dp"
 android:layout_height="51dp"
 android:layout_marginStart="20dp"
 android:layout_marginLeft="20dp"
 android:layout_marginTop="348dp"
 android:text="Calculate"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toTopOf="parent" />
 
 <EditText
 android:id="@+id/editText"
 android:layout_width="320dp"
 android:layout_height="39dp"
 android:layout_marginStart="20dp"
 android:layout_marginLeft="20dp"
 android:layout_marginTop="144dp"
 android:ems="10"
 android:inputType="textPersonName"
 android:text=""
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toTopOf="parent" />
 
 <RadioGroup
 android:id="@+id/radioGroup1"
 android:layout_width="332dp"
 android:layout_height="121dp"
 android:layout_marginStart="20dp"
 android:layout_marginLeft="20dp"
 android:layout_marginTop="216dp"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toTopOf="parent">
 
 <RadioButton
 android:id="@+id/radioButton3"
 android:layout_width="155dp"
 android:layout_height="36dp"
 android:text="To Celcius" />
 
 <RadioButton
 android:id="@+id/radioButton4"
 android:layout_width="155dp"
 android:layout_height="38dp"
 android:text="To Fahrenheit" />
 
 </RadioGroup>
 
 <Button
 android:id="@+id/button2"
 android:layout_width="119dp"
 android:layout_height="66dp"
 android:layout_marginStart="20dp"
 android:layout_marginLeft="20dp"
 android:layout_marginTop="12dp"
 android:text="Clear"
 android:visibility="visible"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/button" />
 
 <TextView
 android:id="@+id/textView"
 android:layout_width="156dp"
 android:layout_height="22dp"
 android:layout_marginStart="20dp"
 android:layout_marginLeft="20dp"
 android:layout_marginTop="16dp"
 android:text="Masukkan angka suhu"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/btnLogout" />
 
 <TextView
 android:id="@+id/textView2"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginStart="20dp"
 android:layout_marginLeft="20dp"
 android:text="Pilih jenis suhu"
 app:layout_constraintStart_toStartOf="parent"
 app:layout_constraintTop_toBottomOf="@+id/editText" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>
- Source Code JAVA untuk tampilan Homepackage com.hiskur.aplikasilogin; 
 
 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;
 import android.widget.TextView;
 import android.widget.Toast;
 
 import androidx.appcompat.app.AppCompatActivity;
 
 public class homeModule extends AppCompatActivity {
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.home);
 
 Button btnLogout = (Button) findViewById(R.id.btnLogout);
 
 TextView t = (TextView) findViewById(R.id.text_viewdata);
 Bundle bundle=getIntent().getExtras();
 String s=bundle.getString("name");
 t.setText("Welcome, "+s);
 
 btnLogout.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View v) {
 Intent i = new Intent(homeModule.this, loginModule.class);
 Toast.makeText(getApplicationContext(),"Terima kasih telah menggunakan aplikasi ini",Toast.LENGTH_LONG).show();
 startActivity(i);
 }
 });
 
 final EditText text;
 final RadioButton RBCelsius;
 final RadioButton RBFahrenheit;
 final RadioGroup RGnya;
 final Button Buttonnya;
 final Button clear;
 final RadioButton RBClear;
 
 
 text = (EditText) findViewById(R.id.editText);
 RBCelsius = (RadioButton) findViewById((R.id.radioButton3));
 RBFahrenheit = (RadioButton) findViewById(R.id.radioButton4);
 // RBClear = (RadioButton) findViewById(R.id.radioButton5);
 RGnya = (RadioGroup) findViewById(R.id.radioGroup1);
 Buttonnya = (Button) findViewById(R.id.button);
 clear = (Button) findViewById(R.id.button2);
 
 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);
 }
 
 // if(RBClear.isChecked()){
 // text.setText("");
 // }
 }
 
 });
 
 clear.setOnClickListener(new View.OnClickListener(){
 
 @Override
 public void onClick(View arg0){
 text.setText("");
 RBCelsius.setChecked(false);
 RBFahrenheit.setChecked(false);
 }
 });
 
 
 }
 
 @Override
 public void onBackPressed() {
 
 }
 }
| <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hiskur.aplikasilogin"> <application android:allowBackup="true" android:icon="@mipmap/icon_suhu" android:label="@string/app_name" android:roundIcon="@mipmap/icon_suhu_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".loginModule"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".homeModule"> </activity> <activity android:name=".aboutmeModule"> </activity> </application> </manifest> | 
| <resources> <string name="app_name">Hisyam Kurniawan - 161021450173</string> <string name="tombolBack"><-- Back</string> </resources> | 
C. Running Aplikasi
Setelah selesai, kita akan menguji aplikasi tersebut.
- Pertama kita akan menguji apa yang terjadi jika kita salah memasukkan username dan password 
- Kemudian kita akan memasukkan username dan password yang benar 
- Masukkan angka suhu dan jenis suhu. Kemudian klik tombol calculate  
- Kemudian klik tombol logout untuk kembali ke menu login. 
- Lalu klik tulisan about me untuk menuju tampilan about me. 
- Klik tombol " <-- Back " untuk kembali ke halaman login 
Sekian program dari saya.
Terima kasih.
 
Tidak ada komentar:
Posting Komentar