Font size
Worksheets1.4 STRUKTUR KAWALAN (Objectives)
Total questions: 82
Worksheet time: 41mins
Tujuan pembelajaran 1.4.1 menekankan penjelasan aliran struktur kawalan pilihan. Manakah kombinasi yang benar sesuai tujuan tersebut?
for dan while
if-else dan switch-case
do-while dan for
break dan continue
Menurut tujuan pembelajaran 1.4.3, struktur kawalan ulangan yang harus dijelaskan mencakup tiga jenis. Manakah daftar yang sesuai?
for, while, do-while
if, else, switch
repeat, until, for-each
case, default, break
Kontrol mana yang menjalankan pernyataan secara berurutan tanpa variasi?
Struktur Kawalan Urutan
Struktur Kawalan Pilihan
Struktur Kawalan Pengulangan
Struktur Berorientasi Objek
Manakah pasangan yang BENAR untuk contoh pada Struktur Kawalan Pilihan?
for, while, do-while
if–else–if, switch-case
input, output, proses
try, catch, finally
Pernyataan manakah yang paling tepat menggambarkan Struktur Kawalan Pengulangan?
Menjalankan blok sekali sesuai urutan
Memilih satu dari dua atau lebih jalur berdasarkan syarat
Mengulangi blok pernyataan selama syarat terpenuhi menggunakan for/while/do-while
Menghentikan program sebelum syarat diuji
Situasi: Anda ingin mengeksekusi serangkaian langkah tetap: inisialisasi, hitung, tampilkan. Struktur mana yang paling sesuai?
Pilihan (if–else–if atau switch-case)
Pengulangan (for/while/do-while)
Urutan (tanpa variasi, mengikuti urutan)
Rekursi
Dalam konteks pemrograman, apa tujuan utama dari struktur kawalan pilihan?
Mengulangi blok pernyataan beberapa kali
Membolehkan keputusan atau pemilihan dibuat secara otomatis berdasarkan syarat
Mengatur penyimpanan data dalam memori
Mengatur urutan eksekusi tetap tanpa kondisi
Nilai boolean dalam struktur kawalan pilihan memiliki dua kemungkinan. Manakah pasangan nilai yang benar?
0 dan 1
Benar (TRUE) dan Salah (FALSE)
Positif dan Negatif
Besar dan Kecil
Pernyataan syarat boolean digunakan untuk apa?
Menggambar diagram alir
Menguji nilai input yang dimasukkan untuk menentukan blok arahan yang akan dilaksanakan
Menyimpan variabel ke file
Mengatur tampilan antarmuka
Manakah yang termasuk bentuk struktur kawalan pilihan menurut materi?
for, while, do-while
if, if-else, if-else-if, switch-case
try-catch, throw, finally
function, class, module
Pilih pernyataan yang tepat tentang kawalan pilihan if: Hanya akan melaksanakan pernyataan tertentu jika…
syarat bernilai salah
syarat belum dievaluasi
syarat bernilai benar
variabel kosong
Sintaks dasar pernyataan if yang ditunjukkan adalah: If (
Blok di dalam kurung kurawal tetap dijalankan
Program berhenti otomatis
Blok di dalam kurung kurawal tidak dijalankan
Variabel dihapus
Diberikan contoh: If (umur > 20) { System.out.println("Anda layak mengundi."); } Pernyataan akan dicetak ketika…
umur sama dengan 20
umur kurang dari 20
umur lebih besar dari 20
umur negatif
Pernyataan kawalan pilihan if-else digunakan untuk apa?
Membuat keputusan dalam atur cara berdasarkan syarat Boolean
Mengulangi blok pernyataan berkali-kali
Menyimpan data dalam array
Mengatur urutan eksekusi tanpa syarat
Pada struktur if-else, hasil evaluasi syarat adalah tipe apa?
Integer
String
Boolean (Benar/Palsu)
Float
Sintaks yang tepat untuk if-else dasar adalah?
if (syarat) { pernyataan jika benar } else { pernyataan jika palsu }
if { syarat } then { benar } else { palsu }
if (syarat) then { benar } elseif { palsu }
if-else(syarat) { benar ; palsu }
Berdasarkan contoh: if (umur > 20) { System.out.println("Anda layak mengundi."); } else { System.out.println("Anda tidak layak mengundi."); } — apa yang akan dicetak jika umur = 21?
Anda tidak layak mengundi.
Anda layak mengundi.
Error sintaks.
Tidak mencetak apa pun.
Tujuan utama if-else-if adalah untuk apa?
Membuat keputusan yang lebih kompleks dengan beberapa syarat
Menggantikan perulangan for
Mengelola input/keluaran file
Menyimpan beberapa nilai dalam variabel
Dalam if-else-if, ketika satu syarat menghasilkan keputusan benar, apa yang terjadi dengan syarat Boolean lain?
Tetap diuji semuanya
Tidak diuji (dilewati)
Diulang sampai salah
Dikonversi menjadi integer
Urutan aliran pada flowchart if-else-if yang benar adalah?
Mulai → Syarat1 → jika Ya, laksanakan Pernyataan1; jika Tidak, cek Syarat2 → jika Ya, laksanakan Pernyataan2; jika Tidak, cek Syarat3 → jika Ya, laksanakan Pernyataan3; jika Tidak, laksanakan Pernyataan4 → Tamat
Mulai → langsung ke Pernyataan4 → Tamat
Mulai → Syarat1 → laksanakan semua pernyataan sekaligus → Tamat
Mulai → Syarat3 dulu → Syarat2 → Syarat1 → Tamat
Pada switch-case, komponen "case" berisi apa?
Nilai yang dipadankan dengan ujian switch
Ekspresi Boolean kompleks
Fungsi rekursif
Komentar kode
Apa peran pernyataan break dalam switch-case?
Mengulang eksekusi case saat tidak cocok
Keluar dari blok switch setelah suatu case dijalankan
Menginisialisasi variabel di awal switch
Mengubah nilai ujian switch
Kapan bagian default pada switch-case akan dilaksanakan?
Selalu dijalankan paling awal
Hanya jika ujian switch tidak sama dengan nilai case mana pun
Saat nilai case pertama cocok
Ketika ada lebih dari tiga case
Operator hubungan manakah yang digunakan untuk menyatakan "tidak sama dengan"?
==
!=
<
>=
Pernyataan manakah yang benar tentang operator logikal AND (&&)?
Menghasilkan TRUE jika salah satu syarat benar
Menghasilkan TRUE hanya jika semua syarat benar
Mengubah nilai Boolean ke kebalikannya
Digunakan untuk membandingkan dua nilai tanpa logika
Jika x adalah TRUE, hasil dari operasi NOT (!x) adalah apa?
TRUE
FALSE
Tidak dapat ditentukan
Nilai numerik 1
Manakah yang tepat menggambarkan perbedaan OR (||) dan AND (&&)?
OR memerlukan semua syarat benar; AND hanya salah satu
OR hanya bekerja dengan angka; AND hanya bekerja dengan teks
OR menghasilkan TRUE jika minimal satu syarat benar; AND membutuhkan semua syarat benar
OR mengubah nilai Boolean; AND membandingkan string
Pilih pasangan operator hubungan dengan makna yang sesuai.
> : kurang daripada
<= : kurang atau sama dengan
>= : kurang daripada atau sama dengan
< : lebih besar daripada
Pada potongan kode: int nombor = 15; if (nombor > 0) { System.out.println("Nombor ini adalah integer positif"); } else { System.out.println("Nombor ini adalah bukan integer positif"); } Apa output yang dihasilkan?
Nombor ini adalah integer positif
Nombor ini adalah bukan integer positif
Nombor ini adalah integer negatif
Nombor ini adalah sifar
Dalam kode berikut: int nombor = -7; if (nombor > 0) { ... } else if (nombor == 0) { System.out.println("Nombor ini adalah sifar"); } else { System.out.println("Nombor ini adalah integer negatif"); } Output yang benar adalah?
Nombor ini adalah integer positif
Nombor ini adalah sifar
Nombor ini adalah integer negatif
Tiada output
Operator hubungan manakah yang digunakan untuk memeriksa apakah nilai lebih besar dari nol pada contoh int nombor = 15?
>
<
==
!=
Dalam contoh validasi markah: int markah = 55; if (markah >= 0 && markah <= 100) { System.out.println("Markah yang dimasukkan adalah sah."); } else { System.out.println("Markah yang dimasukkan adalah tidak sah"); } Pernyataan manakah yang benar?
Operator logikal yang digunakan adalah OR (||)
Rentang sah adalah 1 hingga 99
Operator logikal yang digunakan adalah AND (&&)
Output akan selalu tidak sah
Diberikan: boolean malam = true; boolean hujan = false; if (malam || hujan) { System.out.println("Angkat baju"); } Output yang dihasilkan adalah?
Tidak ada output
Angkat baju
Cetak 'false'
Program error
Pada kode penentuan lulus: int markah = 83; boolean lulus; if (markah >= 40) lulus = true; else lulus = false; if (!lulus) System.out.println("Anda perlu mengulangi ujian"); else System.out.println("Anda lulus"); Output yang tepat adalah?
Anda perlu mengulangi ujian
Anda lulus
Markah tidak sah
Tiada output
Manakah kombinasi operator yang benar untuk memeriksa suhu demam: celcius > 39 || Fahrenheit > 98.6?
Menggunakan operator AND (&&) antara kedua syarat
Menggunakan operator OR (||) antara kedua syarat
Menggunakan operator NOT (!) pada kedua syarat
Menggunakan operator == untuk keduanya
Jika celcius = 38 dan Fahrenheit = 99, dengan kondisi if (celcius > 39 || Fahrenheit > 98.6), output yang diharapkan adalah?
Tiada output
Anda mungkin demam panas.
Program berhenti
Input tidak sah
Pilih pernyataan yang paling tepat mengenai perbedaan AND (&&) dan OR (||) berdasarkan contoh markah dan suhu.
AND benar jika salah satu syarat benar
OR benar hanya jika kedua syarat benar
AND benar hanya jika kedua syarat benar, OR benar jika minimal satu syarat benar
Keduanya memiliki hasil yang sama
Dalam contoh int nombor = -7; kondisi manakah yang akan bernilai true sehingga mencetak "Nombor ini adalah integer negatif"?
nombor > 0
nombor == 0
else setelah dua kondisi sebelumnya
nombor != -7
Dalam konteks struktur ulangan, manakah pernyataan yang benar tentang gelung for?
Ujian syarat dilakukan selepas blok arahan dilaksanakan
Ditentukan oleh pemboleh ubah pembilang dan bilangan tertentu
Tidak mempunyai penambahan automatik pada akhir blok
Digunakan hanya untuk syarat Boolean yang tidak pasti
Urutan umum carta alir gelung for yang benar adalah:
Mula → Uji syarat → Set pembilang → Laksana blok → Kemas kini pembilang → Uji syarat
Mula → Set pembilang dengan NILAI_MULA → Uji pembilang < NILAI_HENTI → Kumpulkan pernyataan berulang → Kemas kini pembilang → Uji semula
Mula → Laksana blok → Uji syarat → Tamat
Mula → Kemas kini pembilang → Uji syarat → Laksana blok → Tamat
Sintaks asas gelung for yang ditunjukkan adalah:
for (pemula; penamat; penambah) {
for (syarat Boolean) {
do {
while (pemula; penamat; penambah) {
Manakah perbezaan utama antara while dan do-while berdasarkan bahan?
While menguji syarat selepas blok arahan; do-while menguji sebelum
While sentiasa dilaksanakan sekurang-kurangnya sekali; do-while mungkin tidak berjalan
While menguji syarat terlebih dahulu sebelum input; do-while menguji selepas blok arahan dijalankan
Tiada perbezaan; kedua-duanya identik
Pada carta alir while, apa yang berlaku jika syarat "Masih benar?" adalah palsu?
Blok kenyataan berulang dilaksanakan
Pembilang dikemas kini
Gelung kembali ke mula
Proses menuju ke tamat
Pilih sintaks yang benar untuk gelung do-while seperti dalam bahan.
do {
while (
for (
do-while (
Skenario: Anda ingin memastikan blok pernyataan dieksekusi sekurang-kurangnya sekali sebelum syarat diperiksa. Gelung manakah yang paling sesuai?
for
while
do-while
for atau while sama saja
Perhatikan potongan program: for(i = 1; i <= 10; i = i + 1) { System.out.print(i); } Apa keluaran yang benar?
12345678910
0123456789
13579
1111111111
Diberikan kode: int jumlah = 0; for(i = 2; i <= 100; i += 1) { jumlah = jumlah + i; } System.out.println("Jumlah: " + jumlah); Berapakah nilai yang dicetak?
5050
5049
4950
5000
Dalam contoh for yang mencetak bilangan ganjil dari 1 sampai 30, kondisi apa yang digunakan untuk memeriksa ganjil?
i % 2 == 0
i % 2 == 1
i / 2 == 1
i == 2
Jika program mencetak semua bilangan ganjil dari 1 hingga 30 dalam satu baris dipisahkan koma, keluaran yang tepat adalah:
1,3,5,7,9,11,15,17,19,23,25,27,29
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29
1,5,9,13,17,21,25,29
3,5,7,9,11,13,15,17,19,21,23,25,27,29
Potongan kode: double baki = 500.0; for(i = 0; i < 5; i += 1){ baki = baki + (0.1 * baki); } System.out.println("Baki 5 tahun: " + baki); Apa yang dihitung oleh loop tersebut?
Bunga sederhana 10% selama 5 tahun
Diskon 10% diterapkan 5 kali
Pertumbuhan majemuk 10% per tahun selama 5 tahun
Penjumlahan 10% dari nilai awal sebanyak 5 kali tanpa mengubah pokok
Berapakah nilai mendekati yang dicetak oleh program bunga majemuk 10% selama 5 tahun dengan baki awal 500.0?
550.0
750.0
805.255 (mendekati)
900.0
Dalam loop for(i = 1; i <= 100; i = i + 1), berapa kali badan loop dieksekusi?
99 kali
100 kali
101 kali
Tak terbatas
Manakah perubahan yang setara secara fungsional dengan i = i + 1 di dalam pernyataan for?
i += 1
i++
kedua-duanya benar
i =+ 1
Dalam contoh program pertama, variabel n diinisialisasi bernilai 5. Selama kondisi while (n > 0) benar, program mencetak n diikuti koma, lalu melakukan n = n - 1. Apa urutan keluaran yang dihasilkan?
1,2,3,4,5
5,4,3,2,1
5,4,3,2,1,0
4,3,2,1
Tujuan utama struktur while dalam contoh-contoh ini adalah untuk melakukan…
Percabangan sekali jalan
Pengulangan terkontrol kondisi
Pengurutan array
Pemanggilan metode secara rekursif
Pada contoh kedua, pengguna memasukkan sebuah bilangan ke variabel nom melalui Scanner. Loop while (nom > 0) mengeksekusi nom = nom - 1 dan mencetak nom setiap iterasi. Jika pengguna memasukkan 3, keluaran yang benar adalah…
3,2,1
2,1,0
3,2,1,0
2,1
Manakah perubahan nilai variabel yang membuat loop pertama berhenti?
n = n + 1 saat n > 0
n = n - 1 hingga n menjadi 0
n tetap 5 sepanjang program
n direset ke 10 setiap iterasi
Pada contoh ketiga, program meminta password hingga sama dengan RekodLaluanRahsia yang bernilai "Pisang". Kondisi while menggunakan negasi ketidaksamaan string. Keluaran teks petunjuk yang ditampilkan adalah…
Masukkan password: Pisang
Silakan tekan enter untuk melanjutkan
Sila masukkan password :
Password benar, akses diterima
Pernyataan yang benar tentang peran input pengguna dalam ketiga contoh adalah…
Semua contoh tidak menggunakan input pengguna
Contoh 1 dan 2 menggunakan input string
Contoh 2 menggunakan input bilangan dan contoh 3 menggunakan input string untuk verifikasi
Hanya contoh 1 menggunakan Scanner
Perhatikan potongan kode do-while yang mencetak jadual darab 3 dari 1 hingga 12. Mengapa loop do-while cocok digunakan untuk contoh ini?
Karena kondisi diuji sebelum blok dieksekusi sehingga bisa tidak mencetak apa pun
Karena blok selalu dieksekusi minimal sekali sebelum pengecekan kondisi
Karena hanya mendukung perulangan naik (increment)
Karena lebih cepat daripada for-loop
Dalam contoh jadual darab 3, nilai awal variabel no adalah 1 dan setiap iterasi no = no + 1. Apa keluaran baris pertama yang dicetak?
0 x 3 = 0
1 x 3 = 3
2 x 3 = 6
3 x 3 = 9
Contoh kedua membaca 5 bilangan dari pengguna menggunakan Scanner dan menambahkan ke variabel sum. Setelah loop selesai, apa yang ditampilkan?
Jumlah rata-rata dari 5 bilangan
Nilai terbesar dari 5 bilangan
Teks "The total is " diikuti nilai sum
Jumlah kuadrat dari 5 bilangan
Pada contoh kedua, variabel counter digunakan untuk mengontrol perulangan. Pernyataan kondisi loop adalah while(counter <= 5). Apa tujuan penggunaan counter?
Menghentikan loop saat pengguna mengetik "YA"
Memastikan tepat 5 masukan dibaca
Mengabaikan masukan selain bilangan bulat
Menentukan kelipatan 3 yang akan dicetak
Contoh ketiga meminta dua bilangan bulat (no1 dan no2) lalu mencetak "Beza = " diikuti nilai Math.abs(no1 - no2). Jika pengguna memasukkan 5 dan 7, apa yang dicetak untuk nilai beza?
0
2
-2
12
Pada contoh ketiga, setelah menampilkan perbedaan, program meminta input string dan melanjutkan selama input.equal("YA"). Apa perilaku loop jika pengguna mengetik "YA" lalu berikutnya mengetik "t"?
Loop tidak pernah berhenti
Loop berhenti segera setelah "YA"
Loop mengulang sekali lagi lalu berhenti karena input berikutnya bukan "YA"
Loop mengulang dua kali lagi lalu berhenti
Manakah pernyataan yang benar tentang operator increment (++) menurut materi?
Menambah nilai variabel dengan bilangan tertentu
Mengurangi nilai variabel dengan bilangan tertentu
Menetapkan variabel menjadi nol
Menukar tipe data variabel
Jika i bernilai 5, setelah pernyataan i += 2 dieksekusi, berapa nilai i?
3
5
7
10
Tujuan umum penggunaan operator increment dan decrement dalam struktur ulangan adalah sebagai apa?
Pengatur tipe data
Pembilang (counter)
Pengurai string
Pengendali input/output
Pernyataan mana yang ekuivalen dengan i -= 3?
i = i + 3
i = i - 3
i = 3 - i
i = i / 3
Dalam blok while (
Untuk menginisialisasi variabel lokal
Untuk memperbarui nilai yang memengaruhi syarat agar loop dapat berhenti
Untuk mencetak keluaran ke layar
Untuk mengonversi nilai menjadi tipe Boolean
Apa fungsi utama Math.random() dalam Java menurut materi?
Menjana nombor secara rambang
Mengira purata nombor
Mencetak teks ke skrin
Menyusun array secara menaik
Ekspresi (int)(Math.random()*10)+1 akan menghasilkan rentang nilai apa?
0 hingga 9
1 hingga 10
1 hingga 6
10 hingga 20
Dalam simulasi dadu, rumus yang digunakan untuk menghasilkan nilai 1–6 adalah:
(int)(Math.random()*5)+1
(int)(Math.random()*6)+1
(int)(Math.random()*7)
(int)(Math.random())+6
Pada contoh program yang mencetak 20 nombor dadu, struktur perulangan yang membungkus for-loop adalah:
while (true) tanpa henti
do { ... } while (flag)
for tanpa syarat berhenti
while (flag == false)
Dalam contoh tersebut, input pengguna "ya" akan mempengaruhi variabel flag menjadi apa?
false sehingga program berhenti
true sehingga program berulang lagi
0 sehingga loop direset
Tidak mempengaruhi flag
Pada halaman Bendera Boolean, tujuan utama variabel Boolean flag adalah:
Menghitung jumlah kemunculan
Mengawal apakah ulangan diteruskan
Menghasilkan angka rawak
Menentukan saiz array
Pada contoh dengan switch(diceNo), nilai diceNo diperoleh dari:
Input pengguna langsung
(int)(Math.random()*6)+1
Pembacaan file eksternal
Penjumlahan dua dadu
Pernyataan switch(diceNo) dengan case 1 hingga case 6 digunakan untuk:
Memilih jenis loop yang dipakai
Menambah kaunter sesuai nombor dadu yang muncul
Mengakhiri program saat angka 6 muncul
Mencetak grafik batang
Di bagian output, baris seperti "Dice Number 3 = " + count3 + "%" menunjukkan bahwa:
Program menampilkan jumlah mutlak kemunculan
Program menampilkan peratusan kemunculan tiap nombor
Program menampilkan angka acak lain
Program menampilkan jumlah total lemparan
Pada halaman Pembilang, tujuan pembilang (counter) adalah:
Membuat pengiraan dalam penyelesaian masalah dengan menghitung kejadian
Menghasilkan angka acak lebih cepat
Menghapus nilai dalam array
Menentukan tipe data
Dalam contoh kekerapan dadu, jumlahKiraan dihitung sebagai:
Kira1 + Kira2 + Kira3 + Kira4 + Kira5 + Kira6
Kira1 × Kira2
Kira6 − Kira1
Rata-rata dari Kira1 hingga Kira6
Peratusan untuk setiap nombor dadu dikira dengan rumus:
(double) KiraX / jumlahKiraan × 100
KiraX × 100
KiraX / 6
(double) jumlahKiraan / KiraX × 100
