NIM : L0122011
Analisis Kode
Jadi pada aplikasi ini terdapat 4 file, yaitu MainActivity.kt (Halaman utama),
ProfileActivity(Halaman profile/kedua), beserta layoutnya (activity_main.xml dan
activity_profile.xml)
MainActivity.kt
package com.pab.profileapp
import android.content.Intent
import android.net.Uri
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
MainActivity.kt adalah file Kotlin yang bertanggung jawab untuk mengontrol tampilan
utama aplikasi. Ketika aktivitas dimulai, metode onCreate() dipanggil untuk menetapkan tata
letak dari file XML yang sesuai, yaitu activity_main.xml. Dalam metode goToProfile(),
aplikasi membuat Intent untuk membuka halaman profil, mengirimkan data tambahan seperti
NIM, Nama, Jurusan, Angkatan, dan Deskripsi, lalu memulai aktivitas baru. Metode
goToGitHub() digunakan untuk membuka halaman GitHub pengguna ketika tombol "Go to
My GitHub" ditekan.
2. Class MainActivity:
3. onCreate() Function:
4. goToProfile() Function:
5. goToGitHub() Function:
• Memulai aktivitas baru dengan Intent untuk membuka URL yang telah
ditentukan.
activity_main.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=".MainActivity">
<Button
android:id="@+id/githubButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/profileButton"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:minWidth="280dp"
android:onClick="goToGitHub"
android:text="Go to My GitHub" />
</RelativeLayout>
1. RelativeLayout:
3. ImageView (image1):
ProfileActivity.kt
package com.pab.profileapp
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.TextView
ProfileActivity.kt adalah file Kotlin yang mengontrol tampilan profil pengguna. Ketika
aktivitas dimulai, metode onCreate() dipanggil untuk menetapkan tata letak dari file XML yang
sesuai, yaitu activity_profile.xml, dan menampilkan informasi profil pengguna yang diterima
dari MainActivity. Tombol "Share" memanggil metode shareProfile() untuk berbagi profil
melalui aplikasi lain.
2. Class ProfileActivity:
3. onCreate() Function:
4. shareProfile() Function:
activity_profile.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"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".ProfileActivity">
<androidx.cardview.widget.CardView
android:id="@+id/profileImage"
android:layout_width="150dp"
android:layout_height="150dp"
app:cardCornerRadius="75dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp">
<ImageView
android:scaleType="centerCrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/jameshunt" />
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/nimTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/profileImage"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:textStyle="bold"
android:textSize="16sp"
android:text="NIM" />
<TextView
android:id="@+id/namaTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/nimTextView"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:textStyle="bold"
android:textSize="16sp"
android:text="Nama" />
<TextView
android:id="@+id/jurusanTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/namaTextView"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:textStyle="bold"
android:textSize="16sp"
android:text="Jurusan, Angkatan" />
<TextView
android:id="@+id/deskripsiDiri"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/jurusanTextView"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:textStyle="bold"
android:textSize="16sp"
android:text="Deskripsi Diri" />
<TextView
android:id="@+id/isiDeskripsiDiri"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/deskripsiDiri"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:layout_marginLeft="60dp"
android:layout_marginRight="60dp"
android:textAlignment="center"
android:textSize="16sp" />
<Button
android:id="@+id/shareButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/isiDeskripsiDiri"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:minWidth="280dp"
android:onClick="shareProfile"
android:text="Share" />
</RelativeLayout>
1. RelativeLayout:
2. CardView (profileImage):
4. Button (shareButton):
1. Saat aplikasi dimulai, MainActivity dipanggil dan menetapkan tata letak utama dari
activity_main.xml.
2. Pengguna dapat memilih untuk menuju halaman profil dengan menekan tombol "Go
to Profile" atau menuju halaman GitHub dengan menekan tombol "Go to My GitHub".
3. Jika tombol "Go to Profile" ditekan, metode goToProfile() dipanggil untuk membuka
ProfileActivity.
4. ProfileActivity menampilkan profil pengguna dengan informasi yang diterima dari
MainActivity.
5. Pengguna dapat memilih untuk berbagi profil dengan menekan tombol "Share", yang
memanggil metode shareProfile() untuk memulai aktivitas berbagi profil.
6. Pengguna dapat kembali ke MainActivity dengan menekan tombol kembali di
perangkat mereka.
7. Jika tombol “Go to My GitHub” ditekan, maka pengguna akan di arahkan ke laman
GitHub user.
Kesimpulan: