Font size
WorksheetsSTS Ganjil Pemrograman Perangkat Bergerak Kelas XII
Total questions: 30
Worksheet time: 35mins
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?
Peran member tidak didukung Flutter
Query login selalu mengembalikan nilai “admin”
File `memberPage.dart` kosong
User member tidak ada dalam tabel
Form login menggunakan widget yang salah
Dalam sistem login ini, jika pengguna memasukkan password salah, tetapi tetap berhasil login, komponen manakah yang kemungkinan perlu dianalisis?
Widget TextFormField
Struktur folder project
Kondisi pengecekan hasil query login
Fungsi runApp() di main.dart
Fungsi dispose() tidak dipanggil
Manakah praktik terbaik untuk mengamankan login Flutter yang terhubung ke MySQL melalui API?
Langsung menyambungkan Flutter ke database MySQL
Menggunakan API PHP yang memverifikasi data login di server
Menyimpan username dan password di dalam variabel global
Menyimpan data pengguna dalam file lokal JSON
Menggunakan print() untuk menampilkan data login
Pada file main.dart, rute awal aplikasi ditentukan dengan pernyataan: initialRoute: '/',
Apa dampak utama jika nilai properti initialRoute diubah menjadi '/home'?
Aplikasi akan langsung menampilkan halaman register
Aplikasi tidak akan bisa dijalankan sama sekali
Aplikasi langsung membuka HomePage tanpa melalui proses login
Aplikasi akan menampilkan error karena username belum tersedia
Aplikasi akan meminta input email terlebih dahulu
Jika `main.dart` berhasil dijalankan tapi navigasi ke halaman lain gagal, kemungkinan besar terjadi kesalahan pada:
Pemanggilan widget `MaterialApp`
Penggunaan `setState`
Impor file seperti `adminPage.dart` tidak dilakukan
Nama database tidak cocok
Jumlah kolom pada form terlalu banyak
Jika data produk tidak tampil di aplikasi meski database sudah dibuat, kemungkinan besar penyebabnya adalah:
Widget `TextFormField` salah digunakan
Fungsi `_getdata()` belum dipanggil di `initState()`
File `create.php` tidak digunakan
URL API mengarah ke `localhost` bukan IP lokal
Tombol simpan tidak diberi warna
Jika user berhasil menambah produk tapi tidak kembali ke halaman produk, kemungkinan kesalahan ada di bagian:
Navigator.pushAndRemoveUntil tidak dipanggil
TextEditingController tidak digunakan
File read.php rusak
Fungsi validator tidak dipakai
Variabel _listdata tidak diinisialisasi
Saat mencoba menyimpan data, snackBar selalu menampilkan "Data gagal disimpan". Apa penyebab yang mungkin?
Field nama_produk tidak diberi controller
Fungsi `_simpan()` tidak dipanggil
Respon dari server bukan kode status 200
ListView tidak memiliki itemBuilder
Tidak ada form validator
Kenapa validasi form penting sebelum menyimpan data?
Untuk menghentikan semua proses
Agar tombol Simpan berfungsi
Untuk menghindari data kosong masuk ke database
Supaya Scaffold tidak error
Agar URL bisa diakses
Evaluasilah alasan penggunaan `Form` dalam file `tambah_produk.dart`:
Agar halaman memiliki AppBar
Untuk bisa menggunakan `FormState.validate()`
Untuk menyimpan data tanpa perlu controller
Agar bisa membuat ListView
Untuk menampilkan gambar produk
Jika aplikasi berhasil menampilkan data produk, tetapi tidak bisa dihapus, apa yang harus dievaluasi pertama?
Apakah tombol edit berfungsi
Kode `delete.php` dan URL yang dituju
Warna tombol hapus
Import `material.dart`
Judul halaman salah
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?
Menggunakan request.auth.uid untuk memeriksa ID pengguna tanpa mempertimbangkan peran.
Menambahkan field role di dokumen pengguna dan menggunakan get(/databases/$(database)/documents/users/$(request.auth.uid)).data.role dalam aturan keamanan
Mengatur aturan keamanan untuk hanya mengizinkan akses berdasarkan request.auth.email
Menggunakan request.resource.data.role untuk memeriksa peran pada data yang ditulis
Mengizinkan semua pengguna terautentikasi mengakses semua dokumen tanpa memeriksa peran
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?
Memeriksa apakah API Key di firebaseConfig sesuai dengan proyek Firebase
Memastikan aturan keamanan Firestore memungkinkan akses publik
Memeriksa apakah pengguna sudah login menggunakan Firebase Authentication
Mengganti SDK Firebase dengan versi terbaru di CDN
Menonaktifkan aturan keamanan Firestore sementara untuk pengujian
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?
Menyimpan refresh token di Firestore dan mengambilnya setiap kali aplikasi dibuka
Menggunakan metode onAuthStateChanged untuk memeriksa status autentikasi pengguna
Mengatur persistence ke firebase.auth.Auth.Persistence.SESSION
Menyimpan refresh token di localStorage browse
Mengatur ulang token secara manual setiap jam menggunakan getIdToken
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?
Mengubah struktur data untuk menghindari kueri kompleks
Membuat indeks komposit secara manual di konsol Firebase
Menggunakan limit() untuk membatasi jumlah dokumen yang dikembalikan
Mengubah aturan keamanan Firestore untuk mengizinkan kueri tanpa autentikasi
Mengganti Firestore dengan Realtime Database untuk kueri lebih cepat
Anda ingin menerapkan fitur reset kata sandi menggunakan Firebase Authentication, tetapi pengguna melaporkan bahwa email reset tidak sampai. Apa kemungkinan penyebabnya?
Pengguna tidak terdaftar di Firebase Authentication
Konfigurasi SMTP di Firebase belum diatur
Aturan keamanan Firestore membatasi akses ke email pengguna
API Key di firebaseConfig salah
Pengguna menggunakan provider autentikasi pihak ketiga seperti Google
Dalam Firestore, Anda ingin membatasi pengguna hanya dapat membaca dokumen yang mereka buat. Bagaimana Anda menulis aturan keamanan untuk skenario ini?
allow read: if request.auth.uid == resource.data.authorUid;
allow read: if request.auth.email == resource.data.email;
allow read: if request.auth != null;
allow read: if resource.data.public == true;
allow read: if request.resource.data.authorUid == request.auth.uid;
Anda mengembangkan aplikasi multi-tenant dengan Firestore, di mana setiap tenant memiliki koleksi dokumen terpisah. Bagaimana cara terbaik untuk memastikan isolasi data antar-tenant?
Menggunakan satu koleksi dengan field tenantId dan aturan keamanan berdasarkan tenantId
Membuat database Firestore terpisah untuk setiap tenant
Menggunakan subkoleksi untuk setiap tenant di bawah dokumen pengguna
Mengatur aturan keamanan untuk mengizinkan akses berdasarkan email pengguna
Menyimpan data tenant di Realtime Database alih-alih Firestore
Anda ingin mengintegrasikan Firebase Authentication dengan sistem SSO perusahaan menggunakan SAML. Apa langkah yang diperlukan untuk mengaktifkan fitur ini?
Mengatur provider SAML di konsol Firebase dan mengunggah metadata IdP
Menggunakan signInWithRedirect dengan provider Google
Mengaktifkan anonim login di Firebase Authentication
Mengubah aturan keamanan Firestore untuk mengizinkan akses SAML
Menggunakan API Key untuk autentikasi langsung ke server SAML
Dalam Firestore, Anda ingin mengimplementasikan pagination untuk menampilkan daftar dokumen yang besar. Apa pendekatan terbaik untuk mencapai ini?
Menggunakan limit() dan offset() untuk mengambil dokumen secara bertahap
Menggunakan startAfter() dan limit() dengan referensi dokumen terakhir
Mengambil semua dokumen sekaligus dan memfilter di sisi klien
Mengubah struktur data untuk menggunakan ID numerik berurutan
Menggunakan orderBy() tanpa limit() untuk pagination
Anda menemukan bahwa operasi penulisan ke Firestore sering gagal karena batas rate limit. Bagaimana cara mengatasi masalah ini?
Meningkatkan batas kuota proyek di konsol Firebase
Menggunakan batch write untuk menggabungkan beberapa operasi penulisan
Mengubah aturan keamanan untuk mengizinkan penulisan tanpa autentikasi
Mengganti Firestore dengan Realtime Database untuk operasi penulisan
Mengurangi jumlah dokumen dalam koleksi Firestore
Pada Flutter, data hasil query API biasanya diubah menjadi objek dengan cara melakukan proses?
(a)
Apa teknik yang Anda gunakan di Flutter untuk mengoptimalkan operasi READ dari MySQL ketika menangani dataset besar dengan pagination?
(a)
Apa yang digunakan di Flutter untuk mempercepat operasi READ dari MySQL saat data jarang berubah?
(a)
Jika ingin mengambil semua data dari tabel users, perintah SQL yang digunakan adalah SELECT * FROM users. Operasi CRUD apakah ini?
(a)
Layanan Firebase yang digunakan untuk autentikasi pengguna dengan email & password adalah?
(a)
Jika ingin menyimpan data koleksi dan dokumen secara NoSQL di Firebase, maka layanan yang digunakan adalah?
(a)
Untuk mengatur aturan keamanan akses data di Firebase Firestore, fitur yang digunakan adalah?
(a)
Saat ingin melakukan query di Firestore berdasarkan kondisi tertentu, fungsi yang digunakan adalah?
(a)
