Posts

EAS-PPB-F-5025201140

 Nama : Ezekiel Mashal Wicaksono  NRP : 5025201140  Kelas : PPB F Jawaban : 

Tugas 7 - ViewModel and State in Compose

Image
Nama : Ezekiel Mashal Wicaksono NRP : 5025201140 Kelas : PPB - F  Pada tugas kali ini saya membuat sebuah aplikasi permainan Unscramble di mana pengguna dapat menebak kata-kata yang diacak. Aplikasi ini juga menerapkan ViewModel, sebuah komponen arsitektur dari pustaka Android Jetpack yang dapat menyimpan data aplikasi. Data yang disimpan tetap aman meskipun framework menghancurkan dan membuat ulang aktivitas selama perubahan konfigurasi atau kejadian lainnya. Namun, jika aktivitas dihancurkan karena proses mati, data akan hilang Source Code @Composable fun GameScreen (gameViewModel: GameViewModel = viewModel()) { val gameUiState by gameViewModel.uiState.collectAsState() val mediumPadding = dimensionResource(R.dimen.padding_medium) Column( modifier = Modifier .statusBarsPadding() .verticalScroll(rememberScrollState()) .safeDrawingPadding() .padding(mediumPadding), verticalArrangement = Arrangeme...

ETS - PPB F - Ezekiel Mashal Wicaksono

Berikut link GDOCS :  https://docs.google.com/document/d/1aTvsFTnCf0DV2HFUL_6nlnNRhBjCTCdz9V1jNq915jY/edit?usp=sharing

TUGAS 4 - PPB F - Aplikasi Roll Dice

Image
Nama : Ezekiel Mashal Wicaksono NRP : 5025201140 Kelas : PPB F Pada tugas 4 ini saya membuat aplikasi sederhana Roll Dice .  Aplikasi berupa implementasi dari sebuah dice roller yang dapat menampilkan gambar dice dengan 6 kemungkinan sisi. Penyesuaian dan pembuatan dari aplikasi ini mengikuti video tutorial yang telah disampikan pada kelas.  Berikut adalah source code yang saya miliki  package com.example.diceroller import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.material3.Button import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compos...

TUGAS 3 - PPB F - Aplikasi Happy Birthday

Image
Nama : Ezekiel Mashal Wicaksono NRP : 5025201140 Kelas : PPB F Pada tugas 3 ini saya membuat aplikasi Ulang Tahun menggunakan JetPack Compose . Berikut adalah source code yang saya miliki  package com.example.helloworld import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.navigation.fragment.findNavController import com.example.helloworld.databinding.FragmentFirstBinding /** * A simple [Fragment] subclass as the default destination in the navigation. */ class FirstFragment : Fragment() { private var _binding: FragmentFirstBinding? = null // This property is only valid between onCreateView and // onDestroyView. private val binding get() = _binding!! override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { _binding = FragmentFirstBinding.inflate(infla...

TUGAS 2 - PPB F - Membuat Aplikasi Sederhana Menggunakan Jetpack Compose

Image
Nama : Ezekiel Mashal Wicaksono NRP : 5025201140 Kelas : PPB F Pada tugas 2 ini saya membuat aplikasi sederhana menggunakan JetPack Compose . Berikut adalah source code yang saya miliki  package com.example.helloworld import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.navigation.fragment.findNavController import com.example.helloworld.databinding.FragmentFirstBinding /** * A simple [Fragment] subclass as the default destination in the navigation. */ class FirstFragment : Fragment() { private var _binding: FragmentFirstBinding? = null // This property is only valid between onCreateView and // onDestroyView. private val binding get() = _binding!! override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { _binding = FragmentFirstBinding.inflate(inflate...