Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Remedial Berpikir Komputasi

Total questions: 50

Worksheet time: 17mins

Name
Class
Date
1.

Apa yang dimaksud dengan algoritma dalam pemrograman?

a)

Algoritma adalah serangkaian langkah atau instruksi terstruktur untuk menyelesaikan masalah dalam pemrograman.

b)

Algoritma adalah hasil akhir dari sebuah program yang sudah selesai.

c)

Algoritma adalah perangkat keras yang mempercepat proses komputasi.

d)

Algoritma adalah bahasa pemrograman yang digunakan untuk menulis kode.

2.

Manakah dari berikut ini yang bukan merupakan langkah dalam proses pemrograman?

a)

Menguji program

b)

Menulis kode

c)

Menunggu hasil

d)

Mengumpulkan data

3.

Apa yang dimaksud dengan rekursi dalam pemrograman?

a)

Rekursi adalah teknik pemrograman di mana fungsi memanggil dirinya sendiri.

b)

Rekursi adalah cara untuk mendeklarasikan variabel dalam pemrograman.

c)

Rekursi adalah metode untuk menghindari penggunaan fungsi dalam pemrograman.

d)

Rekursi adalah teknik untuk mengoptimalkan penggunaan memori dalam program.

4.

Dalam algoritma greedy, keputusan yang diambil bersifat:

a)

lokal

b)

statistik

c)

acak

d)

global

5.

Apa yang menjadi ciri utama dari pemrograman dinamis?

a)

Penggunaan struktur data statis tanpa perubahan.

b)

Penggunaan algoritma greedy untuk optimasi.

c)

Penggunaan memoization untuk menyimpan hasil perhitungan.

d)

Penggunaan pengulangan untuk menyelesaikan masalah.

6.

Dalam konteks rekursi, apa yang dimaksud dengan 'base case'?

a)

'Base case' adalah kondisi yang menghentikan rekursi.

b)

'Base case' adalah bagian dari fungsi yang tidak berhubungan dengan rekursi.

c)

'Base case' adalah langkah awal dalam algoritma.

d)

'Base case' adalah kondisi yang memperpanjang rekursi.

7.

Manakah dari berikut ini yang merupakan contoh algoritma greedy?

a)

Algoritma Bellman-Ford untuk Shortest Path

b)

Algoritma Prim untuk Minimum Spanning Tree

c)

Algoritma Dijkstra untuk Shortest Path

d)

Algoritma Kruskal untuk Minimum Spanning Tree

8.

Apa yang harus dilakukan jika sebuah fungsi rekursif tidak memiliki base case?

a)

Ubah fungsi menjadi iteratif tanpa base case.

b)

Biarkan fungsi berjalan tanpa perubahan.

c)

Tambahkan base case untuk menghentikan rekursi.

d)

Hapus semua kode dalam fungsi.

9.

Dalam pemrograman dinamis, apa yang dimaksud dengan 'overlapping subproblems'?

a)

Overlapping subproblems adalah kondisi di mana semua submasalah harus diselesaikan secara terpisah.

b)

Overlapping subproblems adalah metode untuk menyelesaikan masalah secara paralel.

c)

Overlapping subproblems adalah teknik untuk menghindari penggunaan memori.

d)

Overlapping subproblems adalah situasi di mana submasalah yang sama muncul berulang kali dalam pemecahan masalah.

10.

Apa keuntungan utama menggunakan algoritma greedy dibandingkan algoritma lainnya?

a)

Kompleksitas yang tinggi dalam implementasi.

b)

Memerlukan lebih banyak sumber daya dibandingkan algoritma dinamis.

c)

Hasil yang selalu optimal untuk semua kasus.

d)

Kecepatan dan kesederhanaan implementasi.

11.

Dalam proses pemrograman, tahap mana yang paling penting untuk menentukan efisiensi algoritma?

a)

Pengujian unit

b)

Analisis kompleksitas algoritma

c)

Implementasi kode

d)

Desain antarmuka

12.

Apa yang dimaksud dengan 'memoization' dalam pemrograman dinamis?

a)

Memoization adalah metode untuk menghapus fungsi yang tidak efisien.

b)

Memoization adalah cara untuk mengoptimalkan penggunaan memori dalam program.

c)

Memoization adalah teknik untuk menggabungkan beberapa fungsi menjadi satu.

d)

Memoization adalah teknik penyimpanan hasil perhitungan fungsi untuk meningkatkan efisiensi.

13.

Dalam rekursi, apa yang terjadi jika fungsi memanggil dirinya sendiri tanpa batas?

a)

Stack overflow terjadi.

b)

Fungsi berhenti secara otomatis.

c)

Fungsi memanggil fungsi lain.

d)

Fungsi mengembalikan nilai default.

14.

Apa yang dimaksud dengan 'optimal substructure' dalam algoritma dinamis?

a)

Optimal substructure hanya berlaku untuk algoritma greedy.

b)

Optimal substructure adalah sifat di mana solusi optimal dari suatu masalah dapat dibentuk dari solusi optimal submasalahnya.

c)

Optimal substructure berarti solusi terbaik tidak dapat dibentuk dari submasalah.

d)

Optimal substructure adalah metode untuk menghindari perhitungan berulang.

15.

Dalam algoritma greedy, keputusan yang diambil biasanya:

a)

Berdasarkan pilihan terbaik saat itu.

b)

Berdasarkan analisis jangka panjang.

c)

Mengabaikan kondisi saat ini.

d)

Mempertimbangkan semua kemungkinan secara bersamaan.

16.

Apa yang menjadi tantangan utama dalam menggunakan rekursi?

a)

Menyederhanakan kode program

b)

Risiko stack overflow dan kesulitan dalam pemahaman alur eksekusi.

c)

Terlalu banyak penggunaan memori

d)

Meningkatkan kecepatan eksekusi

17.

Dalam pemrograman dinamis, bagaimana cara menghindari perhitungan yang berulang?

a)

Menyimpan semua data dalam variabel global tanpa optimasi.

b)

Mengabaikan hasil perhitungan sebelumnya dan menghitung dari awal.

c)

Menggunakan pengulangan untuk menghitung ulang setiap kali.

d)

Gunakan memoization untuk menyimpan hasil perhitungan.

18.

Apa yang dimaksud dengan 'time complexity' dalam analisis algoritma?

a)

Time complexity adalah waktu maksimum yang dibutuhkan algoritma untuk menyelesaikan tugas.

b)

Time complexity mengukur jumlah langkah yang diambil algoritma tanpa mempertimbangkan input.

c)

Time complexity adalah ukuran waktu yang dibutuhkan algoritma seiring dengan bertambahnya ukuran input.

d)

Time complexity adalah ukuran ruang yang dibutuhkan algoritma.

19.

Dalam konteks algoritma, apa yang dimaksud dengan 'greedy choice property'?

a)

Greedy choice property focuses on maximizing immediate rewards without consideration for future consequences.

b)

Greedy choice property ensures that all choices are optimal.

c)

Greedy choice property is about making random selections.

d)

Greedy choice property is the principle that local optimal choices lead to a global optimal solution.

20.

Apa yang harus diperhatikan saat mendesain algoritma rekursif?

a)

Perhatikan kondisi dasar, pemecahan masalah, dan kemajuan menuju kondisi dasar.

b)

Fokus pada penggunaan memori yang efisien.

c)

Hindari penggunaan fungsi yang tidak terdefinisi.

d)

Pastikan algoritma selalu menghasilkan output yang sama.

21.

Berikut ini yang merupakan contoh siklus hidup sistem adalah.

a)

update perangkat lunak

b)

pengembangan perangkat lunak

c)

desain perangkat lunak

d)

menerbitkan perangkat lunak

e)

merancang algoritma perangkat lunak

22.

Berikut ini merupakan urutan tahapan pengembangan program perangkat lunak....

a)

analisis masalah, implementasi solusi, mendesain solusi, pengujian

b)

pengujian, analisis masalah, mendesain solusi, implementasi solusi

c)

mendesain solusi, implementasi solusi, analisis masalah, pengujian

d)

analisis masalah, mendesain solusi, implementasi solusi, pengujian

e)

mendesain solusi, implementasi solusi, pengujian, analisis masalah

23.

Orang yang melakukan pengujian perangkat lunak disebut...

a)

programmer

b)

tester

c)

debuging

d)

coding

e)

testing

24.

Seluruh ruangan memiliki lantai yang kotor, namun pada ruang tamu selain memiliki lantai yang kotor juga perabotannya berdebu sehingga harus dilakukan pengelapan pada tiap perabot, namun tetap harus menyapu dan mengepel seperti ruangan lain. contoh kasus diatas merupakan penerapan salah satu pilar berpikir komputasional, yaitu

a)

dekomposisi

b)

pengenalan pola

c)

abstraksi

d)

algoritma

e)

logika

25.

proses yang dilakukan setelah menganalisis masalah dalam urutan siklus pemrograman adalah.

a)

menguji program

b)

mendesain solusi

c)

mengimplementasikan kode program

d)

pemakaian program

e)

mendesain program

26.

Melakukan langkah-langkah secara urut dari awal hingga akhir merupakan implementasi algoritma...

a)

sequence

b)

looping

c)

sorting

d)

insert

e)

filtering

27.

Agar seseorang dapat memprediksi hal yang akan terjadi setelahnya, membuat sebuah aturan khusus, dan memudahkan dalam memecahkan masalah. Pernyataan tersebut merupakan tujuan dari.

a)

dekomposisi

b)

pengenalan pola (Pattern Recognition)

c)

algoritma greedy

d)

divide and conquer

e)

algoritma brute force

28.

Jenis algoritma yang menggunakan pendekatan penyelesaian masalah dengan mencari nilai maksimum sementara pada setiap langkahnya. Nilai maksimum sementara dikenal dengan istilah local maximum, yaitu algoritma...

a)

dekomposisi

b)

pemograman dinamis

c)

rekrusif

d)

Brute Force

e)

Greedy

29.

Membuat diagram alir dilakukan pada tahap

a)

analisis masalah

b)

mendesain solusi

c)

implementasi

d)

pengujian

e)

evaluasi

30.

Bilangan Fibonacci merupakan contoh dari

a)

algoritma

b)

rekursi

c)

berpikir komputasional

d)

dekomposisi

e)

abstraksi

31.

Algoritma Greedy memiliki kelebihan yaitu...

a)

solusi yang dihasilkan pasti optimal

b)

waktu yang dibutuhkan tidak cepat

c)

solusi yang dihasilkan tidak optimal

d)

waktu yang dibutuhkan terbilang cepat

e)

terkadang tidak ditemukan solusi

32.

Suatu teknik algoritma untuk memecahkan masalah dimana solusi optimal dari masalah tersebut dapat dipandang sebagai suatu deret keputusan disebut....

a)

pemograman dinamis

b)

algoritma sekuensial

c)

baris bilangan fibonacci

d)

algoritma greedy

e)

algoritma perualangan

33.

Berikut ini pernyataan yang benar mengenai algoritma Greedy, Kecuali...

a)

menyelesaikan masalah secara instan

b)

lakukan apa yang anda bisa sekarang

c)

memilih salah satu pemecahan masalah terbaik

d)

langsung melakukan pemecahan masalah saat itu juga

e)

dibutuhkan banyak masukan dan pertimbangan secara logis

34.

Indeks T pada array kata "I, N, F, O, R, M, A, T, I, K, A" adalah...

a)

9

b)

8

c)

7

d)

6

e)

5

35.

Mengubah string yang berisi kalimat dengan huruf nonkapital menjadi kalimat kapital menggunakan fungsi..

a)

toupper()

b)

lower()

c)

upper()

d)

tolower()

e)

capital()

36.

Setiap karakter memiliki ukuran...

a)

1 Mbps

b)

1 Kbps

c)

1 Gbps

d)

1 Byte

e)

1 Bits

37.

Dalam siklus pemograman, setelah mendefinisikan permasalahan dilakukan proses..

a)

membuat permasalahan

b)

merancang solusi

c)

mengimplementasikan solusi

d)

coding

e)

menguji program

38.

Tipe data yang digunakan untuk menampung data teks adalah...

a)

array

b)

float

c)

char

d)

int

e)

boolean

39.

Tipe data yang digunakan untuk menampung data bilangan bulat adalah...

a)

array

b)

float

c)

char

d)

int

e)

boolean

40.

Tipe data yang digunakan untuk menampung data true atau false adalah...

a)

array

b)

float

c)

char

d)

int

e)

boolean

41.

Prinsip algoritma greedy yakni take what you can get now artinya ...

a)

Setiap langkah mengambil keputusan yang optimal tanpa memperhatikan konsekuensi pada langkah selanjutnya

b)

Langkah yang diambil menggunakan empat tahapan berpikir komputasional untuk menyelesaikan masalah

c)

Dengan berpikir secara logis akan memecah masalah yang ada

d)

Menggunkan dekomposisi akan memecahkan masalah yang besar hingga masalah yang kecil

e)

Adanya algoritma menggunakan langkah-langkah yang tepat tanpa memperhatikan konsekuensi langkah selanjutnya

42.

Kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama disebut ...

a)

Pemrograman dinamis

b)

Pemrograman array

c)

Algoritma gredy

d)

Algoritma

e)

Dekomposisi

43.

Kelemahan dari pemrograman dinamis adalah ...

a)

Adanya perubnahan program yang mengakibatkan tidak seimbang

b)

Apabila tidak dilakukan secara tepat maka ketidakefesienan biaya

c)

Apabila tidak menggunakan tahapan akan mengakibatkan penambahan waktu

d)

Dampaknya pemrograman membuat penyelesaian tidak tepat

e)

Adanya penambahan waktu mengakibatkan ketidakefisienan biaya

44.

Tipe data yang terdiri atas kumpulan dari beberapa karakter disebut ...

a)

Karakter

b)

Integer

c)

String

d)

Boolean

e)

Flowchart

45.

Berikut ini yang bukan fungsi pengolahan data string pada program adalah ...

a)

Menyalin string

b)

Menghitung panjang string

c)

Membenarkan karakter di string

d)

Menggabungkan string

e)

Membandingkan dua nilai string

46.

Pelajaran informatika akan fokus pada pemrograman, teknologi jaringan komputer, dan pengembangan perangkat lunak. Berikut yang bukan fokus pada pelajaran informatika adalah ...

a)

Pemrograman

b)

Jaringan komputer

c)

Pengembangan perangkat lunak

d)

Merakit komputer

e)

Menambah komputer

47.

Sebuah tipe data yang dapat menyimpan satu karakter disebut ...

a)

Boolean

b)

Integer

c)

String

d)

Karakter

e)

Flowchart

48.

Kekurangan fungsi rekursi adalah ...

a)

Memakanmemori lebih besar

b)

Memmbutuhkan banyak kabel

c)

Menyambungkan banyak jaringan

d)

Menyediakan data

e)

Memperkecil memori

49.

Pada penerapannya pemrograman dinamis digunakan pada proses optimalisasi masalah. Penggunaan pemrograman dinamis jika tidak dilakukan secara tepat, akan mengakibatkan ...

a)

Kontruksi solusi optimal

b)

Perangkat rusak

c)

Memori penuh

d)

Ketidakefisienan biaya

e)

Optimalitas

50.

Algoritma adalah urutan yang dinyatakan dengan jelas untuk memecahkan suatu masalah dalam rentang waktu tertentu. Algoritma dapat disajikan dalam dua bentuk, yaitu ...

a)

Flowchart

b)

Bahasa latin

c)

Romawi

d)

Pseudocode

e)

Bahasa inggris