wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Soal Pilihan Ganda Rekursi

Total questions: 39

Worksheet time: 35mins

Name
Class
Date
1.

Fungsi rekursif adalah fungsi yang...

a)

Hanya digunakan dalam sorting

b)

Memanggil dirinya sendiri

c)

Selalu membutuhkan array

d)

Tidak memiliki parameter

e)

Hanya bisa digunakan dalam Python

2.

Basis kasus dalam rekursi berfungsi untuk...

a)

Membuat algoritma lebih cepat

b)

Menghindari perulangan

c)

Menghentikan pemanggilan rekursif

d)

Mengurangi jumlah parameter

e)

Menghindari percabangan

3.

Jika fungsi rekursif tidak memiliki base case, maka...

a)

Program tetap berhenti

b)

Terjadi infinite recursion

c)

Hasil akan selalu benar

d)

Program lebih cepat

e)

Tidak terjadi apa-apa

4.

Fungsi faktorial secara rekursif dapat ditulis sebagai:

a)

n × fact(n+1)

b)

n × fact(n-1)

c)

fact(n) × n

d)

n + fact(n)

e)

fact(n-2)

5.

Nilai faktorial dari 5 (5!) dengan rekursi adalah...

a)

60

b)

100

c)

120

d)

150

e)

200

6.

Fungsi Fibonacci rekursif biasanya ditulis sebagai...

a)

F(n) = F(n-1) + F(n-2)

b)

F(n) = F(n) + F(n-1)

c)

F(n) = F(n+1) + F(n-1)

d)

F(n) = n + F(n-1)

e)

F(n) = n × F(n-1)

7.

Nilai F(6) pada deret Fibonacci adalah...

a)

5

b)

8

c)

10

d)

11

e)

13

8.

Jika fungsi rekursif dipanggil terus menerus tanpa berhenti, maka akan terjadi...

a)

Stack Overflow

b)

Buffer Overflow

c)

Heap Memory Error

9.

Fungsi rekursif untuk menghitung pangkat n^m dapat ditulis:

a)

power(n, m) = power(n, m+1)

b)

power(n, m) = n × power(n, m-1)

c)

power(n, m) = n + power(n, m-1)

d)

power(n, m) = m × power(n-1, m)

e)

power(n, m) = power(n-1, m-1)

10.

Basis kasus dari rekursi faktorial adalah...

a)

fact(0) = 0

b)

fact(0) = 1

c)

fact(1) = 0

d)

fact(1) = 2

e)

fact(2) = 0

11.

Kelemahan algoritma rekursif adalah...

a)

Lebih mudah dipahami

b)

Lebih cepat daripada iteratif

c)

Menggunakan banyak memori stack

d)

Tidak bisa digunakan dalam sorting

e)

Hanya untuk operasi matematika

12.

Persamaan Fibonacci F(0)=0, F(1)=1, maka F(7)=...?

a)

A. 8

b)

B. 10

c)

C. 11

d)

D. 13

e)

E. 21

13.

Contoh kasus rekursi yang umum digunakan adalah...

a)

Faktorial, Fibonacci, Hanoi Tower

b)

Bubble sort, Merge sort

c)

Greedy coin change

d)

Knapsack problem

e)

Binary search iteratif

14.

Rekursi dapat digantikan dengan...

a)

Perulangan (looping)

b)

Operator aritmetika

c)

Variabel global

d)

Pointer

e)

Class

15.

Jika program menghitung Fibonacci secara rekursif, jumlah pemanggilan fungsi sangat...

a)

Sedikit

b)

Banyak

c)

Konstan

d)

Tidak berubah

e)

Sama dengan jumlah n

16.

Pemrograman rekursif erat kaitannya dengan...

a)

Queue

b)

Stack

c)

Linked List

d)

Array

e)

Hash Table

17.

Jika base case salah ditulis, maka...

a)

Program berhenti dengan benar

b)

Program tetap jalan tapi lambat

c)

Program tidak pernah berhenti

d)

Program langsung error kompilasi

e)

Tidak berpengaruh

18.

Algoritma greedy pada knapsack bekerja dengan cara...

a)

Mengambil semua barang sekaligus

b)

Memilih barang berdasarkan bobot terkecil

c)

Memilih barang berdasarkan nilai terbesar per bobot

d)

Memilih barang secara acak

e)

Memilih barang sesuai urutan input

19.

Pada fractional knapsack, barang boleh...

a)

Dipilih seluruhnya saja

b)

Tidak boleh dibagi

c)

Dibagi menjadi pecahan

d)

Dihapus jika berat besar

e)

Tidak boleh dimasukkan

20.

Tujuan greedy pada knapsack adalah...

a)

Meminimalkan bobot

b)

Memaksimalkan nilai total

c)

Mengambil semua barang

d)

Mengurangi jumlah barang

e)

Mengurutkan barang

21.

Jika kapasitas tas = 15, barang A (berat=5, nilai=30), B (berat=10, nilai=40), C (berat=20, nilai=100). Barang terbaik dengan greedy?

a)

Ambil A dan B

b)

Ambil C saja

c)

Ambil B saja

d)

Ambil A saja

e)

Tidak ambil

22.

Strategi greedy selalu optimal untuk...

a)

0/1 knapsack

b)

Fractional knapsack

c)

Semua jenis knapsack

d)

Dynamic knapsack

e)

Tidak ada

23.

Jika ada 3 barang dengan rasio nilai/berat: A=6, B=5, C=2. Barang yang dipilih terlebih dahulu adalah...

a)

A

b)

B

c)

C

d)

Semua sama

e)

Tidak ada

24.

Algoritma greedy gagal memberikan solusi optimal pada...

a)

Fractional knapsack

b)

Coin change dengan denominasi tertentu

c)

Binary search

d)

Hanoi tower

e)

Bubble sort

25.

Knapsack dengan fractional item lebih mudah karena...

a)

Bisa mengambil pecahan dari barang

b)

Tidak ada pembatas

c)

Semua barang bernilai sama

d)

Kapasitas selalu besar

e)

Berat selalu sama

26.

Jika kapasitas tas penuh, algoritma greedy akan...

a)

Mengabaikan sisa barang

b)

Menambah kapasitas tas

c)

Menghitung ulang semua

d)

Menghapus nilai barang

e)

Menggunakan rekursi

27.

Greedy pada knapsack lebih efisien dibanding dynamic programming karena...

a)

Menggunakan lebih banyak memori

b)

Menggunakan sorting dan langsung memilih

c)

Menggunakan backtracking

28.

knapsack 0/1, greedy tidak selalu optimal karena...

a)

Barang tidak bisa dibagi

b)

Barang memiliki nilai sama

c)

Kapasitas tas besar

d)

Barang bernilai kecil

e)

Rasio bobot tetap

29.

Hasil greedy selalu mendekati optimal jika...

a)

Semua barang bobot sama

b)

Kapasitas tidak terbatas

c)

Rasio nilai/bobot jelas

d)

Semua barang pecahannya sama

e)

Nilai barang sama

30.

Dalam implementasi greedy knapsack, langkah pertama adalah...

a)

Mengurutkan barang berdasarkan rasio nilai/bobot

b)

Menghitung kapasitas tas

c)

Memilih barang terkecil

d)

Menghapus barang

e)

Memasukkan barang sembarang

31.

Algoritma greedy pada coin change memilih koin...

a)

Paling kecil dulu

b)

Paling besar dulu

c)

Sesuai urutan input

d)

Secara acak

e)

Sama banyak

32.

Jika tersedia koin {1, 5, 10, 25} dan nilai = 37, maka koin pertama yang dipilih adalah...

a)

25

b)

10

c)

5

d)

1

e)

50

33.

Dengan koin {1, 3, 4}, nilai 6. Greedy memilih...

a)

4+1+1

b)

3+3

c)

6×1

d)

2+2+2

e)

5+1

34.

Algoritma greedy pada coin change optimal jika...

a)

Denominasi koin standar (1, 5, 10, 25, ...)

b)

Denominasi sembarang

c)

Semua koin sama

d)

Nilai selalu genap

35.

Coin change dengan greedy tidak optimal pada set koin...

a)

{1, 3, 4}

b)

{1, 2, 5, 10}

c)

{1, 5, 10, 25}

d)

{1, 2, 4, 8}

e)

{1, 50, 100}

36.

Tujuan coin change adalah...

a)

Meminimalkan jumlah koin

b)

Memaksimalkan jumlah koin

c)

Memaksimalkan nilai uang

d)

Memperkecil denominasi

e)

Menghilangkan sisa koin

37.

Jika jumlah uang = 63, dengan koin {1, 5, 10, 25}, jumlah koin minimal adalah...

a)

5

b)

6

c)

7

d)

8

e)

9

38.

Jika set koin {1, 7, 10} dan target 14, greedy memilih...

a)

10+1+1+1+1

b)

7+7

c)

14×1

d)

10+4

e)

7+4+3

39.

Jika greedy gagal memberikan solusi optimal, maka metode lain yang digunakan adalah...

a)

Dynamic Programming

b)

Sorting

c)

Binary Search

d)

Brute Force saja

e)

Rekursi tanpa base case