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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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") | |
} | |
} | |
} |
Berikut adalah tampilan dari source code di atas
Komentar
Posting Komentar