Tugas 2 PPB F

Nama    : Beryl

NRP      : 5025201029

Kelas     : Pemrograman Perangkat Bergerak F


Aplikasi Android menggunakan Jetpack Compose

Jetpack Compose adalah sebuah framework UI (User Interface) modern yang dikembangkan oleh Google untuk membuat antarmuka pengguna (UI) pada aplikasi Android. Pada tugas ini, saya membuat sebuah aplikasi android sederhana menggunakan Jetpack Compose melalui Android Studio. Berikut adalah beberapa dokumentasi untuk pengerjaan tugas saya.

Source Code: 

package com.example.tugasppb2
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.*
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import com.example.tugasppb2.ui.theme.TugasPPB2Theme

data class Profile(
    val name: String,
    val email: String,
    val phone: String,
    val skills: List,
)

val profile = Profile(
    name = "Beryl",
    email = "berylyenos1@gmail.com",
    phone = "089603278658",
    skills = listOf("C/C++", "C#", "Java", "Unity Engine")
)

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            TugasPPB2Theme {
                Surface(
                    modifier = Modifier.fillMaxSize(),
                    color = MaterialTheme.colorScheme.background
                ) {
                    ProfileSection(profile)
                    HeaderSection()
                }
            }
        }
    }
}

@Composable
fun HeaderSection(){
    Text(
        text = "Hello World",
        style = MaterialTheme.typography.headlineMedium,
        textAlign = TextAlign.Center,
        modifier = Modifier.padding(8.dp)
    )
}

@Composable
fun ProfileSection(profile: Profile) {
    Column(
        modifier = Modifier.fillMaxSize(),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        Text(
            text = "Name: " + profile.name,
            style = MaterialTheme.typography.bodyMedium,
            modifier = Modifier.padding(8.dp)
        )
        Text(
            text = "Email: " + profile.email,
            style = MaterialTheme.typography.bodyMedium,
            modifier = Modifier.padding(8.dp)
        )
        Text(
            text = "Email: " + profile.phone,
            style = MaterialTheme.typography.bodyMedium,
            modifier = Modifier.padding(8.dp)
        )
        Text(
            text = "Skills: " + profile.skills.joinToString(", "),
            style = MaterialTheme.typography.bodyMedium,
            modifier = Modifier.padding(8.dp)
        )
    }
}

Hasil: 



Comments

Post a Comment

Popular posts from this blog

Tugas 3 PPB F

Tugas 1 PPB F