Font size
WorksheetsLatihan UTS Kelas XII
Total questions: 100
Worksheet time: 2hrs 40mins
Proses berpikir yang digunakan untuk memecahkan masalah secara sistematis dan efisien, yang melibatkan kemampuan merurai masalah, mengidentifikasi pola, dan membuat langkah logis disebut:
Pemrograman Prosedural
Berpikir Komputasional
Berpikir Kritis
Abstraksi Data
Empat komponen utama berpikir komputasional adalah:
Input, Proses, Output, dan Penyimpanan
Dekomposisi, Pengenalan Pola, Abstraksi, dan Algoritma
Pseudocode, Flowchart, Kode Program, dan Rekursif
Analisis, Desain, Implementasi, dan Pengujian
Kemampuan memecah masalah kompleks menjadi bagian-bagian kecil yang lebih sederhana dan mudah dipahami disebut:
Abstraksi
Pengenalan Pola
Algoritma
Dekomposisi
Bahasa C dikembangkan pada tahun 1972 di Bell Labs oleh:
Ken Thompson
Linus Torvalds
Dennis Ritchie
Ada Lovelace
Bahasa C termasuk dalam kategori bahasa pemrograman yang dieksekusi dengan cara:
Interpreted (Interpretasi)
Compiled (Kompilasi)
Hybrid (Campuran)
Deklaratif
Tahap terakhir dalam proses kompilasi C yang menggabungkan file kode objek dengan pustaka (libraries) untuk menghasilkan file executable adalah:
A. Preprocessing
B. Compilation
C. Assembly
D. Linking
Manakah pernyataan yang SALAH mengenai const dan #define untuk membuat konstanta di C?
const bersifat type-safe (memeriksa tipe data), sedangkan #define tidak.
#define adalah arahan preprocessor, sedangkan const adalah keyword bahasa C.
Keduanya harus diinisialisasi saat dideklarasikan.
Keduanya wajib menggunakan titik koma (;) di akhir deklarasi.
Apa tujuan dari type casting seperti (float) a / b dalam operasi pembagian integer?
Untuk membulatkan hasil pembagian ke atas.
Untuk memastikan hasil pembagian tidak dibulatkan dan menyertakan nilai desimal.
Untuk mempercepat proses kalkulasi.
Untuk mengubah nilai variabel a secara permanen menjadi float.
Tipe data yang digunakan untuk menyimpan satu karakter tunggal, seperti 'L' atau 'A', adalah:
int
string
char
float
Apa hasil dari operasi aritmetika sisa bagi (modulo) 10 % 3?
1
3
0
3.33
Operator yang digunakan untuk mengecek apakah kedua kondisi bernilai benar (logika AND) adalah:
||
&&
&
!=
Manakah operator pembanding yang tepat untuk memeriksa apakah variabel a sama dengan variabel b?
a = b
a == b
a != b
a === b
Dalam struktur switch-case, keyword apa yang digunakan untuk keluar dari blok switch setelah sebuah case terpenuhi?
A. return
B. stop
C. continue
D. break
Struktur (kondisi) ? true_val : false_val dikenal sebagai:
A. Operator Ternary
B. Operator Bitwise
C. Percabangan Bersarang
D. Switch Case
Pada struktur if-else, jika kondisi di dalam if bernilai false, maka blok kode yang akan dieksekusi adalah:
Blok if
Blok default
Blok else
Program akan berhenti
Perulangan yang sudah jelas berapa kali akan diulang (seperti "Push up 10x") disebut Counted Loop dan biasanya menggunakan:
A. while
B. do-while
C. for
D. if-else
Perulangan yang tidak jelas batas pengulangannya (seperti "Push up sampai bosan") disebut Uncounted Loop dan biasanya menggunakan:
for
while atau do-while
switch-case
for dan switch
Manakah struktur perulangan for yang benar untuk mengulang sebanyak 5 kali (dari 0 hingga 4)?
for(int i = 0; i < 5; i++)
for(int i = 1; i < 5; i++)
for(int i = 0; i <= 5; i++)
for(int i = 5; i > 0; i++)
Perbedaan utama antara perulangan while dan do-while adalah:
while mengecek kondisi di akhir, do-while mengecek di awal.
do-while pasti dieksekusi minimal satu kali, while belum tentu.
while hanya bisa untuk counted loop, do-while untuk uncounted loop.
do-while lebih cepat daripada while.
Perulangan yang mengecek kondisi terlebih dahulu sebelum mengeksekusi blok kode di dalamnya adalah:
do-while
while
switch
for-each
Kode for(int i = 10; i > 0; i--) akan menghasilkan perulangan:
Menaik dari 0 sampai 10
Menurun dari 10 sampai 1
Menaik dari 1 sampai 10
Menurun dari 10 sampai 0
Apa yang akan terjadi jika kondisi pada perulangan while (kondisi) dari awal sudah bernilai false?
Blok kode akan dieksekusi satu kali.
Blok kode tidak akan pernah dieksekusi.
Program akan mengalami error.
Perulangan akan berjalan tanpa henti (infinite loop).
Perulangan yang berada di dalam perulangan lain disebut:
Perulangan Rekursif
Perulangan Ganda
Perulangan Bersarang (Nested Loop)
Perulangan Tak Terbatas
Pada for (int i = 0; i < 11; i++), pernyataan i++ adalah bagian:
Inisialisasi
Syarat Perulangan
Update
Blok Kode
Perhatikan kode berikut: int i = 5; do { printf("%d ", i); i++; } while (i < 5); Apa output dari kode tersebut?
(Tidak ada output)
5
5 6 7 ... (infinite loop)
6
Perhatikan kode berikut: int i = 0; while (i < 3) { printf("%d ", i); i++; } Apa output dari kode tersebut?
A. 0 1 2
B. 0 1 2 3
C. 1 2
D. 1 2 3
Untuk menjalankan blok kode berulang kali tanpa harus menuliskannya berkali-kali, kita menggunakan:
A. Percabangan
B. Perulangan
C. Operator
D. Fungsi
Struktur data yang digunakan untuk menyimpan sekumpulan data dengan tipe yang sama dalam satu tempat disebut:
Variabel
Konstanta
Array
Fungsi
Indeks pada array di bahasa C selalu dimulai dari:
1
0
-1
Bebas ditentukan programmer
Jika kita memiliki int arr[5] = {10, 20, 30, 40, 50};, bagaimana cara mengakses elemen ketiga?
A. arr[3]
B. arr(3)
C. arr[2]
D. arr(2)
Manakah cara yang benar untuk mendeklarasikan array integer bernama nilai dengan 10 elemen?
int nilai[10];
int[10] nilai;
array int nilai[10];
int nilai(10);
Bagaimana cara yang tepat untuk mendapatkan jumlah elemen (panjang) dari sebuah array int arr[]?
sizeof(arr)
length(arr)
arr.length
sizeof(arr) / sizeof(arr[0])
Proses mengunjungi setiap elemen array, biasanya menggunakan struktur perulangan for, disebut:
Inisialisasi Array
Deklarasi Array
Penelusuran Array (Traversal)
Pembaruan Array (Update)
Manakah deklarasi yang benar untuk array 2D (matriks) dengan 3 baris dan 4 kolom?
int matriks[3, 4];
int matriks[3][4];
int matriks(3, 4);
int matriks[3 + 4];
Jika kita memiliki int matriks[2][3] = {{1, 2, 3}, {4, 5, 6}};, bagaimana cara mengakses nilai 5?
matriks[1][1]
matriks[2][1]
matriks[1][2]
matriks[0][1]
Berapa jumlah total elemen yang dapat disimpan oleh int data[5][4]?
A. 9
B. 1
C. 20
D. 5
Perhatikan kode berikut: int arr[5] = {10, 20}; Berapakah nilai dari arr[2]?
10
20
0 (nilai default inisialisasi)
Error (tidak terdefinisi)
Cara memperbarui (update) elemen pertama pada array arr menjadi 99 adalah:
arr(0) = 99;
arr[0] = 99;
update(arr, 0, 99);
arr[1] = 99;
Rangkaian karakter (teks) dalam bahasa C pada dasarnya disimpan sebagai:
Array dari int
Array dari char
Tipe data string bawaan
Array dari pointer
Blok kode atau sub-program yang dapat digunakan kembali dengan cara memanggilnya disebut:
Array
Fungsi
Variabel Global
Perulangan
Fungsi utama yang akan dieksekusi pertama kali saat program C dijalankan adalah:
void start()
int main()
function begin()
int C()
Jika sebuah fungsi tidak mengembalikan nilai apapun, tipe data kembalian (return type) yang digunakan adalah:
int
null
void
char
Dalam deklarasi void sapa(char nama[]), nama disebut sebagai:
Nilai Kembalian (Return Value)
Parameter
Variabel Global
Tipe Data
Keyword yang digunakan untuk mengembalikan nilai dari dalam fungsi adalah:
A. return
B. send
C. break
D. void
Fungsi yang memanggil dirinya sendiri di dalam blok kodenya disebut:
Fungsi Bersarang
Fungsi Rekursif
Fungsi Global
Fungsi Statis
Variabel yang didefinisikan di luar semua fungsi dan dapat diakses dari fungsi manapun disebut:
Variabel Lokal
Variabel Global
Parameter
Variabel Statis
Variabel yang didefinisikan di dalam sebuah fungsi dan hanya dikenal di dalam fungsi tersebut disebut:
Variabel Lokal
Variabel Global
Konstanta
Variabel Eksternal
Apa yang dimaksud dengan Pass by Reference saat memanggil fungsi (contoh: kali_dua(&angka))?
Fungsi menerima salinan (copy) dari nilai variabel.
Fungsi menerima alamat memori dari variabel, sehingga bisa mengubah nilai aslinya.
Fungsi hanya bisa membaca nilai variabel, tidak bisa mengubah.
Fungsi membuat variabel baru dengan nama yang sama.
Bagaimana cara mendeklarasikan parameter num dalam sebuah fungsi agar dapat menerima alamat memori (pointer) dari sebuah integer?
int num
int &num
int *num
address num
Pernyataan #include
Memulai fungsi main.
Mengimpor pustaka (library) atau file header agar fungsi seperti printf() dan scanf() bisa digunakan.
Memberikan komentar pada program.
Mendefinisikan konstanta global.
1. Bahasa C menggunakan paradigma pemrograman...
Object Oriented Programming
Imperative dan Prosedural
Functional Programming
Logic Programming
Versi bahasa C yang menjadi standar saat ini adalah...
C89
C99
C11
C18
Apa fungsi dari #include
Untuk membuat fungsi main
Untuk mengimpor fungsi-fungsi dasar seperti printf()
Untuk mendeklarasikan variabel
Untuk mengakhiri program
Tipe data yang tepat untuk menyimpan nilai 3.14 adalah...
int
char
float
void
Manakah penulisan variabel yang SALAH menurut aturan bahasa C?
int nilai_siswa;
int 2nilai;
int nilaiSiswa;
int _nilai;
Berapa ukuran memori untuk tipe data int pada bahasa C?
1 byte
2 byte
4 byte
8 byte
Cara membuat konstanta dengan #define yang benar adalah...
#define PI = 3.14;
#define PI 3.14
const PI = 3.14;
#define int PI = 3.14
Hasil dari operasi 7 % 3 adalah...
2
1
2.33
3
Operator += pada pernyataan a += 5 sama artinya dengan...
a = a - 5
a = a + 5
a = 5
a = a * 5
Operator logika yang menghasilkan TRUE jika kedua pernyataan TRUE adalah...
||
&&
!
==
Hasil dari operasi bitwise 6 & 3 adalah...
1
2
3
6
Perhatikan kode berikut: int nilai = 75; if (nilai >= 80) printf("A"); else if (nilai >= 70) printf("B"); else printf("C"); Output yang dihasilkan adalah...
A. A
B. B
C. C
D. Error
Perbedaan utama antara if dan switch/case adalah...
Switch lebih cepat untuk banyak kondisi
If tidak bisa digunakan untuk string
Switch hanya untuk perbandingan sama dengan
If tidak memerlukan break
Operator ternary (a > b) ? "Besar" : "Kecil" adalah bentuk singkat dari...
switch/case
if/else
while
for
Apa fungsi keyword break dalam switch/case?
Mengulang case
Menghentikan program
Keluar dari blok switch
Melanjutkan ke case berikutnya
Perulangan yang termasuk counted loop adalah...
Perulangan for
Perulangan while
Perulangan do-while
Perulangan foreach
Perhatikan kode berikut: for(int i = 0; i < 5; i++) printf("%d ", i); Output yang dihasilkan adalah...
A. 0 1 2 3 4
B. 1 2 3 4 5
C. 0 1 2 3 4 5
D. 1 2 3 4
Perbedaan utama antara while dan do-while adalah...
While lebih cepat
Do-while mengecek kondisi di akhir
While tidak bisa infinite loop
Do-while tidak memerlukan kondisi
Perhatikan kode: int i = 5; while(i > 0){ printf("%d ", i); i--; }
A. 5 4 3 2 1
B. 5 4 3 2 1 0
C. 1 2 3 4 5
D. Error
Apa yang dimaksud dengan nested loop?
Perulangan yang error
Perulangan di dalam perulangan
Perulangan tanpa kondisi
Perulangan dengan break
for(int i = 10; i >= 1; i--) printf("%d ", i); Kode di atas adalah contoh perulangan...
Menaik
Menurun (countdown)
Infinite loop
Error
Keyword continue dalam perulangan berfungsi untuk...
Menghentikan perulangan
Melanjutkan ke iterasi berikutnya
Mengulang dari awal
Keluar dari program
Keyword break dalam perulangan berfungsi untuk...
Melanjutkan ke iterasi berikutnya
Menghentikan perulangan
Mengulang perulangan
Tidak ada fungsi
Perhatikan kode: int i = 0; do { printf("%d ", i); i++; } while(i < 3); Berapa kali perulangan dilakukan?
2 kali
3 kali
4 kali
Tidak terjadi perulangan
Apa output dari kode berikut: for(int i = 0; i < 3; i++){ for(int j = 0; j < 2; j++){ printf("*"); } }
***
******
Uncounted loop adalah perulangan yang...
Sudah jelas jumlah perulangannya
Tidak jelas berapa kali mengulang
Tidak bisa digunakan
Selalu infinite
Perhatikan kode: int x = 5; while(x < 5) printf("Loop"); Berapa kali "Loop" dicetak?
0 kali
1 kali
5 kali
Infinite
Indeks array pada bahasa C dimulai dari angka...
1
0
-1
Bebas
Cara mendeklarasikan array integer dengan 5 elemen yang benar adalah...
int array[5];
array int[5];
int [5]array;
int array(5);
30. Perhatikan kode: int nilai[3] = {10, 20, 30}; printf("%d", nilai[1]); Output yang dihasilkan adalah...
20
10
30
0
Cara mengubah nilai array pada indeks ke-2 adalah...
array[2] = nilai_baru;
array(2) = nilai_baru;
array.2 = nilai_baru;
array->2 = nilai_baru;
Fungsi sizeof(array) / sizeof(*array) digunakan untuk...
Mengambil nilai array
Menghitung panjang array
Menghapus array
Mengurutkan array
Array dua dimensi biasanya digunakan untuk membuat...
String
Matriks
Pointer
Fungsi
Cara mendeklarasikan array 2 dimensi 3x3 yang benar adalah...
int matrix[3,3];
int matrix[3][3];
int matrix(3)(3);
int [3][3]matrix;
Perhatikan kode: char huruf[5] = {'A', 'B', 'C', 'D', 'E'}; huruf[2] = 'Z'; printf("%c", huruf[2]); Output yang dihasilkan adalah...
A. A
B. C
C. Z
D. Error
Diberikan kode berikut: int arr[3] = {5, 10, 15}; int sum = 0; for(int i = 0; i < 3; i++) sum += arr[i]; Nilai sum adalah...
A. 15
B. 20
C. 30
D. 35
Cara mengakses elemen array 2D pada baris ke-1 kolom ke-2 adalah...
array[1,2]
array[1][2]
array(1)(2)
array.1.2
Perhatikan kode: int matrix[2][2] = {{1,2}, {3,4}}; printf("%d", matrix[1][0]); Output yang dihasilkan adalah...
A. 1
B. 2
C. 3
D. 4
Apa yang terjadi jika mengakses indeks array di luar batas?
Otomatis dibuat elemen baru
Menghasilkan nilai 0
Undefined behavior/error
Tidak terjadi apa-apa
Fungsi yang tidak mengembalikan nilai menggunakan tipe data...
int
void
null
empty
Keyword untuk mengembalikan nilai dari fungsi adalah...
back
return
give
output
Perhatikan kode: int tambah(int a, int b){ return a + b; } Cara memanggil fungsi di atas yang benar adalah...
tambah(5, 3);
tambah[5, 3];
tambah{5, 3};
tambah<5, 3>;
Parameter dalam fungsi adalah...
Nilai yang dikembalikan
Nama fungsi
Variabel untuk menyimpan input
Tipe data fungsi
Apa yang dimaksud dengan void pada fungsi di atas?
Fungsi error
Fungsi tidak mengembalikan nilai
Fungsi tidak memiliki parameter
Fungsi tidak bisa dipanggil
Fungsi rekursif adalah fungsi yang...
Tidak memiliki parameter
Memanggil fungsi lain
Memanggil dirinya sendiri
Tidak bisa dipanggil
Variabel lokal adalah variabel yang...
Dapat diakses di semua fungsi
Hanya dapat diakses di dalam fungsi itu sendiri
Tidak memiliki nilai
Tidak bisa diubah
Variabel global adalah variabel yang...
Hanya ada di fungsi main
Dapat diakses dari semua fungsi
Tidak memiliki tipe data
Selalu bernilai 0
Pass by reference menggunakan simbol...
&
*
#
@
Perhatikan kode: int kali(int x){ return x * 2; } int hasil = kali(5); Nilai hasil adalah...
5
7
10
15
Fungsi main() adalah...
Fungsi opsional
Fungsi yang dieksekusi pertama kali
Fungsi untuk input
Fungsi untuk output
