wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

STS Ganjil Pemrograman Perangkat Bergerak Kelas XII

Total questions: 30

Worksheet time: 35mins

Name
Class
Date
1.

Dalam file `main.dart`, pengguna diarahkan ke `adminPage.dart` atau `memberPage.dart` berdasarkan peran (role) mereka. Jika semua pengguna diarahkan ke halaman admin, analisis apa yang paling masuk akal?

a)

Peran member tidak didukung Flutter

b)

Query login selalu mengembalikan nilai “admin”

c)

File `memberPage.dart` kosong

d)

User member tidak ada dalam tabel

e)

Form login menggunakan widget yang salah

2.

Dalam sistem login ini, jika pengguna memasukkan password salah, tetapi tetap berhasil login, komponen manakah yang kemungkinan perlu dianalisis?

a)

Widget TextFormField

b)

Struktur folder project

c)

Kondisi pengecekan hasil query login

d)

Fungsi runApp() di main.dart

e)

Fungsi dispose() tidak dipanggil

3.

Manakah praktik terbaik untuk mengamankan login Flutter yang terhubung ke MySQL melalui API?

a)

Langsung menyambungkan Flutter ke database MySQL

b)

Menggunakan API PHP yang memverifikasi data login di server

c)

Menyimpan username dan password di dalam variabel global

d)

Menyimpan data pengguna dalam file lokal JSON

e)

Menggunakan print() untuk menampilkan data login

4.

Pada file main.dart, rute awal aplikasi ditentukan dengan pernyataan: initialRoute: '/',

Apa dampak utama jika nilai properti initialRoute diubah menjadi '/home'?

a)

Aplikasi akan langsung menampilkan halaman register

b)

Aplikasi tidak akan bisa dijalankan sama sekali

c)

Aplikasi langsung membuka HomePage tanpa melalui proses login

d)

Aplikasi akan menampilkan error karena username belum tersedia

e)

Aplikasi akan meminta input email terlebih dahulu

5.

Jika `main.dart` berhasil dijalankan tapi navigasi ke halaman lain gagal, kemungkinan besar terjadi kesalahan pada:

a)

Pemanggilan widget `MaterialApp`

b)

Penggunaan `setState`

c)

Impor file seperti `adminPage.dart` tidak dilakukan

d)

Nama database tidak cocok

e)

Jumlah kolom pada form terlalu banyak

6.

Jika data produk tidak tampil di aplikasi meski database sudah dibuat, kemungkinan besar penyebabnya adalah:

a)

Widget `TextFormField` salah digunakan

b)

Fungsi `_getdata()` belum dipanggil di `initState()`

c)

File `create.php` tidak digunakan

d)

URL API mengarah ke `localhost` bukan IP lokal

e)

Tombol simpan tidak diberi warna

7.

Jika user berhasil menambah produk tapi tidak kembali ke halaman produk, kemungkinan kesalahan ada di bagian:

a)

Navigator.pushAndRemoveUntil tidak dipanggil

b)

TextEditingController tidak digunakan

c)

File read.php rusak

d)

Fungsi validator tidak dipakai

e)

Variabel _listdata tidak diinisialisasi

8.

Saat mencoba menyimpan data, snackBar selalu menampilkan "Data gagal disimpan". Apa penyebab yang mungkin?

a)

Field nama_produk tidak diberi controller

b)

Fungsi `_simpan()` tidak dipanggil

c)

Respon dari server bukan kode status 200

d)

ListView tidak memiliki itemBuilder

e)

Tidak ada form validator

9.

Kenapa validasi form penting sebelum menyimpan data?

a)

Untuk menghentikan semua proses

b)

Agar tombol Simpan berfungsi

c)

Untuk menghindari data kosong masuk ke database

d)

Supaya Scaffold tidak error

e)

Agar URL bisa diakses

10.

Evaluasilah alasan penggunaan `Form` dalam file `tambah_produk.dart`:

a)

Agar halaman memiliki AppBar

b)

Untuk bisa menggunakan `FormState.validate()`

c)

Untuk menyimpan data tanpa perlu controller

d)

Agar bisa membuat ListView

e)

Untuk menampilkan gambar produk

11.

Jika aplikasi berhasil menampilkan data produk, tetapi tidak bisa dihapus, apa yang harus dievaluasi pertama?

a)

Apakah tombol edit berfungsi

b)

Kode `delete.php` dan URL yang dituju

c)

Warna tombol hapus

d)

Import `material.dart`

e)

Judul halaman salah

12.

Kenapa penggunaan IP lokal (192.168.xx.xx) lebih tepat daripada `localhost` pada API Flutter?

a)

Karena emulator Flutter tidak mendukung IP

b)

Supaya tampilan lebih menarik

c)

Karena `localhost` mengarah ke emulator, bukan host PC

d)

Supaya bisa dipakai di aplikasi lain

e)

Karena Flutter tidak mendukung PHP

13.

Anda sedang mengembangkan aplikasi yang menggunakan Firebase Authentication untuk login pengguna dengan email dan kata sandi. Namun, Anda ingin memastikan bahwa pengguna hanya dapat mengakses data di Firestore berdasarkan peran mereka (admin atau user). Bagaimana Anda mengatur aturan keamanan Firestore untuk mencapai hal ini?

a)

Menggunakan request.auth.uid untuk memeriksa ID pengguna tanpa mempertimbangkan peran.

b)

Menambahkan field role di dokumen pengguna dan menggunakan get(/databases/$(database)/documents/users/$(request.auth.uid)).data.role dalam aturan keamanan

c)

Mengatur aturan keamanan untuk hanya mengizinkan akses berdasarkan request.auth.email

d)

Menggunakan request.resource.data.role untuk memeriksa peran pada data yang ditulis

e)

Mengizinkan semua pengguna terautentikasi mengakses semua dokumen tanpa memeriksa peran

14.

Dalam konfigurasi Firebase untuk aplikasi web, Anda menemukan bahwa inisialisasi Firebase gagal karena kesalahan "Missing or insufficient permissions". Apa langkah pertama yang harus Anda lakukan untuk mendiagnosis masalah ini?

a)

Memeriksa apakah API Key di firebaseConfig sesuai dengan proyek Firebase

b)

Memastikan aturan keamanan Firestore memungkinkan akses publik

c)

Memeriksa apakah pengguna sudah login menggunakan Firebase Authentication

d)

Mengganti SDK Firebase dengan versi terbaru di CDN

e)

Menonaktifkan aturan keamanan Firestore sementara untuk pengujian

15.

Anda sedang merancang sistem autentikasi menggunakan Firebase Authentication dengan provider Google. Bagaimana cara terbaik untuk menangani refresh token agar pengguna tetap login tanpa perlu autentikasi ulang setiap kali aplikasi dibuka?

a)

Menyimpan refresh token di Firestore dan mengambilnya setiap kali aplikasi dibuka

b)

Menggunakan metode onAuthStateChanged untuk memeriksa status autentikasi pengguna

c)

Mengatur persistence ke firebase.auth.Auth.Persistence.SESSION

d)

Menyimpan refresh token di localStorage browse

e)

Mengatur ulang token secara manual setiap jam menggunakan getIdToken

16.

Dalam Firestore, Anda ingin mengoptimalkan performa kueri untuk aplikasi dengan jumlah pengguna besar. Kueri Anda saat ini lambat karena tidak menggunakan indeks. Apa yang harus Anda lakukan untuk memperbaiki performa kueri ini?

a)

Mengubah struktur data untuk menghindari kueri kompleks

b)

Membuat indeks komposit secara manual di konsol Firebase

c)

Menggunakan limit() untuk membatasi jumlah dokumen yang dikembalikan

d)

Mengubah aturan keamanan Firestore untuk mengizinkan kueri tanpa autentikasi

e)

Mengganti Firestore dengan Realtime Database untuk kueri lebih cepat

17.

Anda ingin menerapkan fitur reset kata sandi menggunakan Firebase Authentication, tetapi pengguna melaporkan bahwa email reset tidak sampai. Apa kemungkinan penyebabnya?

a)

Pengguna tidak terdaftar di Firebase Authentication

b)

Konfigurasi SMTP di Firebase belum diatur

c)

Aturan keamanan Firestore membatasi akses ke email pengguna

d)

API Key di firebaseConfig salah

e)

Pengguna menggunakan provider autentikasi pihak ketiga seperti Google

18.

Dalam Firestore, Anda ingin membatasi pengguna hanya dapat membaca dokumen yang mereka buat. Bagaimana Anda menulis aturan keamanan untuk skenario ini?

a)

allow read: if request.auth.uid == resource.data.authorUid;

b)

allow read: if request.auth.email == resource.data.email;

c)

allow read: if request.auth != null;

d)

allow read: if resource.data.public == true;

e)

allow read: if request.resource.data.authorUid == request.auth.uid;

19.

Anda mengembangkan aplikasi multi-tenant dengan Firestore, di mana setiap tenant memiliki koleksi dokumen terpisah. Bagaimana cara terbaik untuk memastikan isolasi data antar-tenant?

a)

Menggunakan satu koleksi dengan field tenantId dan aturan keamanan berdasarkan tenantId

b)

Membuat database Firestore terpisah untuk setiap tenant

c)

Menggunakan subkoleksi untuk setiap tenant di bawah dokumen pengguna

d)

Mengatur aturan keamanan untuk mengizinkan akses berdasarkan email pengguna

e)

Menyimpan data tenant di Realtime Database alih-alih Firestore

20.

Anda ingin mengintegrasikan Firebase Authentication dengan sistem SSO perusahaan menggunakan SAML. Apa langkah yang diperlukan untuk mengaktifkan fitur ini?

a)

Mengatur provider SAML di konsol Firebase dan mengunggah metadata IdP

b)

Menggunakan signInWithRedirect dengan provider Google

c)

Mengaktifkan anonim login di Firebase Authentication

d)

Mengubah aturan keamanan Firestore untuk mengizinkan akses SAML

e)

Menggunakan API Key untuk autentikasi langsung ke server SAML

21.

Dalam Firestore, Anda ingin mengimplementasikan pagination untuk menampilkan daftar dokumen yang besar. Apa pendekatan terbaik untuk mencapai ini?

a)

Menggunakan limit() dan offset() untuk mengambil dokumen secara bertahap

b)

Menggunakan startAfter() dan limit() dengan referensi dokumen terakhir

c)

Mengambil semua dokumen sekaligus dan memfilter di sisi klien

d)

Mengubah struktur data untuk menggunakan ID numerik berurutan

e)

Menggunakan orderBy() tanpa limit() untuk pagination

22.

Anda menemukan bahwa operasi penulisan ke Firestore sering gagal karena batas rate limit. Bagaimana cara mengatasi masalah ini?

a)

Meningkatkan batas kuota proyek di konsol Firebase

b)

Menggunakan batch write untuk menggabungkan beberapa operasi penulisan

c)

Mengubah aturan keamanan untuk mengizinkan penulisan tanpa autentikasi

d)

Mengganti Firestore dengan Realtime Database untuk operasi penulisan

e)

Mengurangi jumlah dokumen dalam koleksi Firestore

23.

Pada Flutter, data hasil query API biasanya diubah menjadi objek dengan cara melakukan proses?

(a)  

24.

Apa teknik yang Anda gunakan di Flutter untuk mengoptimalkan operasi READ dari MySQL ketika menangani dataset besar dengan pagination?

(a)  

25.

Apa yang digunakan di Flutter untuk mempercepat operasi READ dari MySQL saat data jarang berubah?

(a)  

26.

Jika ingin mengambil semua data dari tabel users, perintah SQL yang digunakan adalah SELECT * FROM users. Operasi CRUD apakah ini?

(a)  

27.

Layanan Firebase yang digunakan untuk autentikasi pengguna dengan email & password adalah?

(a)  

28.

Jika ingin menyimpan data koleksi dan dokumen secara NoSQL di Firebase, maka layanan yang digunakan adalah?

(a)  

29.

Untuk mengatur aturan keamanan akses data di Firebase Firestore, fitur yang digunakan adalah?

(a)  

30.

Saat ingin melakukan query di Firestore berdasarkan kondisi tertentu, fungsi yang digunakan adalah?

(a)