wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Soal Berpikir Komputasional dan Algoritma

Total questions: 50

Worksheet time: 50mins

Name
Class
Date
1.

Dalam konteks berpikir komputasional, kemampuan untuk mengidentifikasi pola umum antar beberapa permasalahan serupa untuk merancang solusi yang generik disebut:

a)

Decomposition

b)

Pattern Recognition

c)

Abstraction

d)

Generalized Computing

e)

Algorithmic Thinking

2.

Seorang mahasiswa mencoba menyelesaikan masalah dengan cara menyusun langkah-langkah penyelesaian secara detail, sistematis, dan berurutan hingga menghasilkan output. Proses ini paling tepat mendefinisikan:

a)

Sistem Informasi

b)

Pemrograman Deklaratif

c)

Algoritma

d)

Kompilasi Program

e)

Machine Execution Flow

3.

Berikut ini manakah yang menunjukkan contoh abstraction dalam berpikir komputasional?

a)

Mengabaikan detail warna dan bentuk unik setiap jenis mobil saat merancang sistem parkir otomatis.

b)

Memecah proses memasak menjadi langkah-langkah kecil.

c)

Mengidentifikasi pola dalam data penjualan harian.

d)

Menulis langkah algoritmik secara urut langkah demi langkah.

e)

Menghubungkan output dari satu proses ke proses lainnya.

4.

Pernyataan berikut adalah algoritma dalam bentuk narasi: 1. Ambil angka input 2. Jika angka ganjil, kalikan dua 3. Jika angka genap, tambahkan tiga 4. Cetak hasil Pernyataan manakah yang benar terkait algoritma tersebut?

a)

Tidak memiliki final state

b)

Tidak dapat dikonversi ke kode program karena tidak ada struktur percabangan

c)

Memenuhi kriteria keterbatasan langkah

d)

Tidak memiliki yrytan penuesuaian

e)

Tidak mungkin menghasilkan output

5.

Dalam struktur sistem secara umum (Input → Process → Output), bagian Process dalam konteks komputasi sangat erat kaitannya dengan:

a)

Penyimpanan hasil

b)

Instruksi dalam algoritma

c)

Penulisan variabel

d)

Definisi tipe data

e)

Penjabaran kebutuhan input

6.

Komputer hanya dapat memahami instruksi yang telah diterjemahkan ke dalam:

a)

Bahasa tingkat tinggi

b)

Bahasa assembly

c)

Bahasa sistem

d)

Bahasa mesin (binary)

e)

Bahasa scripting

7.

Berikut ini pasangan komponen berpikir komputasional dan analogi yang tepat adalah:

a)

Decomposition – Menyusun langkah-langkah solusi tanpa memecah masalah

b)

Pattern Recognition – Menghindari pola berulang

c)

Abstraction – Melihat detail spesifik agar solusi lebih sempit

d)

Algorithm – Menuliskan instruksi langkah demi langkah

e)

Decomposition – Melakukan kesimpulan akhir dari pola

8.

Jika suatu algoritma memiliki langkah-langkah yang tidak terbatas dan terus berulang tanpa kondisi berhenti, maka:

a)

Tetap dianggap algoritma selama memiliki input

b)

Tidak dianggap algoritma karena tidak memenuhi syarat keterbatasan langkah

c)

Masih valid karena menghasilkan output

9.

Hubungan antara komputer dan programmer dalam materi pertemuan pertama adalah:

a)

Komputer dapat memahami ide manusia tanpa diterjemahkan

b)

Programmer bertugas merancang sistem, tidak membuat algoritma

c)

Komputer hanya menjalankan instruksi dalam algoritma yang diterjemahkan ke bahasa yang dipahaminya

d)

Programmer hanya bertanggung jawab terhadap desain grafis aplikasi

e)

Komputer dapat menganalisis masalah tanpa algoritma

10.

Konsep “komputer hanya tahu apa yang diperintahkan” menunjukkan sifat komputer sebagai:

a)

Sistem otomatis yang memiliki intuisi

b)

Mesin deterministik yang bergantung pada instruksi eksplisit

c)

Alat analitis dengan kemampuan memutuskan tanpa input

d)

Entitas kognitif dalam tingkat tinggi

e)

Sistem interpretatif bebas konteks

11.

Dalam paradigma komputasi, komputer mampu melakukan miliaran kalkulasi per detik. Fungsi ini secara konseptual mendukung definisi komputer sebagai:

a)

Mesin pengolah teks secara otomatis

b)

Sistem yang hanya meniru kecerdasan manusia

c)

Alat elektronik yang melakukan perhitungan dan penyimpanan data

d)

Perangkat yang mampu membuat algoritma sendiri

e)

Sistem adaptif yang bekerja tanpa instruksi

12.

Notasi “1 + 2 + 3 = Algoritma” dalam konteks definisi algoritma pada materi menunjukkan bahwa algoritma adalah gabungan dari:

a)

Input, output, dan proses statis

b)

Urutan langkah, relasi logika, dan hasil akhir

c)

Urutan langkah sederhana, alur kontrol, dan kondisi berhenti

d)

Kode program, interpreter, dan compiler

13.

Seorang mahasiswa mengembangkan solusi untuk beberapa permasalahan berbeda, lalu menyadari bahwa semua dapat diselesaikan dengan struktur urut yang sama tetapi hanya mengganti nilai input. Ini adalah penerapan:

a)

Abstraction

b)

Pattern recognition

c)

Generalization over branching

d)

Sequential dominance

e)

Iterative relational structure

14.

Pernyataan berikut manakah yang paling akurat membedakan information dari data?

a)

Data adalah fakta mentah, informasi adalah hasil manipulasi atau pengolahan data menjadi bermakna

b)

Data adalah hasil olahan, informasi adalah masukan

c)

Data selalu berbentuk angka, informasi selalu berbasis teks

d)

Informasi tidak dapat digunakan untuk pengambilan keputusan

e)

Informasi tidak memerlukan proses untuk terbentuk

15.

Pada arsitektur dasar mesin komputer, di mana bahasa tingkat tinggi diterjemahkan menjadi bahasa mesin sebelum dijalankan?

a)

Di dalam CPU

b)

Pada proses kompilasi dan linking

c)

Dalam memory allocation

d)

Pada runtime execution tanpa proses awal

e)

Langsung dievaluasi tanpa konversi

16.

Contoh berikut yang menunjukkan kesenjangan sintaks (syntax error) dalam bahasa pemrograman adalah:

a)

A. 3 + “hello”

b)

B. print(“Hello”

c)

int x=5

d)

2+5*100

e)

3>2

17.

Berikut ini merupakan pernyataan semantik tidak valid dalam konteks pemrograman:

a)

3 + 5

b)

3 + “hi”

c)

2 * 7

d)

a = b + c

e)

x = 10

18.

Dalam siklus berpikir komputasional, di tahap manakah algoritma disusun setelah pemisahan masalah menjadi bagian kecil dan pengenalan pola dilakukan?

a)

Setelah abstraction

b)

Sebelum decomposition

c)

Setelah algorithmic thinking

d)

Sebelum pattern recognition

e)

Setelah generalization

19.

Mengapa algoritma harus memiliki final state yang jelas?

a)

Agar program bisa diproses oleh linker

b)

Untuk menghindari infinite loop dan memastikan penyelesaian

c)

Agar instruksi selalu dievaluasi ulang

d)

Supaya compiler dapat mengulang proses kompilasi

e)

Agar variabel dapat diinisialisasi ulang

20.

Algoritma berikut dinyatakan tidak efektif karena tidak memenuhi kriteria apa?

1. Masukkan nilai X
2. Jika X > 0 maka ulangi langkah 1

  1. 3. Cetak "selesai"

a)

Tidak memiliki input

b)

Tidak memiliki output

c)

Tidak memiliki batas eksekusi (termination)

d)

Hanya menggunakan 1 jenis kontrol

e)

Tidak dapat dikonversi dalam kode program

21.

Dalam konteks pemrograman, sebuah compiler memiliki fungsi utama:

a)

Menerjemahkan perintah satu per satu saat runtime

b)

Menghapus komentar sebelum kode dijalankan

c)

Menghasilkan kode objek yang siap dilink menjadi executable

d)

Memastikan algoritma memiliki final state

e)

Menjaga algoritma tetap abstrak

22.

Jika sebuah bahasa pemrograman memiliki sintaks yang mirip dengan bahasa manusia dan dijalankan melalui proses kompilasi, maka bahasa tersebut dikategorikan sebagai:

a)

Bahasa tingkat rendah

b)

Bahasa tingkat menengah

c)

Bahasa tingkat tinggi

d)

Bahasa mesin

e)

Bahasa simbolik langsung

23.

Seorang mahasiswa menulis perintah a = b + c; dalam C++. Secara konseptual, ini menunjukkan bahwa:

a)

Nilai b dan c dibandingkan

b)

A diberikan nilai hasil operasi penjumlahan dari b dan c

c)

A menunjukkan alamat b ditambah alamat c

d)

A diuji apakah sama dengan b + c

e)

Operasi dilakukan dua arah

24.

Jika variabel umur belum diinisialisasi sebelumnya, maka:

a)

Program tetap berjalan dengan nilai default = 0

b)

Hasil akhir pasti 5

c)

Akan menghasilkan hasil acak atau undefined behavior

d)

Compiler otomatis memberi nilai awal

e)

Program gagal dikompilasi

25.

Manakah dari berikut ini yang bukan merupakan tipe data primitif dalam C++?

a)

int

b)

double

c)

bool

d)

struct

e)

char

26.

Dalam konsep algoritmik, assignment memiliki bentuk umum , sedangkan dalam C++ simbol yang digunakan adalah:

a)

==

b)

.:=

c)

=

d)

->

e)

<>

27.

Manakah yang benar mengenai komentar dalam C++?

a)

Komentar selalu dieksekusi oleh compiler

b)

Komentar diperlukan agar program berjalan

c)

Komentar dapat berupa satu baris (//) atau banyak baris (/* */)

d)

Komentar harus ditempatkan setelah setiap baris kode

e)

Komentar hanya digunakan dalam pseudocode

28.

Dalam konteks deklarasi dan inisialisasi, pernyataan berikut yang benar adalah:

a)

int x = 10; adalah deklarasi saja

b)

int x; adalah deklarasi tanpa alokasi memori

c)

int x = 10; adalah deklarasi sekaligus inisialisasi

d)

x = 10; dapat dilakukan tanpa deklarasi

e)

Deklarasi tidak membutuhkan tipe data

29.

Manakah alasan utama mengapa reserved word tidak boleh digunakan sebagai nama variabel?

a)

Karena reserved word selalu bertipe integer

b)

Karena reserved word sudah memiliki makna sintaks tertentu dalam bahasa

c)

Karena reserved word hanya digunakan untuk konstanta

d)

Karena reserved word otomatis dihapus oleh compiler

e)

Karena reserved word hanya digunakan dalam interpreter

30.

Struktur dasar program C++ selalu diawali dengan:

a)

Fungsi main()

b)

Header library seperti #include

c)

Keyword return

d)

Statement assignment

e)

Deklarasi kelas

31.

Dalam proses eksekusi program C++, urutan tahapan yang benar adalah:

a)

Linking → Compilation → Execution → Preprocessing

b)

Preprocessing → Compilation → Linking → Execution

c)

Compilation → Preprocessing → Execution → Linking

d)

Execution → Linking → Compilation → Preprocessing

e)

Preprocessing → Execution → Compilation → Linking

32.

Pernyataan berikut menunjukkan kesalahan semantik statis dalam C++:

a)

cout << "Halo";

b)

int a = "Hello";

c)

/* komentar */

d)

int x = 7;

e)

return 0;

33.

Sebuah program tidak dapat dilink jika:

a)

Tidak memiliki fungsi main()

b)

Tidak memiliki #include

c)

Tidak memiliki assignment

d)

Tidak memiliki variabel

e)

Tidak memiliki komentar

34.

Dalam konsep C++, output berikut berasal dari baris program: cout << "Hello world!" << endl; Peran endl adalah:

a)

Menunjukkan akhir program

b)

Menyisipkan karakter newline dan flush buffer

c)

Menghapus memori sementara

d)

Mengirim output dalam bentuk integer

e)

Menandakan proses selesai

35.

Apabila seorang programmer menulis program dengan menggunakan interpreter, maka konsekuensinya:

a)

Program akan berjalan lebih cepat dibanding compiler

b)

Program dijalankan baris demi baris tanpa menghasilkan file executable

c)

Interpreter hanya digunakan untuk bahasa mesin

d)

Kode sumber tidak boleh mengandung variabel

e)

Tidak memerlukan sintaks

36.

Dalam C++, pernyataan berikut: int a, b = 10; berarti:

a)

a dan b sama-sama diinisialisasi ke 10

b)

hanya a yang diinisialisasi

c)

a tidak diinisialisasi, b bernilai 10

d)

a dan b tidak dialokasikan memory

e)

keduanya akan bernilai tidak terdefinisi

37.

Suatu variabel tidak dapat digunakan sebelum deklarasi karena:

a)

Variabel harus ditulis di akhir program

b)

Compiler membutuhkan informasi tipe dan alokasi memori sebelum penggunaan

c)

Variabel hanya bisa digunakan setelah return 0

d)

Semua variabel otomatis bertipe integer

e)

Variabel hanya boleh digunakan dalam komentar

38.

Manakah contoh inisialisasi yang valid dalam C++?

a)

x = int 10;

b)

int y = 5;

c)

float z = x 7.5;

d)

:= char z 'A';

e)

integer x = 1;

39.

Dalam struktur program C++ berikut: #include using namespace std; int main() { int x = 5; cout << x; return 0; } Tanpa using namespace std;, maka:

a)

Program tetap jalan normal

b)

Compiler tidak dapat melakukan linking

c)

Programmer harus menggunakan std::cout

d)

Fungsi main tidak dikenali

e)

Variabel x akan menjadi global

40.

Manakah konsep yang paling menggambarkan “program penyimpanan komputer”?

a)

Program dijalankan dari media eksternal tanpa perlu tersimpan

b)

Urutan instruksi disimpan dalam memori untuk dieksekusi sesuai aliran kontrol

c)

Program hanya dieksekusi saat diberi input langsung

d)

Eksekusi tidak memerlukan kontrol alur

e)

Algoritma tidak memerlukan struktur memori

41.

Simbol flowchart yang digunakan untuk menampilkan hasil pada layar monitor adalah:

a)

Terminal

b)

Decision

c)

Display

d)

Document

e)

Process

42.

Pada flowchart, simbol belah ketupat digunakan untuk:

a)

Mengakhiri program

b)

Membaca input manual

c)

Memberi nilai awal variabel

d)

Mengambil keputusan (percabangan)

e)

Memanggil subprogram

43.

Sebuah flowchart memiliki kondisi x > 10. Jika kondisi bernilai salah, program akan:

a)

Berhenti tanpa melanjutkan

b)

Masuk ke jalur alternatif selain kondisi benar

c)

Masuk ke looping secara otomatis

d)

Me-reset variabel X

e)

Kembali ke START

44.

Jika a = 3 dan b = 7, maka nilai hasil adalah:

a)

-4

b)

4

c)

10

d)

3

e)

7

45.

Hasil dari ekspresi berikut: (5 > 3) && (2 > 4) adalah:

a)

true

b)

false

c)

error sintaks

d)

true jika OR digunakan

e)

bernilai 2

46.

Diketahui ekspresi logika: !(x == 5 || y < 10) Jika x = 5 dan y = 9, maka hasil ekspresi adalah:

a)

true

b)

false

c)

tergantung compiler

d)

error

e)

menghasilkan nilai 5

47.

Pada percabangan bersarang (nested-if), kondisi paling dalam akan dievaluasi jika:

a)

Salah satu kondisi luar bernilai false

b)

Semua kondisi sebelumnya bernilai true

c)

Kondisi pertama bernilai false

d)

Tidak ada kondisi else

e)

Hanya jika ada operator NOT

48.

1. Input nilai N 2. Jika N genap dan N > 10, tampilkan “A” 3. Jika N genap dan N ≤ 10, tampilkan “B” 4. Jika N ganjil dan N < 5, tampilkan “C” 5. Jika tidak, tampilkan “D” Output untuk N = 11 adalah:

a)

A

b)

B

c)

C

d)

D

e)

Error karena tidak ada kondisi ganjil > 5

49.

Potongan kode berikut: cpp if (x > 10) if (y < 5) z = x + y; else z = x - y; Jika x = 12 dan y = 7, maka nilai z adalah:

a)

17

b)

5

c)

19

d)

-5

e)

Tidak terdefinisi

50.

Flowchart berikut menunjukkan algoritma: START → Baca X → X > 0? (ya → Cetak “Positif”) (tidak → Cetak “Bukan Positif”) → END Algoritma tersebut memiliki:

a)

Dua percabangan dan satu output

b)

Satu percabangan dan dua kemungkinan output

c)

Dua percabangan bersarang

d)

Tiga proses

e)

Tidak ada kondisi