Minggu, 30 Juni 2024

EAS PPB B

 Nama    : Dilla Wahdana

NRP       : 5025211060

Kelas     : PPB B


EAS PPB B

  1. Buat use case dan user flow dari aplikasi ? 
    i.saku adalah uang elektronik yang telah mendapat izin dari Bank Indonesia. Pakai i.saku memudahkan kamu untuk transaksi apa aja, mulai dari bayar belanja di Merchant, kirim uang, tarik tunai, dan bayar semua tagihan. Mudahkan hidupmu dalam bertransaksi dan nikmati ekstra untungnya pake i.saku.

    Berikut Use Case Flow dari i.saku:
    a. Membuat akun i.saku dan akun mitra.


    b. Melakukan Settlement/pencairan hasil penjualan

    c. Melihat riwayat aktivitas user


  2. Deskripsikan fitur aplikasi yang akan dibuat? 

    Fitur Riwayat:
    - Menampilkan daftar transaksi secara kronologis dengan informasi detail seperti tanggal, waktu, jumlah, jenis transaksi, dan status (selesai, pending, gagal).
    - Menyediakan filter dan pencarian untuk memudahkan pengguna menemukan transaksi tertentu berdasarkan parameter seperti tanggal, jenis transaksi, atau jumlah.
    - Mengizinkan pengguna untuk mengunduh laporan transaksi dalam format PDF atau Excel.

    Fitur Settlement
    - Menampilkan saldo yang tersedia untuk dicairkan.
    - Menyediakan form untuk memasukkan jumlah yang akan dicairkan dan informasi rekening bank tujuan.
    - Memberikan konfirmasi transaksi pencairan dan estimasi waktu pencairan (misalnya, 1-3 hari kerja).
    - Menyediakan riwayat pencairan dana yang mencakup tanggal, jumlah, dan status pencairan.

    Fitur Product
    - Menambahkan, mengedit, atau menghapus produk atau layanan.
    - Menyediakan informasi detail setiap produk, termasuk nama, deskripsi, harga, kategori, dan gambar produk.
    - Mengelola stok produk, termasuk pengaturan jumlah stok dan notifikasi stok rendah.
    - Menyediakan opsi untuk mengaktifkan atau menonaktifkan produk dari penjualan.

    Fitur Notifikasi
    - Mengirimkan notifikasi tentang transaksi baru, pencairan dana, stok produk rendah, dan promosi baru.
    - Memberikan pemberitahuan tentang aktivitas mencurigakan atau masalah keamanan pada akun.
    - Menyediakan opsi untuk mengatur preferensi notifikasi, seperti notifikasi melalui email, SMS, atau push notification.
    - Menampilkan log notifikasi yang dapat diakses oleh pengguna untuk melihat pemberitahuan sebelumnya.

  3. Gambarkan UI yang akan diimplementasikan. 

    a. Interface Registrasi

    b. Interface Sign In



    c. Interface Dashboard


    d. Interface Pencairan Penghasilan


  4. Implementasikan Rancangan ? 

  5. Buat Presentasi dan demo implementasi upload di Youtube, dan isi lembar monitoring?

Sabtu, 22 Juni 2024

Minggu, 09 Juni 2024

Tugas 8: Membuat Game Unscramble

 Nama    : Dilla Wahdana

NRP       : 5025211060

Kelas     : PPB B


Game Unscramble

    Aplikasi Unscramble adalah game pengacak ejaan kata untuk satu pemain. Aplikasi menampilkan kata acak, dan pemain harus menebak kata tersebut menggunakan semua huruf yang ditampilkan. Pemain akan mendapatkan poin jika kata tersebut benar. Jika tidak, pemain dapat mencoba menebak kata sebanyak-banyaknya. Aplikasi ini juga memiliki opsi untuk melewati kata saat ini. Di pojok kanan atas, aplikasi menampilkan jumlah kata, yaitu jumlah kata acak yang dimainkan dalam game saat ini. Ada 10 kata acak per game.


Untuk memahami kode awal, selesaikan langkah-langkah berikut:
  1. Buka project dengan kode awal di Android Studio.
  2. Jalankan aplikasi di perangkat Android atau di emulator.
  3. Ketuk tombol Submit dan Skip untuk menguji aplikasi.
Penjelasan Code:
  1. WordsData.kt
    File ini berisi daftar kata yang digunakan dalam game, konstanta untuk jumlah maksimum kata per game, dan jumlah poin skor pemain untuk setiap kata yang benar.
    package com.example.android.unscramble.data

    const val MAX_NO_OF_WORDS = 10
    const val SCORE_INCREASE = 20

    // Set with all the words for the Game
    val allWords
    : Set<String> =
       setOf
    (
           
    "animal",
           
    "auto",
           
    "anecdote",
           
    "alphabet",
           
    "all",
           
    "awesome",
           
    "arise",
           
    "balloon",
           
    "basket",
           
    "bench",
         
    // ...
           
    "zoology",
           
    "zone",
           
    "zeal"
    )
  2. MainActivity.kt
    File ini sebagian besar berisi kode yang dihasilkan oleh template. Anda menampilkan composable GameScreen di blok setContent{}.
  3. GameScreen.kt
    Semua composable UI ditentukan dalam file GameScreen.kt. Bagian berikut memberikan panduan tentang beberapa fungsi composable.
  4. GameStatus
    GameStatus adalah fungsi composable yang menampilkan skor game di bagian bawah layar. Fungsi composable berisi composable teks di Card. Untuk saat ini, skor di-hardcode menjadi 0.
    // No need to copy, this is included in the starter code.

    @Composable
    fun
    GameStatus(score: Int, modifier: Modifier = Modifier) {
       
    Card(
            modifier
    = modifier
       
    ) {
           
    Text(
                text
    = stringResource(R.string.score, score),
                style
    = typography.headlineMedium,
                modifier
    = Modifier.padding(8.dp)
           
    )
       
    }
    }
  5. GameLayout
    GameLayout adalah fungsi composable yang menampilkan fungsi game utama, yang mencakup kata acak, petunjuk game, dan kolom teks yang menerima tebakan pengguna.
    // No need to copy, this is included in the starter code.

    @Composable
    fun
    GameLayout(modifier: Modifier = Modifier) {
       val mediumPadding
    = dimensionResource(R.dimen.padding_medium)
       
    Card(
           modifier
    = modifier,
           elevation
    = CardDefaults.cardElevation(defaultElevation = 5.dp)
       
    ) {
           
    Column(
               verticalArrangement
    = Arrangement.spacedBy(mediumPadding),
               horizontalAlignment
    = Alignment.CenterHorizontally,
               modifier
    = Modifier.padding(mediumPadding)
           
    ) {
               
    Text(
                   modifier
    = Modifier
                       
    .clip(shapes.medium)
                       
    .background(colorScheme.surfaceTint)
                       
    .padding(horizontal = 10.dp, vertical = 4.dp)
                       
    .align(alignment = Alignment.End),
                   text
    = stringResource(R.string.word_count, 0),
                   style
    = typography.titleMedium,
                   color
    = colorScheme.onPrimary
               
    )
               
    Text(
                   text
    = "scrambleun",
                   style
    = typography.displayMedium
               
    )
               
    Text(
                   text
    = stringResource(R.string.instructions),
                   textAlign
    = TextAlign.Center,
                   style
    = typography.titleMedium
               
    )
               
    OutlinedTextField(
                   value
    = "",
                   singleLine
    = true,
                   shape
    = shapes.large,
                   modifier
    = Modifier.fillMaxWidth(),
                   colors
    = TextFieldDefaults.textFieldColors(containerColor = colorScheme.surface),
                   onValueChange
    = { },
                   label
    = { Text(stringResource(R.string.enter_your_word)) },
                   isError
    = false,
                   keyboardOptions
    = KeyboardOptions.Default.copy(
                       imeAction
    = ImeAction.Done
                   
    ),
                   keyboardActions
    = KeyboardActions(
                       onDone
    = { }
                   
    )
               
    )
           
    }
       
    }
    }
  6. GameScreen
  7. Composable GameScreen berisi fungsi composable GameStatus dan GameLayout, judul game, jumlah kata, dan composable untuk tombol Submit dan Skip.
    @Composable
    fun
    GameScreen() {
        val mediumPadding
    = dimensionResource(R.dimen.padding_medium)

       
    Column(
            modifier
    = Modifier
               
    .verticalScroll(rememberScrollState())
               
    .padding(mediumPadding),
            verticalArrangement
    = Arrangement.Center,
            horizontalAlignment
    = Alignment.CenterHorizontally
       
    ) {

           
    Text(
                text
    = stringResource(R.string.app_name),
                style
    = typography.titleLarge,
           
    )

           
    GameLayout(
                modifier
    = Modifier
                   
    .fillMaxWidth()
                   
    .wrapContentHeight()
                   
    .padding(mediumPadding)
           
    )
           
    Column(
                modifier
    = Modifier
                   
    .fillMaxWidth()
                   
    .padding(mediumPadding),
                verticalArrangement
    = Arrangement.spacedBy(mediumPadding),
                horizontalAlignment
    = Alignment.CenterHorizontally
           
    ) {

               
    Button(
                    modifier
    = Modifier.fillMaxWidth(),
                    onClick
    = { }
               
    ) {
                   
    Text(
                        text
    = stringResource(R.string.submit),
                        fontSize
    = 16.sp
                   
    )
               
    }

               
    OutlinedButton(
                    onClick
    = { },
                    modifier
    = Modifier.fillMaxWidth()
               
    ) {
                   
    Text(
                        text
    = stringResource(R.string.skip),
                        fontSize
    = 16.sp
                   
    )
               
    }
           
    }

           
    GameStatus(score = 0, modifier = Modifier.padding(20.dp))
       
    }
    }




EAS PPB B

 Nama     : Dilla Wahdana NRP         : 5025211060 Kelas       : PPB B EAS PPB B Buat use case dan user flow dari aplikasi ?  i.saku adalah ...