wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Ulangan Pertama SMT 1 Kelas XI

Total questions: 40

Worksheet time: 20mins

Name
Class
Date
1.

Prinsip utama algoritma Greedy adalah...

a)

Memecahkan masalah dari bagian terkecil ke terbesar

b)

Memilih solusi yang paling optimal pada setiap langkah

c)

Menggunakan semua kemungkinan solusi dan memilih yang terbaik

d)

Menggunakan pencarian acak untuk menemukan solusi

2.

Salah satu contoh penerapan algoritma Greedy dalam kehidupan sehari-hari adalah…

a)

Memilih rute terpendek saat menggunakan aplikasi peta untuk menuju tujuan

b)

Mengurutkan daftar belanjaan berdasarkan harga menggunakan Merge Sort

c)

Mencoba semua kemungkinan password dengan metode Backtracking

d)

Mencari data tertentu dalam daftar menggunakan Binary Search

3.

Kekurangan algoritma Greedy adalah...

a)

Tidak pernah menghasilkan solusi

b)

Selalu membutuhkan waktu yang lama

c)

Tidak selalu menghasilkan solusi optimal untuk semua kasus

d)

Tidak dapat digunakan untuk data kecil

4.

Dalam algoritma Greedy, setiap keputusan yang diambil bersifat...

a)

Global optimal

b)

Acak

c)

Local optimal

d)

Iteratif

5.

Pemrograman Greedy digunakan untuk...

a)

Mengambil semua kemungkinan solusi dan menggabungkannya

b)

Memecahkan masalah dengan memilih solusi terbaik secara bertahap

c)

Menggunakan rekursi untuk mencari solusi optimal

d)

Menggunakan algoritma brute force

6.

Berikut ini yang bukan langkah dalam memprogram algoritma Greedy adalah...

a)

Definisikan masalah

b)

Pilih solusi lokal terbaik

c)

Lanjutkan ke langkah berikutnya hingga selesai

d)

Selalu periksa semua kemungkinan solusi sebelum memilih

7.

Program untuk menghitung koin minimum dalam C++ menggunakan Greedy biasanya dimulai dengan...

a)

Memilih koin dengan nilai terkecil terlebih dahulu

b)

Memilih koin dengan nilai terbesar terlebih dahulu

c)

Memilih koin secara acak

d)

Mengurutkan koin dari terkecil ke terbesar

8.

Alasan Greedy cocok untuk masalah pencarian jalur terpendek adalah...

a)

Selalu memeriksa semua jalur yang ada

b)

Memilih jalur yang terlihat terbaik saat itu

c)

Menggunakan brute force

d)

Membagi masalah menjadi submasalah yang saling bergantung

9.

Knapsack 0-1 berarti...

a)

Barang dapat diambil sebagian

b)

Barang harus diambil seluruhnya atau tidak sama sekali

c)

Barang hanya bisa diambil setengah

d)

Barang tidak memiliki bobot

10.

Pada Knapsack 0-1, metode Greedy tidak selalu optimal karena...

a)

Tidak mempertimbangkan semua kemungkinan kombinasi

b)

Selalu memilih bobot terbesar

c)

Selalu memilih harga terbesar

d)

Menggunakan perhitungan acak

11.

Jika kapasitas tas adalah 10 kg, barang A (6 kg, Rp60), B (4 kg, Rp50), dan C (3 kg, Rp40), solusi optimal Knapsack 0-1 adalah...

a)

A dan B

b)

B dan C

c)

A dan C

d)

A saja

12.

Penyelesaian Knapsack 0-1 biasanya menggunakan...

a)

Pemprograman Dinamis

b)

Random Search

c)

Bagi dan selesaikan

d)

Pengubahan data

13.

Perbedaan Knapsack Rasional dengan Knapsack 0-1 adalah...

a)

Barang hanya bisa diambil seluruhnya

b)

Barang bisa diambil sebagian

c)

Barang tidak memiliki nilai

d)

Tidak menggunakan bobot

14.

Knapsack Rasional dapat diselesaikan dengan algoritma Greedy dengan cara...

a)

Mengambil barang dengan nilai terendah

b)

Mengambil barang berdasarkan rasio nilai/bobot tertinggi

c)

Mengambil barang secara acak

d)

Mengambil barang dari bobot ter

15.

algoritma Greedy dengan cara...

a)

Mengambil barang dengan nilai terendah

b)

Mengambil barang berdasarkan rasio nilai/bobot tertinggi

c)

Mengambil barang secara acak

d)

Mengambil barang dari bobot terkecil

16.

Jika kapasitas tas adalah 50 kg, barang A (60 kg, Rp120), B (20 kg, Rp100), dan C (30 kg, Rp120), nilai maksimum yang bisa diambil adalah...

a)

Rp220

b)

Rp240

c)

Rp280

d)

Rp300

17.

Knapsack Rasional biasanya lebih mudah diselesaikan dibanding 0-1 karena...

a)

Menggunakan rekursi

b)

Tidak perlu mempertimbangkan kombinasi barang

c)

Barang bisa dipecah sesuai kapasitas

d)

Semua jawaban benar

18.

Bahasa C++ ditemukan oleh...

a)

James Gosling

b)

Dennis Ritchie

c)

Bjarne Stroustrup

d)

Anders Hejlsberg

19.

Struktur dasar program C++ biasanya terdiri dari...

a)

Direktif header (#include), fungsi main(), dan pernyataan/program.

b)

Class, method, dan package wajib.

c)

import modul, fungsi anonim, dan loop.

d)

Header XML, body HTML, dan script.

20.

cin dan cout adalah fasilitas untuk input/output yang disediakan oleh...

a)

Bahasa Python

b)

Bahasa Java

c)

Bahasa C++

d)

Bahasa C

21.

Tipe data yang biasa dipakai untuk menyimpan teks di C++ adalah...

a)

int

b)

float

c)

string

d)

double

22.

Seorang kasir ingin memberikan kembalian Rp8.700 dengan pecahan Rp5.000, Rp2.000, Rp1.000, Rp500, dan Rp200. Dengan algoritma Greedy, berapa lembar koin/uang kertas yang dibutuhkan minimal?

a)

3

b)

4

c)

5

d)

6

23.

Dalam lomba memanjat tiang, setiap peserta mendapat poin dari setiap meter yang dipanjat. Peserta hanya boleh memilih langkah 3 m (15 poin), 2 m (10 poin), dan 1 m (5 poin). Untuk mencapai 7 meter, berapa poin maksimal yang bisa didapat jika menggunakan strategi Greedy?

a)

30

b)

35

c)

40

d)

45

24.

Perhatikan peta nilai sebidang tanah berikut (4 kotak ke samping × 4 kotak ke bawah). Hanya boleh bergerak ke kanan (R) atau ke bawah (D) dari kiri atas ke kanan bawah.

a)

39, R R D R D D

b)

41, R R D R D D

c)

41, D R R D R D

d)

43, R D R R D D

25.

Perhatikan grid nilai berikut (3×4). Seseorang mulai dari kiri atas menuju kanan bawah, hanya boleh bergerak ke kanan (R) atau ke bawah (D).

a)

27, R R D R D

b)

28, R D R R D

c)

29, D R R D R

d)

30, D D R R R

26.

Knapsack 0-1: Kapasitas tas: 5 kg Barang: Barang A: 2 kg, nilai Rp12 Barang B: 1 kg, nilai Rp10 Barang C: 3 kg, nilai Rp20 Berapa nilai maksimum yang dapat diperoleh?

a)

30

b)

32

c)

42

d)

22

27.

Knapsack Rasional (Fractional): Kapasitas tas: 50 kg Barang: Barang A: 60 kg, nilai Rp120 Barang B: 20 kg, nilai Rp100 Barang C: 30 kg, nilai Rp120 Dengan metode Greedy (rasio nilai/bobot), berapa nilai maksimum?

a)

Rp220

b)

Rp240

c)

Rp280

28.

s tas: 50 kg Barang: Barang A: 60 kg, nilai Rp120 Barang B: 20 kg, nilai Rp100 Barang C: 30 kg, nilai Rp120 Dengan metode Greedy (rasio nilai/bobot), berapa nilai maksimum?

a)

Rp220

b)

Rp240

c)

Rp280

d)

Rp300

29.

#include using namespace std; int main() { cout << "Hello World"; return 0; } Output program di atas adalah...

a)

HelloWorld

b)

Hello World

c)

"Hello World"

d)

Error

30.

#include using namespace std; int main() { int x = 5; cout << x + 3; } Output program di atas adalah...

a)

5

b)

3

c)

8

d)

x+3

31.

#include using namespace std; int main() { string nama; cin >> nama; cout << "Halo " << nama; } Jika input yang dimasukkan adalah Tasya, outputnya adalah...

a)

HaloTasya

b)

Halo Tasya

c)

Tasya

d)

Halo

32.

#include using namespace std; int main() { int a = 7, b = 2; cout << a / b; } Output program adalah...

a)

3.5

b)

3

c)

4

d)

Error

33.

#include using namespace std; int main() { float a = 7, b = 2; cout << a / b; } Output program adalah...

a)

3.5

b)

3

c)

4

d)

Error

34.

#include using namespace std; int main() { int x; cin >> x; cout << x * 2; } Jika input 10, maka outputnya adalah...

a)

12

b)

20

c)

102

d)

Error

35.

#include using namespace std; int main() { string s1 = "Informatika"; cout << s1[0]; } Output program adalah...

a)

I

b)

n

c)

Informatika

d)

Error

36.

#include using namespace std; int main() { int a = 5; a += 3; cout << a; } Output program adalah...

a)

3

b)

5

c)

8

d)

Error

37.

#include using namespace std; int main() { int a = 10; if (a > 5) cout << "Besar"; else cout << "Kecil"; } Output program adalah...

a)

Besar

b)

Kecil

c)

Error

d)

Tidak ada output

38.

#include using namespace std; int main() { for (int i = 1; i <= 3; i++) { cout << i << " "; } } Output program adalah...

a)

1 2 3

b)

123

c)

1 2 3 (dengan spasi)

d)

1, 2, 3

39.

Greedy Seorang tukang parkir ingin memberi kembalian Rp13.400 menggunakan pecahan Rp10.000, Rp5.000, Rp2.000, Rp1.000, Rp500, dan Rp200. Dengan algoritma Greedy, berapa minimal jumlah lembar/koin yang dibutuhkan?

a)

4

b)

5

c)

6

d)

7

40.

Bahasa C++ (Potongan Kode) #include using namespace std; int main() { int x = 4; if (x % 2 == 0) cout << "Genap"; else cout << "Ganjil"; } Output program adalah...

a)

Genap

b)

Ganjil

c)

4

d)

Error