Tugas PPB 2

Nama: Mohammad Firman Fardiansyah

NRP: 5025201109

Kelas: PPB I

Apa itu Jetpack Compose?

Jetpack Compose merupakan sebuah toolkit untuk membangun User Interface (UI) pada aplikasi Android yang dikembangkan oleh Google. Jetpack Compose dirancang untuk mempermudah dan mempercepat pembuatan UI sebuah aplikasi dengan menggunakan pendekatan deklaratif, dimana UI dideskripsikan dalam bentuk state Compose bertanggung jawab untuk mengelola rendering UI tersebut.

Berbeda dengan pendekatan tradisional Android yang menggunakan XML untuk mendefinisikan layout dan Java/Kotlin untuk logika, Jetpack Compose akan mendefinisikan UI dan logika secara langsung dalam Kotlin. Hal ini akan membuat kode lebih simpel, mudah dibaca, dan memungkinkan hot reload, yang berarti perubahan pada kode dapat langsung dilihat pada aplikasi tanpa running ulang.

Jetpack Compose mengintegrasikan fitur-fitur seperti state management, navigasi, animasi, dan banyak fitur lain, sehingga memungkinkan mengembangkan aplikasi yang kompleks dengan lebih efisien. Karena merupakan bagian dari Jetpack, Compose juga dirancang untuk bekerja dengan baik dengan komponen Jetpack lainnya, seperti LiveData, ViewModel, dan Room.

Penerapan Jetpack Compose


package com.example.tugasppb
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.sp
import androidx.compose.ui.tooling.preview.Preview
import com.example.tugasppb.ui.theme.TugasPPBTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
TugasPPBTheme {
Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background) {
Column {
Greeting("Android")
Biodata("Mohammad Firman Fardiansyah", "502520109")
}
}
}
}
}
}
@Composable
fun Greeting(title: String, modifier: Modifier = Modifier) {
Text(
text = "Welcome to $title",
fontSize = 30.sp,
fontWeight = FontWeight.Bold,
textAlign = TextAlign.Center,
modifier = Modifier.fillMaxWidth()
)
}
@Composable
fun Biodata(name: String, nrp: String){
Column {
Text(text = "Nama: $name", fontSize = 20.sp)
Text(text = "NRP: $nrp", fontSize = 20.sp)
}
}
@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
TugasPPBTheme {
Column{
Greeting("Android")
Biodata("Mohammad Firman Fardiansyah", "502520109")
}
}
}
view raw MainActivity.kt hosted with ❤ by GitHub
Berikut adalah tampilan dari source code di atas


Komentar

Postingan populer dari blog ini

Tugas PPB 3

ETS PPB