Di Buat Oleh :
Puji syukur saya panjatkan ke hadirat Tuhan Yang Maha Esa atas segala limpahan rahmat,
karunia, dan bimbingan-Nya sehingga saya dapat menyelesaikan laporan ini dengan baik.
Laporan ini disusun dalam rangka memenuhi salah satu tugas mata kuliah/praktikum yang
saya ikuti.
Laporan ini berisi hasil dari kegiatan praktek yang saya laksanakan dengan tujuan untuk
mendapatkan pemahaman yang lebih baik dalam penerapan konsep-konsep teori yang telah
dipelajari di dalam kelas. Saya juga berharap bahwa laporan ini dapat memberikan gambaran
yang jelas mengenai langkah-langkah yang saya ambil, serta analisis dari hasil yang
diperoleh selama pelaksanaan praktek.
Saya menyadari bahwa laporan ini masih memiliki keterbatasan dan kekurangan. Oleh karena
itu, Saya sangat mengharapkan masukan dan kritik yang membangun guna perbaikan di masa
yang akan datang. Saya berharap laporan ini dapat memberikan manfaat dan informasi yang
berguna bagi semua pihak yang membacanya.
Akhir kata, Saya mengucapkan terima kasih kepada semua pihak yang telah memberikan
dukungan, bimbingan, dan sumbangan pemikiran dalam proses penyusunan laporan ini.
KODE
FirstFragment.java
package com.example.aplikasi_login;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.navigation.fragment.NavHostFragment;
import com.example.aplikasi_login.databinding.FragmentFirstBinding;
@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState
) {
binding.buttonFirst.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
NavHostFragment.findNavController(FirstFragment.this)
.navigate(R.id.action_FirstFragment_to_SecondFragme
nt);
}
});
}
@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}
LoginActivity.java
package com.example.aplikasi_login;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.navigation.fragment.NavHostFragment;
import com.example.aplikasi_login.databinding.FragmentFirstBinding;
@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState
) {
binding.buttonFirst.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
NavHostFragment.findNavController(FirstFragment.this)
.navigate(R.id.action_FirstFragment_to_SecondFragme
nt);
}
});
}
@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}
SecondFragment.java
package com.example.aplikasi_login;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.navigation.fragment.NavHostFragment;
import com.example.aplikasi_login.databinding.FragmentSecondBinding;
@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState
) {
binding.buttonSecond.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view) {
NavHostFragment.findNavController(SecondFragment.this)
.navigate(R.id.action_SecondFragment_to_FirstFragme
nt);
}
});
}
@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}
splash_screen.java
package com.example.aplikasi_login;
import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.io.File;
activity_login.xml
<?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"
android:background="#FFF"
android:orientation="vertical"
android:padding="20dp"
tools:context=".LoginActivity">
<ImageView
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="40dp"
android:adjustViewBounds="true"
android:fitsSystemWindows="true"
android:src="@drawable/logo" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Username"
android:textColor="#000"
android:textSize="14sp" />
<EditText
android:id="@+id/editUsername"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz123
4567890"
android:inputType="textFilter"
android:textColor="#000"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Password"
android:textColor="#000"
android:textSize="14sp" />
<EditText
android:id="@+id/editPassword"
android:layout_width="match_parent"
android:layout_height="40dp" android:layout_marginTop="5dp"
android:inputType="textPassword"
android:textColor="#000"
android:textSize="14sp" />
<Button
android:id="@+id/action_login"
android:layout_width="match_parent" android:layout_height="40dp"
android:layout_marginTop="20dp"
android:background="@color/black"
android:text="Login"
android:textColor="#FFF"
android:textSize="16sp"
android:textStyle="bold"
/>
<Button
android:id="@+id/action_register"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="20dp"
android:background="@color/black"
android:text="Register"
android:textColor="#FFF"
android:textSize="16sp" android:textStyle="bold"/>
</LinearLayout>
activity_splash_screen.xml
<?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"
tools:context=".SplashScreen">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:fitsSystemWindows="true"
android:src="@drawable/logo" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="PROYEK 2"
android:textColor="#000"
android:textSize="30sp" />
</LinearLayout>
</RelativeLayout>
content_activity_splash_screen.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"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<fragment
android:id="@+id/nav_host_fragment_content_activity_splash_screen"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/nav_graph" />
</androidx.constraintlayout.widget.ConstraintLayout>
HASIL