XI STRATEGI ALGORITMIK 2024 – 1

Seorang programmer sedang mengembangkan aplikasi kalkulator yang mampu menghitung akar kuadrat, pangkat, dan operasi dasar lainnya menggunakan array untuk menyimpan hasil perhitungan. Dalam prosesnya, ia menyadari bahwa setiap hasil perhitungan perlu disimpan dalam array agar dapat diakses ulang oleh pengguna.

 

Pilihlah jawaban yang benar terkait penggunaan array dalam menyimpan hasil perhitungan pada aplikasi kalkulator tersebut.

 

 

PERNYATAAN

[checklist no=1001 pg=CHECK]

Array dapat menyimpan hasil perhitungan secara berurutan sehingga memudahkan pengguna melihat riwayat perhitungan.

[checklist no=1002 pg=CHECK]

Dengan menggunakan array multidimensi, aplikasi dapat mengelompokkan hasil perhitungan berdasarkan jenis operasi.

[checklist no=1003 pg=CHECK]

Array hanya dapat menyimpan satu jenis operasi per elemen.

[checklist no=1004 pg=CHECK]

Array tidak dapat digunakan untuk menyimpan hasil perhitungan numerik karena keterbatasan jenis data.

 

A

SIMPAN

 

B

 
 

C

 
 

D

 
 

E

 
 

Diberikan sebuah algoritme untuk menghitung jumlah elemen dari sebuah array multidimensi. Algoritme ini terdiri dari beberapa langkah yang berfungsi untuk menghitung jumlah keseluruhan elemen. Siswa diminta untuk memahami proses yang terjadi di setiap langkah.

 

Pada kolom di bawah ini, tandai langkah-langkah yang sesuai dengan kolom kategori proses. Pilih satu opsi di setiap baris untuk menentukan apakah langkah tersebut merupakan bagian dari proses “Inisialisasi”, “Iterasi”, atau “Akhir” dari algoritme.

 

 

Memulai iterasi melalui setiap baris dalam array

[radio no=2001]

Memulai iterasi melalui setiap kolom dalam array

[radio no=2002]

Menambahkan nilai elemen saat ini ke total jumlah

[radio no=2003]

Mengakhiri iterasi ketika semua elemen dihitung

[radio no=2004]

Menyimpan total jumlah sebagai output akhir

[radio no=2005]

[clearradio]

 
 

[radio2 opsi=A]

Inisialisasi

[radio2 opsi=B]

Iterasi

[radio2 opsi=C]

Akhir

 

bbbcc

SIMPAN

 

B

 
 

C

 
 

D

 
 

E

 
 

Pada sebuah program pengolahan data, seorang analis ingin menyimpan data penjualan harian yang terdiri dari jumlah barang terjual, pendapatan harian, dan tanggal transaksi. Analis tersebut menggunakan array multidimensi dengan tiga kolom: produk, jumlah_terjual, dan tanggal. Ia ingin mengakses data penjualan tertentu dan melakukan analisis terhadap total penjualan bulanan.

 

Berapa banyak kolom dalam array yang perlu diperiksa untuk menghitung total penjualan bulanan? [isiansingkat no=3001]

 

1

SIMPAN

 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang siswa sedang mempelajari penggunaan array untuk menyimpan data nilai ulangan harian siswa dalam satu kelas. Dia menggunakan array nilaiUlangan yang berisi nilai dari masing-masing siswa dalam bentuk angka.

 

Manakah dari pernyataan berikut yang benar terkait penggunaan array nilaiUlangan?

 

A

Array nilaiUlangan hanya dapat menyimpan nilai dari satu siswa.

 

B

Array nilaiUlangan dapat menyimpan banyak nilai dalam satu variabel.

 

C

Array nilaiUlangan harus diinisialisasi setiap kali program dijalankan.

 

D

Array nilaiUlangan hanya bisa menyimpan nilai bilangan bulat saja.

 

E

Array nilaiUlangan akan secara otomatis menghapus data setelah digunakan.

 

Dalam sebuah program sederhana, variabel array digunakan untuk menyimpan nama-nama siswa yang mengikuti ekstrakurikuler tertentu di sekolah. Misalnya, array namaSiswa berisi daftar nama siswa yang terdaftar dalam kegiatan tersebut.

 

Tandai pernyataan berikut dengan “Benar” atau “Salah”:

 

 

PERNYATAAN

BENAR

SALAH

Array namaSiswa bisa menyimpan lebih dari satu nama siswa.

[opsi no=5001 pg=B]

[opsi no=5001 pg=S]

Array namaSiswa harus selalu berisi data dengan tipe numerik.

[opsi no=5002 pg=B]

[opsi no=5002 pg=S]

Array namaSiswa hanya bisa digunakan untuk menyimpan satu nama siswa pada satu waktu.

[opsi no=5003 pg=B]

[opsi no=5003 pg=S]

Isi array namaSiswa bisa diakses dengan menggunakan indeks posisi elemen.

[opsi no=5004 pg=B]

[opsi no=5004 pg=S]

 

bssb

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang pengembang sedang merancang algoritme untuk mencari solusi terbaik dalam mengelompokkan data penjualan berdasarkan kategori produk. Algoritme ini harus mampu mengelompokkan produk dengan akurasi tinggi agar analisis penjualan lebih efisien. Terdapat berbagai pendekatan algoritme yang bisa digunakan, seperti pengurutan, pencarian, dan pengelompokan data.

 

Pilihlah dua pendekatan algoritme yang paling tepat digunakan untuk mengelompokkan data penjualan berdasarkan kategori produk.

 

 

PERNYATAAN

[checklist no=6001 pg=CHECK]

Algoritme pengurutan untuk mengatur data berdasarkan urutan nilai.

[checklist no=6002 pg=CHECK]

Algoritme pengelompokan (clustering) untuk mengelompokkan data berdasarkan kesamaan karakteristik.

[checklist no=6003 pg=CHECK]

Algoritme pencarian untuk menemukan data spesifik dari kategori produk tertentu.

[checklist no=6004 pg=CHECK]

Algoritme pencarian biner untuk mempercepat pencarian produk dalam array yang sudah diurutkan.

[checklist no=6005 pg=CHECK]

Algoritme rekursi untuk mengulang proses pengelompokan secara berulang.

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang data scientist sedang mengembangkan algoritme untuk memproses dan menganalisis data penjualan besar-besaran. Data ini mencakup ratusan ribu transaksi yang terjadi setiap hari. Untuk memaksimalkan performa, data scientist tersebut perlu memilih algoritme yang paling efisien agar analisis dapat dilakukan dengan cepat dan memakan sedikit ruang penyimpanan.

 

Pilih dua kriteria utama yang perlu diperhatikan oleh data scientist dalam memilih algoritme untuk memproses data penjualan dalam jumlah besar.

 

 

PERNYATAAN

[checklist no=7001 pg=CHECK]

Kompleksitas waktu (time complexity)

[checklist no=7002 pg=CHECK]

Kesesuaian algoritme dengan bahasa pemrograman

[checklist no=7003 pg=CHECK]

Kompleksitas ruang (space complexity)

[checklist no=7004 pg=CHECK]

Ketersediaan algoritme dalam pustaka standar

[checklist no=7005 pg=CHECK]

Ukuran data masukan

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Sebuah perusahaan ingin mengimplementasikan sistem enkripsi untuk melindungi data pelanggan. Mereka mempertimbangkan beberapa algoritme enkripsi, termasuk AES, RSA, dan SHA. Setiap algoritme memiliki kelebihan dan kekurangannya masing-masing dalam hal keamanan dan kecepatan.

 

Mengapa memilih algoritme yang lebih kompleks seperti AES atau RSA lebih dianjurkan untuk keamanan data, meskipun mungkin memerlukan waktu proses yang lebih lama?

 

 

Alasan

Setuju

Tidak

[isian no=8001]

[opsi no=8002 pg=B]

[opsi no=8002 pg=S]

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang siswa membuat program sederhana untuk menghitung luas persegi panjang menggunakan dua variabel, yaitu panjang dan lebar. Siswa tersebut menggunakan rumus luas = panjang * lebar dan menyimpan hasil perhitungan dalam variabel luas.

 

Manakah pernyataan yang benar mengenai variabel luas dalam program tersebut?

 

A

Variabel luas berfungsi menyimpan nilai dari perhitungan panjang + lebar.

 

B

Variabel luas menyimpan hasil dari perkalian panjang dan lebar.

 

C

Variabel luas hanya bisa menyimpan nilai dalam bentuk teks.

 

D

Variabel luas menyimpan data dalam bentuk array.

 

E

Variabel luas harus diinisialisasi dengan nilai nol.

 

Dalam sebuah program, seorang programmer menggunakan array nilaiMahasiswa untuk menyimpan nilai ujian beberapa mahasiswa dalam bentuk angka. Array ini memudahkan programmer untuk mengakses dan memanipulasi data nilai secara efisien.

 

Tandai pernyataan berikut dengan “Benar” atau “Salah”:

 

 

PERNYATAAN

BENAR

SALAH

Array nilaiMahasiswa dapat menyimpan lebih dari satu nilai dalam satu variabel.

[opsi no=10001 pg=B]

[opsi no=10001 pg=S]

Array nilaiMahasiswa harus memiliki elemen yang bertipe teks

[opsi no=10002 pg=B]

[opsi no=10002 pg=S]

Setiap elemen dalam array nilaiMahasiswa dapat diakses menggunakan indeks.

[opsi no=10003 pg=B]

[opsi no=10003 pg=S]

Array nilaiMahasiswa hanya dapat menyimpan data dalam bentuk bilangan bulat.

[opsi no=10004 pg=B]

[opsi no=10004 pg=S]

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang data analyst menggunakan Google Colab untuk mengolah data penjualan menggunakan Python. Data ini terdiri dari ratusan ribu baris dan beberapa kolom, termasuk produk, harga, jumlah_terjual, dan tanggal. Analis tersebut ingin menghitung total pendapatan harian dan menampilkan hasilnya dalam bentuk grafik.

 

Pilih dua langkah yang benar dan efisien untuk menyelesaikan tugas tersebut di Google Colab.

 

 

PERNYATAAN

[checklist no=11001 pg=CHECK]

Menggunakan perulangan for untuk menghitung total pendapatan setiap baris secara manual.

[checklist no=11002 pg=CHECK]

Menggunakan fungsi groupby() pada kolom tanggal untuk menghitung total pendapatan harian.

[checklist no=11003 pg=CHECK]

Menggunakan fungsi sum() secara langsung pada kolom harga dan jumlah_terjual.

[checklist no=11004 pg=CHECK]

Menggunakan matplotlib atau seaborn untuk menampilkan grafik pendapatan harian.

[checklist no=11005 pg=CHECK]

Menggunakan fungsi apply() untuk mengubah semua nilai di kolom harga menjadi string.

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang siswa sedang belajar dasar pemrograman Python, termasuk konsep array (daftar), perulangan (looping), fungsi, dan operasi logika dasar. Berikut ini adalah beberapa istilah dasar pemrograman dan penjelasan singkatnya.

 

Soal: Cocokkan setiap istilah dengan definisi yang benar.

 

 

Kumpulan elemen yang disimpan dalam satu variabel, dapat diakses menggunakan indeks

[radio no=12001]

Proses mengulang satu atau lebih perintah sampai kondisi tertentu terpenuhi

[radio no=12002]

Blok kode yang dapat digunakan kembali untuk melakukan tugas tertentu

[radio no=12003]

Struktur yang menjalankan kode berdasarkan kondisi tertentu (misalnya if statement)

[radio no=12004]

Tempat penyimpanan sementara untuk nilai yang dapat berubah selama program berjalan

[radio no=12005]

[clearradio]

 
 

[radio2 opsi=A]

Fungsi

[radio2 opsi=B]

Array

[radio2 opsi=C]

Looping

[radio2 opsi=D]

Variabel

[radio2 opsi=E]

Kondisional

 

bcaed

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Dalam sebuah program, seorang siswa menggunakan Python untuk menganalisis daftar angka dan menemukan elemen yang memenuhi kondisi tertentu. Siswa tersebut ingin menuliskan fungsi yang mencari angka yang lebih besar dari nilai tertentu dan mengembalikannya dalam bentuk daftar baru. Siswa mempertimbangkan penggunaan perulangan for atau fungsi filter() untuk menyelesaikan tugas ini.

 

Soal: Pilih dua cara yang benar dan efisien untuk membuat fungsi yang menghasilkan daftar baru dengan angka yang lebih besar dari nilai tertentu dalam Python.

 

 

PERNYATAAN

[checklist no=13001 pg=CHECK]

Menggunakan perulangan for untuk memeriksa setiap elemen dalam daftar dan menambahkan elemen yang memenuhi syarat ke daftar baru.

[checklist no=13002 pg=CHECK]

Menggunakan fungsi map() untuk memilih elemen yang lebih besar dari nilai tertentu.

[checklist no=13003 pg=CHECK]

Menggunakan fungsi filter() dengan lambda untuk memilih elemen yang lebih besar dari nilai tertentu.

[checklist no=13004 pg=CHECK]

Menggunakan perulangan while untuk memeriksa setiap elemen dalam daftar sampai kondisi terpenuhi.

[checklist no=13005 pg=CHECK]

Menggunakan if di dalam for loop untuk langsung mencetak angka yang memenuhi kondisi.

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang siswa menulis fungsi Python untuk menghitung posisi akhir dari suatu objek yang bergerak dengan kecepatan tetap (Gerak Lurus Beraturan). Fungsi ini menerima tiga parameter: s (posisi awal dalam meter), v (kecepatan dalam meter per detik), dan t (waktu dalam detik), dan menggunakan rumus GLB sakhir= s + ( v × t ).

Pilih dua pernyataan yang benar terkait fungsi posisi_akhir di atas.

 

 

PERNYATAAN

[checklist no=14001 pg=CHECK]

Fungsi ini mengembalikan nilai posisi akhir berdasarkan rumus GLB.

[checklist no=14002 pg=CHECK]

Parameter s, v, dan t harus bertipe string agar fungsi bekerja dengan benar.

[checklist no=14003 pg=CHECK]

Fungsi ini dapat digunakan untuk menghitung posisi akhir dengan memasukkan nilai s, v, dan t dalam satuan yang sesuai.

[checklist no=14004 pg=CHECK]

Jika v bernilai negatif, fungsi akan menghasilkan nilai posisi akhir yang lebih rendah dari posisi awal.

[checklist no=14005 pg=CHECK]

Fungsi ini tidak bisa digunakan untuk menghitung posisi akhir jika kecepatan berubah-ubah.

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang siswa menulis program Python untuk menghitung nilai faktorial dari suatu bilangan bulat n menggunakan perulangan. Berikut adalah kodenya:

 

 

Tandai pernyataan berikut dengan “Benar” atau “Salah”:

 

PERNYATAAN

BENAR

SALAH

Fungsi faktorial akan mengembalikan hasil perkalian semua bilangan dari 1 hingga n.

[opsi no=15001 pg=B]

[opsi no=15001 pg=S]

Fungsi faktorial akan menghasilkan nilai 0 jika n adalah 0.

[opsi no=15002 pg=B]

[opsi no=15002 pg=S]

Parameter n harus berupa bilangan bulat positif agar hasil faktorialnya benar

[opsi no=15003 pg=B]

[opsi no=15003 pg=S]

Fungsi faktorial akan mengembalikan hasil perkalian semua bilangan dari n hingga 1 secara berurutan.

[opsi no=15004 pg=B]

[opsi no=15004 pg=S]

 

bsbb

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang siswa menulis fungsi Python untuk menghitung nilai faktorial dari suatu bilangan n menggunakan rekursi. Fungsi ini dipanggil secara berulang dengan mengurangi nilai n hingga mencapai 1. Berikut adalah kode lengkapnya:

 

Pilih semua pernyataan yang benar terkait fungsi faktorial di atas.

 

 

PERNYATAAN

[checklist no=16001 pg=CHECK]

Fungsi faktorial akan mengembalikan hasil perkalian semua bilangan dari n hingga 1.

[checklist no=16002 pg=CHECK]

Jika n bernilai 0, fungsi akan mengembalikan hasil 1 sebagai nilai faktorial dari 0.

[checklist no=16003 pg=CHECK]

Fungsi akan menghasilkan error jika n adalah bilangan negatif, karena rekursi akan berlangsung tanpa henti.

[checklist no=16004 pg=CHECK]

Fungsi ini dapat diubah menjadi fungsi iteratif untuk menghasilkan hasil yang sama tanpa menggunakan rekursi.

[checklist no=16005 pg=CHECK]

Fungsi faktorial hanya dapat digunakan untuk bilangan genap.

[checklist no=16006 pg=CHECK]

Fungsi faktorial akan mengembalikan hasil 1 jika n adalah 1, sesuai dengan basis kasus dalam kode.

 

1,3,4,6

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang programmer menulis fungsi Python untuk menghitung zakat emas. Dalam Islam, zakat emas diwajibkan jika seseorang memiliki emas dengan berat melebihi nisab (85 gram) dan telah disimpan selama satu tahun. Besarnya zakat yang harus dibayar adalah 2.5% dari total berat emas. Fungsi berikut menghitung zakat yang harus dibayar berdasarkan berat emas yang dimiliki.

 

 

Pilih semua pernyataan yang benar terkait fungsi hitung_zakat_emas di atas.

 

 

PERNYATAAN

[checklist no=17001 pg=CHECK]

Fungsi ini mengembalikan nilai zakat dalam gram jika berat emas melebihi atau sama dengan nisab.

[checklist no=17002 pg=CHECK]

Jika berat emas kurang dari 85 gram, fungsi akan mengembalikan nilai 0.

[checklist no=17003 pg=CHECK]

Fungsi ini menggunakan nilai 2.5% sebagai tarif zakat emas yang benar.

[checklist no=17004 pg=CHECK]

Fungsi ini memerlukan parameter tambahan untuk mencatat lama waktu penyimpanan emas.

[checklist no=17005 pg=CHECK]

Fungsi hitung_zakat_emas hanya mengembalikan hasil zakat dalam satuan rupiah, bukan gram.

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang programmer menulis fungsi Python untuk menghitung zakat emas yang harus dibayar jika seseorang memiliki emas yang disimpan selama satu tahun dan beratnya melebihi nisab (85 gram). Besarnya zakat yang harus dibayar adalah 2.5% dari total berat emas.

 

Berikut adalah kodenya:

 

Berapakah berat emas (dalam gram) yang harus dimasukkan sebagai input agar pengguna diwajibkan membayar zakat emas senilai 4 gram per tahun? (isikan hanya angka)

[isiansingkat no=18001]

 

160

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Suatu aplikasi dibuat untuk menghitung nilai rata-rata dan peringkat siswa berdasarkan nilai UTS, nilai tugas, nilai UAS, dan nilai proyek. Nilai akhir siswa dihitung menggunakan bobot sebagai berikut: 20% nilai UTS, 25% nilai tugas, 35% nilai UAS, dan 20% nilai proyek. Aplikasi ini kemudian menampilkan nilai akhir, nilai rata-rata kelas, serta peringkat setiap siswa.

 

Soal: Berdasarkan teks tersebut, beri tanda centang () pada pernyataan berikut yang tepat ketika aplikasi menghitung nilai akhir dan peringkat siswa.

 

PERNYATAAN

[checklist no=19001 pg=CHECK]

Argumen yang diberikan ke dalam fungsi perhitungan nilai akhir harus bertipe numerik.

[checklist no=19002 pg=CHECK]

Nilai akhir dihitung dengan cara menjumlahkan semua nilai tanpa menggunakan bobot.

[checklist no=19003 pg=CHECK]

Jumlah argumen yang digunakan dalam fungsi perhitungan nilai akhir adalah 4.

[checklist no=19004 pg=CHECK]

Tipe data keluaran fungsi perhitungan nilai akhir adalah string.

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Suatu aplikasi dirancang untuk menghitung total zakat emas yang harus dibayar berdasarkan berat emas yang dimiliki seseorang. Jika berat emas melebihi nisab (85 gram), maka zakat yang harus dibayar adalah 2.5% dari total berat emas. Aplikasi ini menerima input dalam bentuk berat emas dalam gram dan mengembalikan nilai zakat dalam bentuk gram emas yang harus dibayarkan.

 

Soal: Berdasarkan informasi di atas, manakah pernyataan berikut yang benar?

 

A

Aplikasi akan selalu mengembalikan nilai zakat, bahkan jika berat emas kurang dari 85 gram.

 

B

Aplikasi memerlukan input berupa berat emas dalam kilogram.

 

C

Jika berat emas kurang dari nisab, aplikasi akan mengembalikan nilai zakat sebagai 0.

 

D

Aplikasi menggunakan 5% sebagai tarif zakat.

 

E

 
 

Seorang siswa sedang mempelajari cara merancang algoritme untuk menyelesaikan permasalahan komputasional sederhana. Dalam proses tersebut, siswa tersebut mempertimbangkan berbagai strategi pendekatan, seperti penggunaan pengulangan (looping) dan seleksi kondisi.

 

Soal: Pilih dua pernyataan yang benar terkait langkah-langkah yang perlu dilakukan dalam membangun algoritme untuk menyelesaikan permasalahan.

 

 

PERNYATAAN

[checklist no=21001 pg=CHECK]

Langkah pertama adalah menentukan input yang dibutuhkan dan output yang diharapkan dari algoritme.

[checklist no=21002 pg=CHECK]

Menggunakan pengulangan selalu merupakan pilihan terbaik untuk menyelesaikan setiap permasalahan.

[checklist no=21003 pg=CHECK]

Langkah penting dalam algoritme adalah merancang logika yang mempertimbangkan semua kemungkinan kondisi yang mungkin terjadi.

[checklist no=21004 pg=CHECK]

Algoritme hanya efektif jika memiliki lebih dari satu solusi.

[checklist no=21005 pg=CHECK]

Memastikan bahwa algoritme dapat diterapkan pada berbagai jenis data merupakan bagian dari berpikir komputasional.

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Sebuah tim pemrogram sedang merancang beberapa algoritme sederhana untuk pemrosesan data. Mereka memutuskan untuk menggunakan berbagai jenis pendekatan algoritmik untuk memecahkan masalah-masalah tertentu. Berikut adalah beberapa jenis pendekatan algoritmik dan contoh penggunaannya.

 

Soal: Cocokkan setiap pendekatan algoritmik dengan contoh masalah yang sesuai.

 

Pertanyaan

Pencarian (Search)

Pembagian dan Penaklukan (Divide and Conquer)

Pengurutan (Sorting)

Pengulangan (Looping)

Rekursi

Mencari nilai tertinggi dalam sebuah array

[opsi no=22001 pg=A]

[opsi no=22001 pg=B]

[opsi no=22001 pg=C]

[opsi no=22001 pg=D]

[opsi no=22001 pg=E]

Mengurutkan daftar nama siswa berdasarkan abjad

[opsi no=22002 pg=A]

[opsi no=22002 pg=B]

[opsi no=22002 pg=C]

[opsi no=22002 pg=D]

[opsi no=22002 pg=E]

Memecah masalah besar menjadi bagian kecil untuk diselesaikan secara terpisah

[opsi no=22003 pg=A]

[opsi no=22003 pg=B]

[opsi no=22003 pg=C]

[opsi no=22003 pg=D]

[opsi no=22003 pg=E]

Menghitung nilai faktorial dari suatu bilangan

[opsi no=22004 pg=A]

[opsi no=22004 pg=B]

[opsi no=22004 pg=C]

[opsi no=22004 pg=D]

[opsi no=22004 pg=E]

Menampilkan angka dari 1 hingga 100

[opsi no=22005 pg=A]

[opsi no=22005 pg=B]

[opsi no=22005 pg=C]

[opsi no=22005 pg=D]

[opsi no=22005 pg=E]

 

acbed

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Dalam pemrograman, algoritme pengulangan (looping) dapat digunakan untuk melakukan tugas berulang, seperti menghitung jumlah, menampilkan data, atau mengubah setiap elemen dalam sebuah array. Seorang programmer sedang mempertimbangkan berbagai jenis loop seperti for, while, dan do-while untuk menyelesaikan tugas tertentu dalam programnya.

 

Soal: Pilih semua pernyataan yang benar terkait penggunaan algoritme pengulangan (looping) dalam pemrograman.

 

PERNYATAAN

[checklist no=23001 pg=CHECK]

Loop for paling sesuai digunakan jika jumlah perulangan sudah diketahui sebelumnya.

[checklist no=23002 pg=CHECK]

Loop while akan selalu dijalankan setidaknya satu kali, bahkan jika kondisinya tidak terpenuhi.

[checklist no=23003 pg=CHECK]

Loop do-while cocok digunakan jika kita ingin memastikan bahwa perulangan berjalan minimal satu kali.

[checklist no=23004 pg=CHECK]

Loop while paling cocok digunakan ketika kondisi perulangan bergantung pada input pengguna yang bisa berubah-ubah.

[checklist no=23005 pg=CHECK]

Loop for hanya bisa digunakan untuk iterasi yang berkaitan dengan nilai numerik.

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Laras ingin menghitung jumlah bilangan dari 1 hingga 100.000 menggunakan algoritme yang paling efisien dan cepat. Ia memiliki beberapa pilihan algoritme, seperti divide and conquer, greedy, dan rekursi.

 

Soal: Algoritme yang paling tepat digunakan untuk menyelesaikan kasus ini adalah…

 

A

divide and conquer

 

B

runut balik

 

C

greedy

 

D

rekursi

 

E

pemrograman dinamis

 

Seorang guru ingin menemukan siswa dengan tinggi tepat 160 cm dari sebuah kelompok siswa. Guru tersebut mengukur tinggi 100 siswa dan memisahkan siswa yang memenuhi kriteria tersebut.

 

Soal: Tandai pernyataan berikut dengan “Benar” atau “Salah.”

 

 

PERNYATAAN

BENAR

SALAH

Algoritme greedy cocok digunakan untuk menyelesaikan pencarian siswa dengan kriteria tertentu.

[opsi no=25001 pg=B]

[opsi no=25001 pg=S]

Algoritme divide and conquer akan lebih efisien daripada greedy untuk kasus ini.

[opsi no=25002 pg=B]

[opsi no=25002 pg=S]

Pencarian tinggi badan siswa dapat diselesaikan dengan lebih cepat menggunakan algoritme runut balik.

[opsi no=25003 pg=B]

[opsi no=25003 pg=S]

Algoritme yang paling efisien bergantung pada jumlah siswa yang diukur.

[opsi no=25004 pg=B]

[opsi no=25004 pg=S]

 

bssb

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Untuk menghitung jumlah seluruh elemen dalam suatu array besar yang berisi data penjualan selama setahun penuh, seorang programmer mempertimbangkan beberapa algoritme, termasuk divide and conquer, pemrograman dinamis, dan rekursi.

 

Soal: Algoritme yang paling sesuai untuk menghitung total elemen dalam array besar tersebut adalah…

 

A

divide and conquer

 

B

runut balik

 

C

greedy

 

D

rekursi

 

E

pemrograman dinamis

 

Perhatikan pasangan jenis algoritme berikut dengan ciri-ciri khasnya.

 

 

Memecah masalah menjadi submasalah kecil yang dapat dipecahkan sendiri

[radio no=27001]

Memilih solusi terbaik pada setiap langkah tanpa mempertimbangkan hasil akhir

[radio no=27002]

Menggunakan solusi dari submasalah yang sudah diselesaikan untuk masalah berikutnya

[radio no=27003]

Memeriksa setiap kemungkinan solusi dan menggabungkan hasilnya

[radio no=27004]

[clearradio]

 
 

[radio2 opsi=A]

Divide and conquer

[radio2 opsi=B]

Greedy

[radio2 opsi=C]

Pemrograman dinamis

[radio2 opsi=D]

backtracking

 

abcd

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang tukang kebun sedang menanam tanaman di beberapa petak yang berbaris. Setiap tanaman memiliki kebutuhan air yang berbeda. Ia ingin memastikan setiap tanaman mendapat cukup air, dan mempertimbangkan beberapa strategi pengairan, termasuk menggunakan greedy atau pemrograman dinamis.

 

Soal: Pilih dua pernyataan yang benar mengenai penggunaan algoritme untuk memastikan semua tanaman mendapat cukup air.

 

 

PERNYATAAN

[checklist no=28001 pg=CHECK]

Algoritme greedy dapat digunakan untuk memberikan air pada tanaman dengan kebutuhan tertinggi terlebih dahulu.

[checklist no=28002 pg=CHECK]

Pemrograman dinamis akan lebih efisien karena mempertimbangkan distribusi air secara keseluruhan.

[checklist no=28003 pg=CHECK]

Runut balik lebih efisien karena bisa memastikan semua tanaman mendapat air yang cukup.

[checklist no=28004 pg=CHECK]

Algoritme greedy selalu memberikan solusi yang paling optimal.

 

A

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Dalam sebuah program yang mengelola rute pengiriman barang, algoritme greedy digunakan untuk menentukan jalur terpendek antara dua lokasi. Program ini memilih jalur tercepat di setiap langkah tanpa mempertimbangkan keseluruhan rute.

 

Soal: Tandai pernyataan berikut dengan “Benar” atau “Salah.”

 

 

PERNYATAAN

BENAR

SALAH

Algoritme greedy akan selalu menemukan jalur terpendek yang optimal.

[opsi no=29001 pg=B]

[opsi no=29001 pg=S]

Algoritme greedy cocok digunakan untuk masalah pengurutan data.

[opsi no=29002 pg=B]

[opsi no=29002 pg=S]

Algoritme greedy cocok digunakan untuk menentukan jalur tercepat dalam situasi tertentu.

[opsi no=29003 pg=B]

[opsi no=29003 pg=S]

Algoritme pemrograman dinamis bisa menghasilkan solusi yang lebih optimal dalam beberapa kasus rute kompleks.

[opsi no=29004 pg=B]

[opsi no=29004 pg=S]

 

ssbb

 
 

B

 
 

C

 
 

D

 
 

E

 
 

Seorang programmer ingin membuat sebuah program yang dapat menghitung banyaknya kombinasi yang mungkin terjadi dalam memilih beberapa objek dari sekelompok objek. Dia mempertimbangkan untuk menggunakan algoritme rekursi atau pemrograman dinamis agar program dapat bekerja dengan efisien.

 

Soal: Algoritme yang paling tepat digunakan untuk menghitung kombinasi ini adalah…

 

A

greedy

 

B

divide and conquer

 

C

rekursi

 

D

pemrograman dinamis

 

E

backtracking


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *