wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

STS Ganjil Pemrograman Perangkat Bergerak Kelas XI

Total questions: 40

Worksheet time: 35mins

Name
Class
Date
1.

Apa yang dimaksud dengan Dart dalam pemrograman perangkat bergerak?

a)

Framework pengembangan aplikasi

b)

Sistem operasi mobile

c)

Perangkat lunak Google

d)

Bahasa pemrograman open source

2.

Apa fungsi utama yang pertama kali dijalankan dalam bahasa pemrograman Dart?

a)

main()

b)

print()

c)

run()

d)

terminal()

3.

Bagaimana cara menampilkan output teks 'Hello World' dalam bahasa pemrograman Dart?

a)

print('Hello World');

b)

show('Hello World');

c)

log('Hello World');

d)

display('Hello World');

4.

Apa struktur penulisan variabel yang benar dalam Dart?

a)

dataType Initial Value = variableName

b)

dataType variableName = Initial Value

c)

variableName = Initial Value dataType

d)

Initial Value = variableName dataType

5.

Tipe data apa yang digunakan untuk menyimpan koleksi objek secara berurutan di Dart?

(a)  

6.

Apa perbedaan operator ++ didepan dan dibelakang variable dalam Dart?

a)

Didepan menambahkan setelah eksekusi, dibelakang menambahkan sebelum eksekusi

b)

Didepan dan dibelakang sama-sama menambahkan setelah eksekusi

c)

Didepan menambahkan sebelum eksekusi, dibelakang menambahkan setelah eksekusi

d)

Didepan dan dibelakang sama-sama menambahkan sebelum eksekusi

7.

Apa yang dimaksud dengan Type Conversion dalam pemrograman Dart?

a)

Mengubah tipe data menjadi string

b)

Mengubah tipe data dari satu ke yang lain

c)

Mengubah tipe data menjadi boolean

d)

Mengubah tipe data menjadi integer

8.

Operator aritmatika digunakan untuk operasi seperti penambahan dan pengurangan. Apa operator aritmatika yang digunakan untuk modulus?

a)

/

b)

%

c)

&

d)

*

9.

Tipe data apa yang digunakan untuk kumpulan item unik yang tidak berurutan dalam Dart?

a)

Map

b)

List

c)

Array

d)

Set

10.

Apa fungsi dari operator Relational and Logical dalam pemrograman Dart?

a)

Operasi aritmatika

b)

Operasi increment

c)

Operasi assignment

d)

Operasi perbandingan

11.

Tipe data yang tepat digunakan untuk bilangan pecahan atau desimal pada bahasa pemrograman Dart adalah...

(a)  

12.

Konvensi penamaan variabel di Dart adalah...

(a)  

13.

Tipe data yang tepat digunakan untuk variabel berikut adalah...

(a)  

14.

Nilai yang dihasilkan dari kode program pada baris ke-7 adalah...

(a)  

15.

Nilai yang dihasilkan oleh kode program pada baris ke-6 adalah...

(a)  

16.

Hasil dari kode program berikut pada baris ke-6 adalah...

a)

true

b)

false

c)

456

d)

7889

17.

Output yang dihasilkan pada baris ke-8 berikut adalah...

a)

[Caca, Dodo]

b)

[Dodo, Kiki]

c)

[Caca, Kiki]

d)

Error

18.

Output yang dihasilkan dari potongan program berikut adalah...

(a)  

19.

Output yang dihasilkan kode program berikut pada baris ke-14 adalah...

a)

Kuning

b)

True

c)

False

d)

Error

20.

Output dari kode program berikut pada baris ke-12 adalah...

a)

(United States, England, China, Indonesia)

b)

(Washington D.C, London, Beijing, Jakarta)

c)

(United States, England, China)

d)

(Washington D.C, London, Beijing)

21.

Ketika ingin membuat program untuk memeriksa apakah sebuah angka genap atau ganjil menggunakan operator ternary. Manakah kode berikut yang benar?

a)

String result = number % 2 == 0 ? "Genap" : "Ganjil";

b)

String result = number % 2 ? "Genap" : "Ganjil";

c)

String result = number % 2 == 0 ? "Ganjil" : "Genap";

d)

String result = number % 2 == 0 : "Genap" ? "Ganjil";

22.

Dalam perulangan while untuk tantangan oven (suhu awal 50, naik 10 hingga mencapai 250), berapa kali suhu oven perlu dinaikkan?

(a)  

23.

Berikut merupakan fungsi yang digunakan untuk menghitung kuadrat sebuah angka. Manakah implementasi fungsi dengan sintaks ekspresi tunggal yang benar?

a)

int square(int number) => number * number;

b)

int square(int number) { return number * number; }

c)

int square(int number) => { number * number };

d)

int square(number) => number * number;

24.

Dalam switch case, apa yang terjadi jika tidak ada pernyataan break setelah sebuah case cocok?

a)

Program akan error

b)

Eksekusi akan melanjutkan ke case berikutnya (fall-through)

c)

Program akan langsung keluar dari switch

d)

Hanya case saat ini yang dieksekusi

25.

Ketika membuat program yang meminta input pengguna untuk usia (integer). Jika input tidak valid (misalnya teks), apa yang akan terjadi pada kode berikut?

a)

Program berhenti dengan exception

b)

Program mengembalikan null

c)

Program mengkonversi teks ke 0

d)

Program meminta input ulang

26.

Dalam fungsi berikut, manakah parameter yang bersifat opsional?

a)

name

b)

age dan address

c)

hanya address

d)

tidak ada parameter yang opsional

27.

Ketika kita ingin membuat fungsi anonim untuk menghitung total harga setelah diskon 10%. Manakah kode berikut yang benar?

a)

(double price) => price * 0.9;

b)

(double price) { return price * 0.9; }

c)

double discount(double price) => price * 0.9;

d)

(price) => price * 0.9;

28.

Dalam konteks OOP, ketika kita membuat kelas Person dengan properti name dan age, bagaimana cara mendefinisikan konstruktor yang hanya menerima name sebagai parameter wajib?

a)

Person(this.name, this.age);

b)

Person(this.name, [int? age]);

c)

Person({required String name, int age});

d)

Person(String name, int age)

29.

Apa output dari kode berikut jika number = 5?

a)

5421

b)

54321

c)

421

d)

54

30.

Dalam tantangan fungsi nilai absolut, manakah implementasi yang benar?

a)

int absolute(int number) => number < 0 ? -number : number;

b)

int absolute(int number) => number > 0 ? -number : number;

c)

int absolute(int number) { return number < 0 ? number : -number; }

d)

int absolute(number) => number < 0 ? -number : number;

31.

Apa tujuan utama penggunaan assert dalam Dart?

a)

Menggantikan pernyataan if-else

b)

Menangani error saat runtime

c)

Debugging untuk memeriksa kondisi boolean

d)

Mengoptimalkan performa kode

32.

Anda ingin membuat fungsi dengan parameter bernama yang wajib diisi. Manakah sintaks yang benar?

a)

void greet({String name}) { ... }

b)

void greet({required String name}) { ... }

c)

void greet([String name]) { ... }

d)

void greet(String name) { ... }

33.

Apa output dari kode berikut?

a)

123

b)

1234

c)

12345

d)

12

34.

Dalam konteks user input, bagaimana cara menangani input yang mungkin null dengan aman?

a)

String name = stdin.readLineSync();

b)

String? name = stdin.readLineSync();

c)

String name = stdin.readLineSync()!;

d)

String name = stdin.readLineSync() ?? "";

35.

Berikut merupakan fungsi yang digunakan untuk menghitung faktorial menggunakan perulangan while. Manakah kode yang benar?

a)

b)

c)

d)

36.

Dalam switch case, apa yang akan terjadi jika tidak ada case yang cocok dan tidak ada default?

a)

Program akan error

b)

Tidak ada kode yang dieksekusi

c)

Program akan mencoba case berikutnya

d)

Program akan keluar dari switch dengan exception

37.

Ketika kita ingin membuat kelas Rectangle dengan metode untuk menghitung luas. Manakah implementasi yang benar?

a)

b)

c)

d)

38.

Apa yang akan terjadi jika menggunakan assert(false) dalam kode produksi?

a)

Program berhenti dengan exception

b)

Tidak ada efek jika assertions di-disable

c)

Program mencetak pesan error ke console

d)

Program mengabaikan assert dan melanjutkan

39.

Ketika ingin membuat fungsi dengan parameter opsional nullable. Manakah sintaks yang benar?

a)

void printInfo(String name, [int? age]) { ... }

b)

void printInfo(String name, {int age?}) { ... }

c)

void printInfo(String name, [int age?]) { ... }

d)

void printInfo(String name, int? age) { ... }

40.

Dalam kode berikut, apa output jika input pengguna adalah "10"?

(a)