wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Bank Soal KRPL 12 RPL

Total questions: 80

Worksheet time: 50mins

Name
Class
Date
1.
Manakah cara yang benar untuk mendeklarasikan variabel dalam bahasa Dart?
a)
var nama = "John"
b)
variable nama = "John"
c)
string nama = "John"
d)
declare nama = "John"
e)
let nama = "John"
2.
Tipe data yang digunakan untuk menyimpan nilai true atau false dalam Dart adalah...
a)
int
b)
String
c)
bool
d)
double
e)
var
3.
Hasil dari operasi 15 % 4 dalam Dart adalah...
a)
0.17708333333333334
b)
3
c)
4
d)
15
e)
1
4.
Kata kunci yang digunakan untuk mendefinisikan fungsi yang tidak mengembalikan nilai dalam Dart adalah...
a)
void
b)
null
c)
empty
d)
return
e)
function
5.
Perulangan for yang benar untuk mencetak angka 1 sampai 5 adalah...
a)
for(i = 1; i <= 5; i++)
b)
for(int i = 0; i < 5; i++)
c)
for(int i = 1; i < 5; i++)
d)
for(int i = 1; i <= 5; i++)
e)
for(var i = 1; i < 6; i++)
6.
Jika nilai = 85, maka output dari kode berikut adalah... if(nilai >= 80) { print("A"); } else if(nilai >= 70) { print("B"); } else { print("C"); }
a)
A B
b)
A
c)
B
d)
C
e)
Error
7.
Perintah yang digunakan untuk mengecek instalasi Flutter adalah...
a)
flutter check
b)
flutter status
c)
flutter doctor
d)
flutter version
e)
flutter install
8.
Extension yang wajib diinstall di VS Code untuk pengembangan Flutter adalah...
a)
Flutter dan Dart
b)
JavaScript dan HTML
c)
Python dan Java
d)
C++ dan C#
e)
PHP dan MySQL
9.
File utama yang berisi kode Dart dalam project Flutter adalah...
a)
index.dart
b)
main.dart
c)
app.dart
d)
home.dart
e)
start.dart
10.
Cara yang benar untuk membuat widget Text dengan ukuran font 20 adalah...
a)
Text("Hello", style: TextStyle(fontSize: 20))
b)
Text("Hello", fontSize: 20)
c)
Text("Hello", size: 20)
d)
Text("Hello").fontSize(20)
e)
Text("Hello", textSize: 20)
11.
Widget Row akan menyusun child widget secara...
a)
Vertikal dari atas ke bawah
b)
Vertikal dari bawah ke atas
c)
Horizontal dari kiri ke kanan
d)
Horizontal dari kanan ke kiri
e)
Diagonal
12.
Properti yang digunakan untuk mengatur posisi child dalam Column widget adalah...
a)
alignment
b)
mainAxisAlignment
c)
position
d)
location
e)
direction
13.
Untuk memberikan jarak dalam (padding) pada Container widget, properti yang digunakan adalah...
a)
margin
b)
spacing
c)
gap
d)
padding
e)
border
14.
Karakteristik utama dari Stateless Widget adalah...
a)
Tidak dapat berubah setelah dibuat
b)
Dapat berubah kapan saja
c)
Memiliki state yang dinamis
d)
Selalu memerlukan setState()
e)
Hanya untuk widget kompleks
15.
Method yang digunakan untuk memperbarui state dalam Stateful Widget adalah...
a)
updateState()
b)
refreshState()
c)
setState()
d)
changeState()
e)
newState()
16.
Properti yang digunakan untuk menangani event tap pada widget Button adalah...
a)
onClick
b)
onPressed
c)
onTap
d)
onTouch
e)
onClick
17.
Dalam state management sederhana, data yang berubah disimpan dalam...
a)
Variable instance dalam State class
b)
Global variable
c)
Static variable
d)
Constant variable
e)
Final variable
18.
Evaluasi hasil dari ekspresi: (10 > 5) && (3 < 8) || (15 == 10)
a)
False
b)
null
c)
True
d)
error
e)
0
19.
Kombinasi widget yang paling efisien untuk membuat layout 2x2 grid adalah...
a)
4 Container terpisah
b)
Column berisi 2 Row
c)
Row berisi 2 Column
d)
4 Text widget
e)
Stack dengan 4 Positioned
20.
Method yang dipanggil pertama kali saat Stateful Widget dibuat adalah...
a)
initState()
b)
build()
c)
dispose()
d)
didUpdateWidget()
e)
createState()
21.
Tipe data primitif dalam Dart meliputi...
a)
int
b)
List
c)
double
d)
bool
e)
Map
22.
Jenis operator dalam Dart antara lain...
a)
Operator aritmatika (+, -, *, /)
b)
Operator perbandingan (==, !=, >, <)
c)
Operator increment (++)
d)
Operator logika (&&, ||, !)
e)
Operator assignment (=)
23.
Jenis parameter dalam fungsi Dart meliputi...
a)
Global parameter
b)
Required parameter
c)
Optional positional parameter
d)
Static parameter
e)
Named parameter
24.
Jenis perulangan yang tersedia dalam Dart adalah...
a)
for loop
b)
repeat loop
c)
while loop
d)
do-while loop
e)
foreach loop
25.
Statement percabangan dalam Dart meliputi...
a)
if statement
b)
switch statement
c)
case statement (tanpa switch)
d)
conditional operator (?:)
e)
goto statement
26.
Komponen yang perlu diinstall untuk development Flutter meliputi...
a)
Flutter SDK
b)
MySQL Database
c)
Android Studio atau VS Code
d)
Dart SDK
e)
Node.js
27.
Widget dasar dalam Flutter meliputi...
a)
Text
b)
Container
c)
Database
d)
Row dan Column
e)
HTTP Request
28.
Widget yang digunakan untuk layout dalam Flutter antara lain...
a)
Text
b)
Row
c)
Column
d)
String
e)
Stack
29.
Properti yang dapat digunakan pada Container widget meliputi...
a)
padding
b)
onPressed
c)
margin
d)
decoration
e)
setState
30.
Perbedaan antara Stateful dan Stateless Widget meliputi...
a)
Stateless tidak dapat berubah
b)
Keduanya sama saja
c)
Stateful memiliki setState()
d)
Stateless lebih kompleks
e)
Stateful dapat berubah dinamis
31.
Event handling dalam Flutter dapat dilakukan melalui...
a)
onPressed pada Button
b)
onTap pada GestureDetector
c)
onLoad pada Widget
d)
onChanged pada TextField
e)
onStart pada Application
32.
Cara yang benar untuk update state dalam Stateful Widget meliputi...
a)
Langsung mengubah variable
b)
Menggunakan setState()
c)
Memanggil setState() sebelum mengubah data
d)
Menggunakan refreshState()
e)
Mengubah data di dalam setState()
33.
File dan folder penting dalam project Flutter meliputi...
a)
lib/main.dart
b)
src/index.html
c)
pubspec.yaml
d)
android/ dan ios/
e)
node_modules/
34.
Fitur lanjutan dalam bahasa Dart meliputi...
a)
Null safety
b)
Multiple inheritance
c)
Async/await
d)
Pointer arithmetic
e)
Generic types
35.
Widget yang dapat berinteraksi dengan user meliputi...
a)
Text
b)
Button
c)
TextField
d)
Switch
e)
Container
36.

Jodohkan konsep Dart dengan definisinya yang tepat!

a)

Tempat menyimpan data

1.

Variabel

b)

Blok kode yang dapat dipanggil berulang

2.

Function

c)

Struktur untuk pengulangan

3.

Loop

d)

Statement untuk mengambil keputusan

4.

Condition

e)

Symbol untuk operasi matematika

5.

Operator

37.

Jodohkan widget Flutter dengan fungsinya!

a)

Widget untuk menampilkan teks

1.

Text

b)

Widget untuk membuat kotak dengan styling

2.

Container

c)

Widget untuk menyusun horizontal

3.

Row

d)

Widget untuk menyusun vertikal

4.

Column

e)

Widget untuk menumpuk widget lain

5.

Stack

38.

Jodohkan tools dengan kegunaannya dalam pengembangan Flutter!

a)

Text editor dengan extension Flutter

1.

VS Code

b)

Framework untuk mobile development

2.

Flutter SDK

c)

Compiler bahasa Dart

3.

Dart SDK

d)

IDE untuk Android development

4.

Android Studio

e)

Tool untuk checking instalasi

5.

Flutter Doctor

39.

Jodohkan jenis state dengan contohnya!

a)

Widget yang tidak berubah

1.

Stateless Widget

b)

Widget yang dapat berubah

2.

Stateful Widget

c)

Data dalam satu widget saja

3.

Local State

d)

Fungsi untuk menangani interaksi

4.

Event Handler

e)

Proses mengubah state

5.

State Update

40.

Jodohkan method lifecycle dengan fungsinya!

a)

Inisialisasi saat widget dibuat

1.

initState()

b)

Membangun tampilan widget

2.

build()

c)

Membersihkan resource saat widget dihapus

3.

dispose()

d)

Memperbarui state widget

4.

setState()

e)

Dipanggil saat widget parent berubah

5.

didUpdateWidget()

41.
Perbedaan utama antara const dan final dalam Dart adalah...
a)
const dapat diubah, final tidak dapat diubah
b)
const adalah compile-time constant, final adalah runtime constant
c)
const dan final sama saja
d)
const hanya untuk String, final untuk angka
e)
const lebih lambat daripada final
42.
Hasil dari kode berikut: List<int> angka = [1,2,3]; angka.add(4); print(angka.length)
a)
2
b)
3
c)
4
d)
5
e)
Error
43.
Cara yang benar untuk mengakses nilai dalam Map adalah...
a)
map['key']
b)
map.get('key')
c)
map.value('key')
d)
map.access('key')
e)
map->key
44.
Operator yang digunakan untuk null-aware access dalam Dart adalah...
a)
.
b)
!
c)
?
d)
?.
e)
??
45.
Cara yang benar untuk melakukan string interpolation dengan variabel nama = "John" adalah...
a)
print("Hello " + nama)
b)
print("Hello $nama")
c)
print("Hello " + $nama)
d)
print("Hello ${nama}")
e)
print("Hello \$nama")
46.
Blok kode yang akan selalu dieksekusi dalam exception handling adalah...
a)
finally
b)
catch
c)
try
d)
throw
e)
on
47.
Constructor default dalam Dart adalah...
a)
Constructor dengan parameter
b)
Constructor tanpa nama
c)
Constructor dengan nama sama seperti class
d)
Constructor dengan keyword default
e)
Constructor dengan return type
48.
Keyword yang digunakan untuk inheritance dalam Dart adalah...
a)
implements
b)
extends
c)
inherits
d)
super
e)
override
49.
Keyword yang digunakan untuk menunggu hasil dari Future adalah...
a)
await
b)
async
c)
wait
d)
future
e)
then
50.
Cara yang benar untuk mengimport package dalam Dart adalah...
a)
include 'package:flutter/material.dart'
b)
require 'package:flutter/material.dart'
c)
using 'package:flutter/material.dart'
d)
import 'package:flutter/material.dart'
e)
from 'package:flutter/material.dart'
51.
Keuntungan utama hot reload dalam pengembangan Flutter adalah...
a)
Membuat aplikasi berjalan lebih cepat
b)
Melihat perubahan kode secara real-time tanpa restart
c)
Mengurangi ukuran aplikasi
d)
Mempercepat proses build
e)
Mengurangi penggunaan memory
52.
Properti Scaffold yang digunakan untuk menambahkan floating action button adalah...
a)
actionButton
b)
fab
c)
floatingActionButton
d)
button
e)
floatingButton
53.
Properti AppBar yang digunakan untuk mengubah warna background adalah...
a)
backgroundColor
b)
color
c)
backgroundTint
d)
appBarColor
e)
barColor
54.
Widget yang digunakan untuk membuat navigation drawer adalah...
a)
NavigationDrawer
b)
SideMenu
c)
MenuDrawer
d)
Drawer
e)
SideDrawer
55.
Cara yang benar untuk menampilkan gambar dari assets adalah...
a)
Image.asset("images/logo.png")
b)
Image.fromAsset("images/logo.png")
c)
Image.load("images/logo.png")
d)
Image.file("images/logo.png")
e)
Image.network("images/logo.png")
56.
Jenis ListView yang paling efisien untuk data dalam jumlah besar adalah...
a)
ListView
b)
ListView.separated
c)
ListView.builder
d)
ListView.custom
e)
ListView.dynamic
57.
Parameter yang menentukan jumlah kolom dalam GridView.count adalah...
a)
crossAxisCount
b)
columnCount
c)
gridCount
d)
axisCount
e)
itemCount
58.
Widget yang digunakan untuk validasi input dalam Flutter adalah...
a)
ValidatorField
b)
TextFormField
c)
InputValidator
d)
FormField
e)
ValidationField
59.
Properti yang digunakan untuk mengatur tema aplikasi Flutter adalah...
a)
appTheme
b)
materialTheme
c)
flutterTheme
d)
theme
e)
colorTheme
60.
Widget yang digunakan untuk membuat layout responsif adalah...
a)
ResponsiveWidget
b)
AdaptiveLayout
c)
MediaQuery
d)
FlexibleLayout
e)
ResponsiveBuilder
61.
Provider adalah salah satu cara untuk...
a)
Mengelola state aplikasi
b)
Membuat database
c)
Mengatur navigasi
d)
Menampilkan gambar
e)
Mengatur tema
62.
Komponen utama dalam BLoC pattern adalah...
a)
Model dan Controller
b)
Event, State, dan BLoC
c)
View dan ViewModel
d)
Component dan Service
e)
Widget dan State
63.
Package yang digunakan untuk menyimpan data sederhana secara lokal adalah...
a)
local_storage
b)
simple_storage
c)
data_storage
d)
shared_preferences
e)
local_data
64.
Package yang umum digunakan untuk HTTP request dalam Flutter adalah...
a)
network
b)
request
c)
http
d)
api_client
e)
web_request
65.
Method yang digunakan untuk mengubah JSON string menjadi Map adalah...
a)
json.decode()
b)
json.parse()
c)
json.fromString()
d)
json.toMap()
e)
json.convert()
66.
Method yang digunakan untuk berpindah ke halaman baru adalah...
a)
Navigator.go()
b)
Navigator.push()
c)
Navigator.move()
d)
Navigator.change()
e)
Navigator.route()
67.
Cara yang benar untuk mendefinisikan named route adalah...
a)
routes: {'/home': HomePage}
b)
namedRoutes: {'/home': HomePage}
c)
routes: {'/home': (context) => HomePage()}
d)
routeMap: {'/home': HomePage}
e)
namedRoute: {'/home': HomePage}
68.
Controller yang digunakan untuk mengontrol animasi dalam Flutter adalah...
a)
AnimationManager
b)
AnimController
c)
AnimateController
d)
AnimationController
e)
MotionController
69.
Widget yang digunakan untuk mendeteksi gesture pada widget lain adalah...
a)
GestureDetector
b)
TouchDetector
c)
InteractionDetector
d)
InputDetector
e)
TapDetector
70.
Keuntungan utama membuat custom widget adalah...
a)
Mengurangi ukuran aplikasi
b)
Code reusability dan maintainability
c)
Mempercepat rendering
d)
Mengurangi memory usage
e)
Mempermudah debugging
71.
Fitur lanjutan dalam Dart meliputi...
a)
Mixins
b)
Multiple inheritance
c)
Extension methods
d)
Generics
e)
Pointer arithmetic
72.
Properti lanjutan yang tersedia pada berbagai widget Flutter...
a)
onLoad
b)
decoration
c)
onLongPress
d)
clipBehavior
e)
onDestroy
73.
Solusi state management yang tersedia dalam Flutter ecosystem...
a)
Provider
b)
BLoC/Cubit
c)
Redux
d)
Riverpod
e)
MobX
74.
Teknik untuk optimasi build dalam Flutter...
a)
Menggunakan const constructor
b)
Rebuild seluruh widget tree
c)
Memisahkan widget menjadi komponen kecil
d)
Menggunakan GlobalKey untuk semua widget
e)
Menggunakan Builder widget
75.
Metode untuk menyimpan data dalam Flutter aplikasi...
a)
Memory storage only
b)
SharedPreferences
c)
SQLite database
d)
File system
e)
Session storage
76.

Jodohkan konsep OOP Dart dengan implementasinya!

a)

Private fields dengan underscore (_)

1.

Encapsulation

b)

Keyword extends

2.

Inheritance

c)

Method overriding

3.

Polymorphism

d)

Abstract class dan interface

4.

Abstraction

e)

Keyword with

5.

Mixin

77.

Jodohkan komponen arsitektur Flutter dengan fungsinya!

a)

Representasi UI dalam memory

1.

Widget Tree

b)

Mengelola lifecycle widget

2.

Element Tree

c)

Melakukan rendering ke screen

3.

Render Tree

d)

Reference ke lokasi widget dalam tree

4.

Build Context

e)

Identifier unik untuk widget

5.

Key

78.

Jodohkan jenis testing dengan tools yang digunakan!

a)

test() function

1.

Unit Test

b)

testWidgets() function

2.

Widget Test

c)

flutter_driver

3.

Integration Test

d)

DevTools performance tab

4.

Performance Test

e)

matchesGoldenFile()

5.

Golden Test

79.

Jodohkan perintah package management dengan fungsinya!

a)

Download dependencies

1.

flutter pub get

b)

Menambah package baru

2.

flutter pub add

c)

Update semua packages

3.

flutter pub upgrade

d)

Cek package yang outdated

4.

flutter pub outdated

e)

Menghapus package

5.

flutter pub remove

80.

Jodohkan teknik optimasi dengan implementasinya!

a)

ListView.builder untuk list besar

1.

Lazy Loading

b)

Menggunakan const widgets

2.

Widget Caching

c)

Cached network image

3.

Image Optimization

d)

Dispose controllers dan streams

4.

Memory Management

e)

Memisahkan widget complex menjadi smaller widgets

5.

Build Optimization