wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Computational Thinking Materi Kelas XI SMA

Total questions: 71

Worksheet time: 36mins

Name
Class
Date
1.

Apa yang dimaksud dengan computational thinking?

a)

Pemikiran logis untuk pemecahan masalah yang melibatkan komputer

b)

Cara berpikir untuk menyelesaikan masalah tanpa bantuan teknologi

c)

Teknik untuk meningkatkan performa komputer

d)

Metode untuk memprogram aplikasi mobile

2.

Berikut adalah tahapan dalam computational thinking, kecuali:

a)

Abstraksi

b)

Pengkodean

c)

Decomposisi

d)

Algoritma

3.

Abstraksi dalam computational thinking berarti:

a)

Menghitung solusi dari sebuah masalah

b)

Memecah masalah menjadi bagian-bagian kecil

c)

Menyederhanakan masalah untuk fokus pada elemen penting

d)

Menyusun algoritma untuk menyelesaikan masalah

4.

Manakah dari berikut ini yang merupakan contoh decomposisi?

a)

Mengelompokkan objek dalam gambar

b)

Menyederhanakan diagram alur

c)

Menghitung jumlah variabel dalam program

d)

Memecah masalah besar menjadi masalah yang lebih kecil

5.

Algoritma dalam computational thinking mengacu pada:

a)

Mengabaikan detail tidak penting

b)

Langkah-langkah yang sistematis untuk menyelesaikan masalah

c)

Membuat model dari sebuah sistem

d)

Mengumpulkan data dari berbagai sumber

6.

Apa yang dimaksud dengan rekursi dalam pemrograman?

a)

Proses di mana sebuah fungsi memanggil dirinya sendiri

b)

Teknik untuk mengulang blok kode secara berulang

c)

Proses di mana fungsi dijalankan secara paralel

d)

Teknik untuk mengurutkan data secara efisien

7.

Manakah dari pernyataan berikut yang merupakan karakteristik rekursi?

a)

Selalu mengandung blok kode untuk pencarian linear

b)

Selalu memiliki kondisi dasar untuk menghentikan proses

c)

Tidak pernah memerlukan kondisi dasar

d)

Hanya dapat digunakan untuk struktur data linier

8.

Apa yang terjadi jika kondisi dasar dalam rekursi tidak tercapai?

a)

Program akan menghasilkan keluaran yang salah

b)

Fungsi akan berhenti dan mengembalikan nilai default

c)

Program akan terus berjalan tanpa henti, menyebabkan infinite loop

d)

Fungsi akan langsung mengembalikan nilai null

9.

Manakah dari fungsi berikut yang merupakan contoh rekursi?

a)

Fungsi yang mencetak angka dari 1 hingga 10 menggunakan loop

b)

Fungsi yang menghitung faktorial dari sebuah angka dengan memanggil dirinya sendiri

c)

Fungsi yang menghitung jumlah elemen dalam array dengan iterasi

d)

Fungsi yang melakukan pencarian biner tanpa memanggil dirinya sendiri

10.

Keuntungan menggunakan rekursi adalah:

a)

Memudahkan penulisan kode untuk masalah yang memiliki struktur berulang

b)

Mengurangi penggunaan memori secara signifikan

c)

Mempercepat eksekusi program secara drastis

d)

Meningkatkan kompleksitas kode

11.

Apa yang dimaksud dengan algoritma greedy?

a)

Algoritma yang mencari solusi optimal melalui pendekatan yang serakah, dengan memilih solusi terbaik pada setiap langkah

b)

Algoritma yang selalu menggunakan rekursi untuk menyelesaikan masalah

c)

Algoritma yang mencari semua kemungkinan solusi dan memilih yang terbaik

d)

Algoritma yang tidak pernah menjamin solusi optimal

12.

Contoh masalah yang dapat diselesaikan dengan algoritma greedy adalah:

a)

Pencarian linear

b)

Pengurutan data dengan bubble sort

c)

Pemilihan aktivitas yang tidak tumpang tindih

d)

Pencarian biner

13.

Salah satu kelemahan algoritma greedy adalah:

a)

Tidak selalu memberikan solusi yang benar

b)

Memerlukan waktu komputasi yang sangat tinggi

c)

Kompleksitas kode yang tinggi

d)

Sulit diimplementasikan

14.

Manakah dari pernyataan berikut yang benar tentang algoritma greedy?

a)

Selalu memberikan solusi optimal untuk semua jenis masalah

b)

Hanya efektif jika diterapkan pada masalah yang memiliki substruktur optimal

c)

Tidak pernah memberikan solusi yang lebih baik daripada algoritma lain

d)

Selalu memerlukan pengujian ekstensif untuk memastikan keakuratannya

15.

Dalam konteks algoritma greedy, apa yang dimaksud dengan substruktur optimal?

a)

Solusi akhir tidak dipengaruhi oleh keputusan sebelumnya

b)

Solusi masalah keseluruhan dapat dibentuk dari solusi optimal dari submasalah yang lebih kecil

c)

Keputusan yang diambil tidak memengaruhi hasil akhir

d)

Setiap keputusan diambil tanpa mempertimbangkan kondisi awal

16.

Apa yang dimaksud dengan pemrograman dinamis?

a)

Teknik pemrograman yang membagi masalah besar menjadi submasalah yang tumpang tindih dan menyimpannya untuk digunakan kembali

b)

Algoritma yang selalu menggunakan rekursi untuk mencapai solusi

c)

Teknik yang selalu membutuhkan greedy approach untuk optimalisasi

d)

Metode yang mengandalkan pencarian biner untuk menemukan solusi

17.

Manakah dari berikut ini yang merupakan contoh aplikasi pemrograman dinamis?

a)

Algoritma Dijkstra untuk menemukan jalur terpendek

b)

Algoritma Knapsack untuk pemilihan item dalam sebuah tas dengan nilai maksimal

c)

Algoritma Pencarian Biner untuk menemukan elemen dalam array terurut

d)

Algoritma Quick Sort untuk mengurutkan data

18.

Apa yang membedakan pemrograman dinamis dari metode rekursif biasa?

a)

Pemrograman dinamis menyimpan hasil submasalah untuk menghindari perhitungan berulang

b)

Pemrograman dinamis tidak memerlukan kondisi dasar

c)

Pemrograman dinamis selalu lebih cepat dari rekursi

d)

Pemrograman dinamis tidak memerlukan iterasi

19.

Dalam pemrograman dinamis, apa yang dimaksud dengan "memoization"?

a)

Teknik untuk mengingat hasil dari submasalah dan menyimpannya untuk digunakan nanti

b)

Teknik untuk membagi masalah menjadi bagian-bagian yang lebih kecil

c)

Teknik untuk menyelesaikan masalah dengan mengurutkan data

d)

Teknik untuk memprioritaskan submasalah berdasarkan kompleksitasnya

20.

Keuntungan utama dari pemrograman dinamis adalah:

a)

Mempercepat proses penyelesaian masalah dengan menghindari perhitungan berulang

b)

Menyederhanakan kode untuk masalah yang kompleks

c)

Mengurangi penggunaan memori secara signifikan

d)

Menggunakan lebih sedikit waktu komputasi dibandingkan dengan semua algoritma lain

21.

Apa fungsi utama dari sistem operasi?

a)

Mengelola perangkat keras dan perangkat lunak di dalam komputer

b)

Mengoptimalkan proses pengembangan aplikasi

c)

Mengontrol pengguna dalam jaringan komputer

d)

Mengatur format data yang akan dicetak

22.

Contoh sistem operasi adalah, kecuali:

a)

Windows

b)

Linux

c)

Microsoft Office

d)

MacOS

23.

Apa yang dimaksud dengan multitasking dalam konteks sistem operasi?

a)

Menjalankan beberapa program atau proses secara bersamaan

b)

Menyimpan data dalam berbagai format

c)

Memungkinkan beberapa pengguna mengakses komputer yang sama

d)

Mengompresi file untuk menghemat ruang penyimpanan

24.

Bagian dari sistem operasi yang bertanggung jawab atas manajemen memori disebut:

a)

Kernel

b)

Shell

c)

Memory Manager

d)

Process Scheduler

25.

Manakah yang bukan merupakan tugas dari sistem operasi?

a)

Mengelola penggunaan CPU oleh proses yang sedang berjalan

b)

Mengatur akses ke perangkat keras seperti disk dan printer

c)

Menerjemahkan kode sumber ke dalam kode mesin

d)

Menyediakan antarmuka pengguna seperti GUI atau CLI

26.

Apa yang dimaksud dengan virtual memory?

a)

Sebuah teknik yang memungkinkan penggunaan ruang disk sebagai tambahan untuk RAM

b)

Sebuah ruang penyimpanan di cloud yang digunakan untuk menyimpan data

c)

Sebuah tipe RAM yang lebih cepat daripada RAM biasa

d)

Penyimpanan eksternal yang digunakan sebagai backup

27.

Apa fungsi dari file system dalam sistem operasi?

a)

Mengatur dan mengelola bagaimana data disimpan dan diambil dari disk

b)

Mengendalikan akses ke jaringan

c)

Menyediakan antarmuka pengguna untuk berinteraksi dengan perangkat keras

d)

Menjadwalkan proses yang akan dijalankan oleh CPU

28.

Sistem operasi apa yang sering digunakan untuk server karena stabilitas dan keamanannya?

a)

Windows 10

b)

Linux

c)

Android

d)

MacOS

29.

Apa yang dimaksud dengan proses dalam konteks sistem operasi?

a)

Kumpulan instruksi yang sedang dijalankan oleh CPU

b)

Perangkat lunak yang mengatur penggunaan jaringan

c)

Sebuah file yang sedang disimpan di disk

d)

Program yang sedang dalam tahap kompilasi

30.

Dalam sistem operasi, 'booting' merujuk pada:

a)

Proses memuat sistem operasi ke dalam memori dari disk

b)

Proses mematikan komputer

c)

Proses instalasi perangkat lunak baru

d)

Proses penghapusan file dari disk

31.

Apa perbedaan antara multitasking dan multithreading?

a)

Multitasking mengelola beberapa aplikasi, sementara multithreading mengelola beberapa proses dalam satu aplikasi

b)

Multitasking dan multithreading adalah istilah yang sama

c)

Multithreading mengelola beberapa aplikasi, sementara multitasking mengelola beberapa thread dalam satu aplikasi

d)

Multitasking hanya berjalan di sistem operasi, sedangkan multithreading hanya berjalan di aplikasi

32.

Manakah yang termasuk dalam kernel space?

a)

Proses user

b)

Program aplikasi

c)

Manajemen memori dan manajemen proses

d)

Antarmuka pengguna

33.

Apa yang dimaksud dengan scheduler dalam sistem operasi?

a)

Komponen yang memutuskan proses mana yang akan dijalankan oleh CPU

b)

Program yang mengatur penggunaan RAM

c)

Sistem yang memonitor akses ke perangkat keras

d)

Perangkat yang mengelola input dan output

34.

Apa fungsi dari shell dalam sistem operasi?

a)

Berinteraksi dengan perangkat keras secara langsung

b)

Memberikan antarmuka antara pengguna dan sistem operasi

c)

Mengatur penggunaan CPU oleh berbagai proses

d)

Mengelola file dan folder pada disk

35.

Manakah di antara berikut yang merupakan tipe dari sistem operasi?

a)

Batch, Time-Sharing, Real-Time

b)

Sequential, Parallel, Distributed

c)

Synchronous, Asynchronous, Hybrid

d)

Static, Dynamic, Hybrid

36.

Apa peran dari driver dalam sistem operasi?

a)

Mengontrol akses ke perangkat keras tertentu

b)

Mengatur jaringan komputer

c)

Menyusun program yang dijalankan oleh CPU

d)

Mengelola memori virtual

37.

Sistem operasi manakah yang terkenal karena open-source dan dapat dikustomisasi secara bebas?

a)

Windows

b)

MacOS

c)

Linux

d)

Android

38.

Apa yang dimaksud dengan deadlock dalam sistem operasi?

a)

Kondisi di mana dua atau lebih proses saling menunggu satu sama lain untuk melepaskan sumber daya

b)

Kondisi di mana satu proses mengakses lebih dari satu sumber daya secara bersamaan

c)

Kondisi di mana sebuah proses tidak dapat mengakses memori yang dibutuhkan

d)

Kondisi di mana proses berjalan lebih lambat dari biasanya

39.

Apa fungsi dari paging dalam manajemen memori?

a)

Membagi memori fisik menjadi blok-blok kecil yang disebut frame

b)

Mengalokasikan ruang disk untuk memori virtual

c)

Mengatur urutan eksekusi proses

d)

Mengelola komunikasi antara perangkat keras dan perangkat lunak

40.

Apa yang dimaksud dengan kondisi dasar dalam rekursi?

a)

Kondisi di mana fungsi memanggil dirinya sendiri

b)

Kondisi yang menyebabkan fungsi berhenti memanggil dirinya sendiri

c)

Kondisi di mana fungsi kembali ke nilai awalnya

d)

Kondisi di mana fungsi memanggil fungsi lain

41.

Fungsi rekursi digunakan untuk menghitung faktorial dari sebuah bilangan. Apa yang akan terjadi jika kondisi dasar tidak pernah terpenuhi?

a)

Fungsi akan mengembalikan nilai null

b)

Fungsi akan masuk ke dalam loop tak terbatas

c)

Fungsi akan mengembalikan hasil yang salah

d)

Fungsi akan menghentikan eksekusi secara otomatis

42.

Manakah dari berikut ini yang merupakan kelebihan rekursi?

a)

Memerlukan lebih sedikit memori dibandingkan iterasi

b)

Menyederhanakan penyelesaian masalah yang memiliki sifat berulang

c)

Mengurangi waktu eksekusi program

d)

Selalu memberikan solusi optimal

43.

Contoh masalah yang biasanya diselesaikan dengan rekursi adalah:

a)

Pencarian linear

b)

Pengurutan dengan bubble sort

c)

Menara Hanoi

d)

Pengurutan dengan merge sort

44.

Manakah pernyataan yang benar tentang rekursi dan iterasi?

a)

Iterasi selalu lebih efisien daripada rekursi

b)

Rekursi selalu lebih mudah diimplementasikan daripada iterasi

c)

Rekursi bisa menggantikan iterasi, tetapi tidak sebaliknya

d)

Rekursi dapat menggantikan iterasi dalam masalah yang memiliki struktur berulang

45.

Dalam algoritma greedy, keputusan diambil berdasarkan:

a)

Solusi optimal untuk keseluruhan masalah

b)

Solusi terbaik yang bisa diambil pada setiap langkah

c)

Solusi yang paling efisien dalam hal waktu

d)

Solusi yang paling efisien dalam hal ruang

46.

Salah satu masalah klasik yang bisa diselesaikan dengan algoritma greedy adalah:

a)

Traveling Salesman Problem

b)

Knapsack Problem tanpa pembagian

c)

Prim's Algorithm untuk Minimum Spanning Tree

d)

Pencarian Biner

47.

Apa kelemahan utama dari algoritma greedy?

a)

Tidak selalu memberikan solusi optimal untuk semua jenis masalah

b)

Memerlukan waktu komputasi yang tinggi

c)

Memerlukan penyimpanan memori yang besar

d)

Kompleksitas implementasinya sangat tinggi

48.

Apa yang dimaksud dengan "local optimal choice" dalam konteks algoritma greedy?

a)

Memilih solusi optimal untuk submasalah kecil tanpa mempertimbangkan dampaknya pada keseluruhan masalah

b)

Memilih solusi terbaik untuk seluruh masalah dalam satu langkah

c)

Memilih solusi yang paling cepat diterapkan tanpa memandang hasil akhirnya

d)

Mengabaikan kondisi awal dan hanya fokus pada hasil akhir

49.

Manakah dari berikut ini yang bukan karakteristik dari algoritma greedy?

a)

Selalu memberikan solusi optimal

b)

Mengambil keputusan berdasarkan informasi lokal

c)

Menyelesaikan masalah secara bertahap

d)

Memilih langkah yang tampak terbaik pada saat itu

50.

Apa perbedaan utama antara pemrograman dinamis dan algoritma greedy?

a)

Pemrograman dinamis memecah masalah menjadi submasalah tumpang tindih dan menyimpan hasilnya, sedangkan algoritma greedy tidak

b)

Algoritma greedy selalu lebih cepat daripada pemrograman dinamis

c)

Pemrograman dinamis hanya bekerja pada masalah numerik, sedangkan algoritma greedy bekerja pada semua jenis masalah

d)

Algoritma greedy selalu memberikan solusi optimal, sedangkan pemrograman dinamis tidak

51.

Pemrograman dinamis sering digunakan untuk menyelesaikan masalah yang memiliki:

a)

Substruktur non-optimal

b)

Substruktur optimal

c)

Struktur linear

d)

Struktur acak

52.

Apa yang dimaksud dengan teknik "memoization" dalam pemrograman dinamis?

a)

Menyimpan hasil dari submasalah yang telah diselesaikan untuk digunakan kembali

b)

Menghapus hasil submasalah setelah digunakan untuk menghemat memori

c)

Mengulang kembali submasalah yang telah diselesaikan

d)

Memecah masalah menjadi bagian yang lebih kecil

53.

Apa keuntungan utama dari pemrograman dinamis?

a)

Mengurangi perhitungan berulang dengan menyimpan hasil submasalah

b)

Menghasilkan solusi yang selalu lebih cepat daripada metode lain

c)

Memerlukan lebih sedikit ruang memori

d)

Menghindari semua bentuk rekursi

54.

Contoh klasik masalah yang dapat diselesaikan dengan pemrograman dinamis adalah:

a)

Fibonacci Sequence

b)

Pengurutan dengan Merge Sort

c)

Pencarian Biner

d)

Depth First Search (DFS)

55.

Apa yang dimaksud dengan rekursi ekor (tail recursion)?

a)

Rekursi di mana panggilan rekursif terjadi setelah operasi lainnya

b)

Rekursi di mana panggilan rekursif adalah operasi terakhir yang dilakukan oleh fungsi

c)

Rekursi yang mengandung dua atau lebih panggilan rekursif dalam satu fungsi

d)

Rekursi yang hanya bisa diimplementasikan dengan array

56.

Manakah dari berikut ini yang merupakan contoh rekursi langsung?

a)

Sebuah fungsi A memanggil fungsi B yang kemudian memanggil fungsi A

b)

Sebuah fungsi A memanggil dirinya sendiri secara langsung

c)

Sebuah fungsi A memanggil fungsi B yang kemudian memanggil fungsi C

d)

Sebuah fungsi memanggil dirinya sendiri melalui beberapa fungsi perantara

57.

Manakah dari pernyataan berikut yang benar mengenai rekursi dan efisiensi?

a)

Rekursi selalu lebih efisien daripada iterasi dalam hal penggunaan memori

b)

Rekursi dapat menyebabkan stack overflow jika tidak dikendalikan dengan baik

c)

Rekursi tidak pernah menggunakan lebih banyak memori daripada iterasi

d)

Rekursi selalu lebih cepat daripada iterasi

58.

Manakah dari fungsi berikut yang bukan contoh dari penggunaan rekursi?

a)

Penghitungan faktorial

b)

Pencarian linear

c)

Pengurutan merge sort

d)

Menara Hanoi

59.

Apa yang dimaksud dengan rekursi tak langsung (indirect recursion)?

a)

Ketika sebuah fungsi memanggil dirinya sendiri secara langsung

b)

Ketika sebuah fungsi A memanggil fungsi B, yang kemudian memanggil fungsi A kembali

c)

Ketika sebuah fungsi tidak pernah memanggil dirinya sendiri

d)

Ketika rekursi digunakan di dalam loop iteratif

60.

Apa yang menjadi kunci sukses dari algoritma greedy dalam memecahkan masalah?

a)

Kemampuan untuk memilih solusi terbaik di setiap langkah dan menghasilkan solusi optimal secara keseluruhan

b)

Mengandalkan pencarian menyeluruh untuk menemukan semua kemungkinan solusi

c)

Memecahkan masalah tanpa mempertimbangkan langkah-langkah berikutnya

d)

Menggunakan rekursi untuk mencari solusi optimal

61.

Apa yang dimaksud dengan "fractional knapsack problem" dalam algoritma greedy?

a)

Masalah di mana setiap item dalam tas dapat dipisahkan menjadi bagian yang lebih kecil

b)

Masalah di mana hanya satu item dapat diambil pada satu waktu

c)

Masalah di mana semua item harus dimasukkan ke dalam tas tanpa kecuali

d)

Masalah yang tidak dapat diselesaikan dengan algoritma greedy

62.

Algoritma greedy sering digunakan dalam permasalahan jaringan untuk:

a)

Menemukan jalur terpanjang antara dua titik

b)

Menghubungkan semua titik dengan biaya total minimum (Minimum Spanning Tree)

c)

Mengurutkan titik-titik berdasarkan jarak

d)

Menghitung semua rute yang mungkin antara dua titik

63.

Dalam algoritma greedy, strategi pemilihan adalah:

a)

Memilih solusi terbaik yang dapat diambil pada setiap langkah

b)

Memilih solusi yang paling cepat diimplementasikan

c)

Memilih solusi yang paling sedikit menggunakan memori

d)

Menghitung semua solusi yang mungkin dan memilih yang terbaik

64.

Contoh dari algoritma greedy yang sangat terkenal adalah:

a)

Algoritma Prim dan Kruskal untuk Minimum Spanning Tree

b)

Algoritma Pencarian Biner

c)

Algoritma Quick Sort

d)

Algoritma Pencarian Linear

65.

Pemrograman dinamis sering digunakan untuk memecahkan masalah yang:

a)

Memiliki submasalah yang berulang dan tumpang tindih

b)

Memerlukan solusi optimal dalam setiap langkah

c)

Tidak dapat dipecahkan dengan pendekatan greedy

d)

Hanya dapat diselesaikan melalui brute force

66.

Apa yang membedakan tabulasi dari memoization dalam pemrograman dinamis?

a)

Tabulasi menggunakan pendekatan bottom-up, sementara memoization menggunakan pendekatan top-down

b)

Tabulasi menggunakan lebih banyak memori daripada memoization

c)

Memoization tidak menyimpan hasil submasalah, sedangkan tabulasi menyimpannya

d)

Tabulasi lebih lambat daripada memoization

67.

Apa yang dimaksud dengan overlapping subproblems dalam pemrograman dinamis?

a)

Submasalah yang sama muncul berulang kali dan dapat diselesaikan sekali dan digunakan kembali

b)

Submasalah yang tidak berhubungan satu sama lain

c)

Submasalah yang harus diselesaikan dalam urutan tertentu

d)

Submasalah yang memerlukan pendekatan iteratif

68.

Contoh masalah yang bisa diselesaikan dengan pemrograman dinamis adalah:

a)

Fibonacci Sequence

b)

Depth First Search (DFS)

c)

Quick Sort

d)

Breadth First Search (BFS)

69.

Apa yang dimaksud dengan pendekatan bottom-up dalam pemrograman dinamis?

a)

Memecahkan submasalah yang paling kecil terlebih dahulu, dan menggunakan hasilnya untuk memecahkan submasalah yang lebih besar

b)

Menggunakan hasil submasalah untuk menghindari perhitungan berulang

c)

Memecahkan masalah dari langkah terbesar ke yang terkecil

d)

Memecahkan masalah tanpa menyimpan hasil submasalah

70.

Dalam algoritma greedy, apa yang menjadi pertimbangan utama dalam pengambilan keputusan?

a)

Mempertimbangkan semua kemungkinan solusi

b)

Memilih langkah yang memberikan keuntungan terbesar saat ini

c)

Menilai dampak jangka panjang dari setiap keputusan

d)

Memilih solusi yang paling mudah diimplementasikan

71.

Dalam konteks pemrograman dinamis, apa yang dimaksud dengan "submasalah"?

a)

Bagian dari masalah yang lebih besar yang dapat diselesaikan secara independen

b)

Masalah yang tidak memiliki solusi

c)

Masalah yang hanya dapat diselesaikan dengan metode brute force

d)

Masalah yang tidak dapat dipecahkan dengan algoritma