Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Soal Latihan DDP

Total questions: 58

Worksheet time: 29mins

Name
Class
Date
1.

Apa alasan utama dikembangkan aplikasi manajemen tugas mahasiswa dalam era digital?

a)

Mengurangi penggunaan internet harian siswa

b)

Membantu mengelola tugas akademik lebih efisien

c)

Menggantikan dosen dalam memberikan penilaian

d)

Meningkatkan jumlah tugas yang diberikan dosen

2.

Fitur mana yang paling relevan untuk mengatasi kesulitan mengingat deadline dan memantau progres tugas?

a)

Pengingat dan monitoring progres real-time

b)

Fitur permainan edukasi berbasis poin

c)

Komunitas diskusi daring antar kampus

d)

Template laporan penelitian otomatis

3.

Bahasa pemrograman dan lingkungan pengembangan yang digunakan untuk membuat aplikasi konsol ini adalah apa?

a)

Python dan Jupyter Notebook

b)

Java dan NetBeans IDE

c)

C++ dan Visual Studio Code

d)

Ruby dan RubyMine IDE

4.

Seorang siswa sering terlambat mengumpulkan tugas karena kurang terorganisir. Strategi terbaik menggunakan aplikasi agar hasil akademik meningkat adalah apa?

a)

Menambah jumlah tugas setiap minggu

b)

Mengelompokkan tugas per mata kuliah dan menetapkan pengingat

c)

Mengabaikan prioritas agar mengurangi stres

d)

Memonitor progres hanya saat mendekati tenggat

5.

Tujuan utama aplikasi yang dikembangkan adalah membantu pengguna dalam hal apa?

a)

Mencatat dan mengelola daftar tugas akademik

b)

Membuat grafik data eksperimen harian

c)

Mensimulasikan reaksi kimia laboratorium

d)

Mengontrol perangkat keras robotik sekolah

6.

Alat yang digunakan sebagai editor kode sumber dengan dukungan C++ adalah apa?

a)

Visual Studio Code dengan ekstensi resmi

b)

Notepad standar tanpa ekstensi

c)

Browser web dengan plugin umum

d)

Editor gambar dengan fitur lapisan

7.

Compiler C++ yang disebutkan untuk Windows adalah apa?

a)

GCC (MinGW) seperti Clang

b)

LLVM khusus Python saja

c)

JDK untuk Java murni

d)

Node.js runtime server

8.

Metodologi pengembangan yang dipakai dalam proyek ini adalah pendekatan apa?

a)

Prosedural dengan struktur data

b)

Eksploratif tanpa perencanaan

c)

Agile tanpa sprint definisi

d)

Waterfall tanpa dokumentasi

9.

Pada tahap perencanaan, fitur utama yang ditentukan meliputi tindakan apa?

a)

Menambah, menampilkan, menghapus, menyimpan tugas

b)

Menggambar ikon antarmuka kreatif

c)

Menulis laporan ilmiah rinci

d)

Menganalisis cuaca mingguan lokal

10.

Struktur utama program yang dikembangkan berbentuk apa untuk mengarahkan pengguna ke fungsi tertentu?

a)

Menu berbasis teks sederhana

b)

Antarmuka realitas virtual penuh

c)

Panel kontrol sentuh multilayar

d)

Sistem suara otomatis kompleks

11.

Untuk menyimpan data tugas sementara saat program berjalan, struktur data apa yang digunakan?

a)

Array atau linked list

b)

File PDF terenkripsi

c)

Basis data cloud permanen

d)

Spreadsheet manual statis

12.

Apa tujuan utama memilih antarmuka berbasis teks untuk aplikasi manajemen tugas yang dikembangkan?

a)

Mengutamakan kemudahan penggunaan dan eksekusi cepat

b)

Memberikan fitur grafis kompleks dan interaktif

c)

Memaksimalkan penggunaan memori untuk visualisasi

d)

Menggantikan seluruh fungsi konsol dengan GUI penuh

13.

Kendala pengelolaan data selama runtime diatasi dengan langkah apa?

a)

Menyimpan data ke file eksternal untuk persistensi

b)

Menghapus data setiap kali aplikasi ditutup

c)

Memindahkan semua data ke memori grafis GPU

d)

Menggunakan variabel global tanpa penyimpanan

14.

Seorang pengembang pemula C++ ingin meningkatkan kemampuan. Tindakan mana yang paling tepat diambil terlebih dahulu?

a)

Mengikuti tutorial dan dokumentasi resmi C++

b)

Langsung menulis proyek besar tanpa referensi

c)

Menghindari contoh kode agar tidak terdistraksi

d)

Berpindah ke bahasa lain tanpa belajar dasar

15.

Mengapa Visual Studio Code dan C++ dipilih untuk membuat aplikasi konsol ini?

a)

Cocok untuk aplikasi teks yang cepat dan efisien

b)

Menyediakan pustaka GUI bawaan lengkap otomatis

c)

Mengharuskan penggunaan basis data terintegrasi

d)

Menghilangkan kebutuhan debugging sama sekali

16.

Bayangkan aplikasi perlu menyimpan daftar tugas setelah ditutup. Rencana kerja mana yang paling logis untuk memastikan data tetap ada?

a)

Membuat modul penulisan file saat menyimpan tugas

b)

Menambah RAM komputer pengguna secara manual

c)

Menghapus semua tugas sebelum menutup aplikasi

d)

Memindahkan aplikasi ke perangkat seluler berbeda

17.

Fungsi tampilMenu() paling tepat digunakan untuk apa dalam aplikasi pengelola tugas?

a)

Menandai tugas tertentu sebagai selesai

b)

Menampilkan daftar semua tugas tersimpan

c)

Menampilkan menu utama kepada pengguna

d)

Menghitung statistik status seluruh tugas

18.

Peran tambahTugas() adalah...

a)

Menambah tugas baru ke dalam daftar

b)

Menghapus tugas yang sudah selesai

c)

Menampilkan tugas yang belum selesai

d)

Menyortir tugas berdasarkan prioritas

19.

Library iostream pada C++ terutama digunakan untuk...

a)

Manipulasi teks seperti nama tugas

b)

Penyimpanan dinamis kumpulan data

c)

Operasi input dan output data

d)

Pengelolaan ruang nama standar

20.

Mengapa menggunakan std::vector cocok untuk menyimpan daftar tugas?

a)

Karena menyediakan input output bawaan

b)

Karena menyimpan data secara dinamis dan terukur

c)

Karena mencegah kesalahan kompilasi otomatis

d)

Karena menggantikan seluruh fitur string bawaan

21.

Pernyataan yang benar tentang using namespace std;

a)

Memungkinkan penulisan tanpa awalan std::

b)

Mengubah tipe data vector menjadi string

c)

Meningkatkan kecepatan kompilasi secara drastis

d)

Mewajibkan semua fungsi berada di global

22.

Jika kamu ingin menampilkan hanya tugas yang belum selesai, fungsi yang tepat adalah...

a)

lihatSemua()

b)

tandaiSelesai()

c)

statistik()

d)

lihatBelumSelesai()

23.

Seorang siswa merencanakan alur main(). Urutan langkah yang paling logis adalah...

a)

Memuat data, tampilMenu(), proses input, update daftar

b)

statistik(), tambahTugas(), tandaiSelesai(), keluar

c)

lihatSemua(), lihatBelumSelesai(), tandaiSelesai(), ulang

d)

Deklarasi variabel acak, panggil string(), vector(), iostream()

24.

Dalam struct Task di C++, atribut mana yang paling tepat digunakan untuk menandai apakah sebuah tugas sudah selesai?

a)

int id tugas unik

b)

string nama deskriptif

c)

bool selesai bernilai truefalse

d)

vector penyimpan

25.

Global variable nextID = 1 memiliki peran apa dalam aplikasi pengelola tugas?

a)

Menyimpan daftar seluruh tugas

b)

Menghitung otomatis ID tugas baru

c)

Menandai tugas sudah selesai

d)

Mencetak menu utama aplikasi

26.

Sebuah aplikasi memiliki vector tasks dan fungsi tampilMenu(). Jika pengguna memilih "Tambah Tugas", langkah mana yang paling logis dilakukan terlebih dahulu?

a)

Menambah elemen baru ke tasks

b)

Mengubah bool selesai menjadi true

c)

Menghapus semua elemen dari tasks

d)

Mencetak daftar tugas selesai saja

27.

Pertimbangkan skenario: Anda menambahkan dua tugas berturut-turut. Nilai nextID awal 1. Setelah penambahan, ID yang diharapkan untuk tugas kedua adalah berapa?

a)

Tetap 1 karena default

b)

Menjadi 2 setelah increment

c)

Menjadi 10 karena acak

d)

Tidak ada ID karena vector

28.

Fungsi tampilMenu() menampilkan menu utama dengan opsi: 1) Tambah Tugas, 2) Lihat Semua Tugas, 3) Tandai Tugas Sudah Selesai. Jika seorang pengguna ingin menandai sebuah tugas selesai, tindakan yang harus dilakukan dari menu adalah apa?

a)

Memilih opsi dua melihat semua

b)

Memilih opsi tiga menandai selesai

c)

Memilih opsi satu tambah tugas

d)

Menutup aplikasi tanpa menu

29.

Apa tujuan utama fungsi tambahTugas() dalam program manajemen tugas?

a)

Menghapus tugas dari vector

b)

Menandai tugas sebagai selesai

c)

Menambahkan tugas baru ke vector

d)

Mengurutkan semua tugas berdasarkan nama

30.

Dalam tambahTugas(), bagaimana cara ID tugas ditetapkan?

a)

Diinput manual oleh pengguna

b)

Diambil dari file konfigurasi

c)

Dihasilkan otomatis menggunakan nextID++

d)

Dihitung dari panjang nama tugas

31.

Pernyataan mana yang benar tentang penggunaan push_back() pada vector tasks?

a)

push_back() menimpa elemen pertama

b)

push_back() menambahkan elemen di akhir

c)

push_back() menghapus elemen terakhir

d)

push_back() mengurutkan elemen otomatis

32.

Status awal sebuah tugas yang baru dibuat adalah apa?

a)

true artinya sudah selesai

b)

false artinya belum selesai

c)

null artinya tidak diketahui

d)

random sesuai input pengguna

33.

Fungsi lihatSemua() melakukan apa ketika daftar tasks kosong?

a)

Mencetak semua detail tugas

b)

Mengembalikan nilai error code

c)

Menampilkan pesan "Belum ada tugas."

d)

Membuat satu tugas default

34.

Seorang siswa ingin menambahkan tugas bernama "Laporan". Urutan langkah paling tepat yang terjadi di tambahTugas() adalah?

a)

t.nama diisi, t.id direset ke 0, tasks.pop_back(t)

b)

t.id=nextID++, t.nama diisi, tasks.push_back(t)

c)

tasks.push_back(t), t.id=nextID++, t.nama diisi

d)

t.nama diisi, tasks.sort(), t.id=nextID++

35.

Dalam fungsi tandaiSelesai(), langkah pertama yang dilakukan sebelum mencari tugas adalah apa?

a)

Menghapus semua tugas dari daftar

b)

Mengambil input ID tugas dari pengguna

c)

Menampilkan seluruh tugas yang tersimpan

d)

Mengubah status semua tugas menjadi selesai

36.

Saat fungsi tandaiSelesai() menemukan tugas dengan ID yang sesuai tetapi tugas sudah selesai, tindakan yang tepat adalah apa?

a)

Tetap mengubah status menjadi true lagi

b)

Memberi pesan bahwa tugas sudah selesai

c)

Menghapus tugas dari koleksi tasks

d)

Menambahkan tugas duplikat dengan status selesai

37.

Jika ID yang dimasukkan tidak ditemukan pada koleksi tasks, keluaran yang benar dari tandaiSelesai() adalah apa?

a)

Menampilkan pesan “ID tidak ditemukan”

b)

Menandai semua tugas sebagai belum selesai

c)

Mencetak daftar tugas yang selesai saja

d)

Mengulang input hingga ID valid

38.

Apa yang dilakukan lihatBelumSelesai() terhadap setiap elemen dalam koleksi tasks?

a)

Mengubah semua status menjadi false

b)

Memfilter dan menampilkan hanya yang t.selesai bernilai false

c)

Mengurutkan berdasarkan ID kemudian menampilkan

d)

Menyalin seluruh tasks ke array baru

39.

Dalam loop for (auto &t : tasks) pada tandaiSelesai(), kondisi yang diperiksa untuk memilih tugas yang ingin diubah adalah apa?

a)

t.selesai == true lalu diubah

b)

t.id == id yang diinput

c)

t.nama berisi kata “selesai”

d)

t.priority lebih tinggi dari default

40.

Seorang siswa memasukkan ID 12 pada tandaiSelesai(). Tugas dengan ID 12 belum selesai. Apa keluaran/aksi yang benar?

a)

Tidak ada perubahan, hanya dicetak status

b)

Ubah t.selesai = true kemudian beri konfirmasi

c)

Hapus tugas lalu tampilkan daftar terbaru

d)

Tandai semua tugas lain sebagai selesai

41.

Apa tujuan utama fungsi statistik() dalam aplikasi pengelola tugas?

a)

Menambahkan tugas baru ke daftar

b)

Menghitung jumlah tugas yang selesai

c)

Menghapus tugas yang sudah selesai

d)

Mengurutkan tugas berdasarkan prioritas

42.

Dalam potongan kode statistik(), variabel mana yang bertambah ketika suatu tugas ditandai selesai?

a)

totalCount bertambah satu unit

b)

selesaiCount bertambah satu unit

c)

belumCount bertambah satu unit

d)

loopIndex bertambah satu unit

43.

Jika ada 12 tugas dan 9 tugas selesai, berapa jumlah tugas belum selesai yang harus ditampilkan oleh statistik()?

a)

Tiga tugas belum selesai

b)

Empat tugas belum selesai

c)

Sembilan tugas belum selesai

d)

Dua belas tugas belum selesai

44.

Apa peran utama fungsi main() dalam aplikasi ini?

a)

Menjalankan analisis statistik otomatis

b)

Menjadi alur kontrol utama aplikasi

c)

Menyimpan data tugas ke berkas

d)

Mengatur hak akses pengguna

45.

Mengapa while(true) digunakan di dalam main()?

a)

Untuk menghentikan program segera

b)

Untuk menjalankan menu secara terus-menerus

c)

Untuk memvalidasi input numerik otomatis

d)

Untuk mengurangi penggunaan memori

46.

Urutan langkah yang tepat saat pengguna berinteraksi melalui main() adalah apa?

a)

Memanggil statistik lalu keluar

b)

Menampilkan menu lalu membaca pilihan

c)

Menghapus tugas lalu menambah tugas

d)

Mengecek error lalu mematikan aplikasi

47.

Jika pengguna memasukkan angka yang tidak sesuai dengan opsi, apa yang harus dilakukan program?

a)

Mengabaikan input dan terus loop

b)

Menampilkan pesan “Pilihan tidak valid”

c)

Mengakhiri program dengan return 0

d)

Mengalihkan ke fungsi statistik()

48.

Manakah pasangan pilihan menu dengan fungsi yang benar dipanggil dari main()?

a)

1 memanggil lihatSemua(), 2 memanggil tambahTugas()

b)

3 memanggil tandaiSelesai(), 5 memanggil statistik()

c)

4 memanggil tambahTugas(), 6 memanggil tandaiSelesai()

d)

2 memanggil statistik(), 5 memanggil lihatBelumSelesai()

49.

Apa IDE yang digunakan untuk mendukung proses coding dan debugging pada pengembangan aplikasi manajemen tugas berbasis C++?

a)

Visual Studio Code sebagai IDE utama

b)

Notepad sederhana untuk penulisan kode

c)

Browser web sebagai lingkungan coding

d)

Spreadsheet sebagai alat pengembangan

50.

Fungsi inti apa yang disebutkan sebagai kemampuan aplikasi manajemen tugas?

a)

Menambah tugas dan menandai selesai

b)

Menggambar grafik tiga dimensi

c)

Mensimulasikan reaksi kimia kompleks

d)

Mengedit foto resolusi tinggi

51.

Mengapa penggunaan struktur data vector dianggap efektif dalam aplikasi ini?

a)

Memudahkan pengelolaan daftar tugas dinamis

b)

Mengurangi ukuran file instalasi aplikasi

c)

Menghilangkan kebutuhan kompilasi kode

d)

Mengganti seluruh sistem operasi

52.

Output aplikasi manajemen tugas yang dibuat dengan C++ ditampilkan melalui apa?

a)

Antarmuka terminal berbasis teks

b)

Antarmuka realitas virtual penuh

c)

Aplikasi seluler khusus Android

d)

Panel kontrol berbasis robotika

53.

Jika kamu ingin menambahkan fitur pengurutan tugas berdasarkan deadline, konsep mana yang paling relevan untuk diterapkan?

a)

Mengurutkan elemen vector dengan comparator

b)

Mengganti IDE menjadi editor gambar

c)

Menonaktifkan output terminal seluruhnya

d)

Menyimpan data hanya di memori GPU

54.

Tujuan utama penambahan fitur notifikasi pada aplikasi manajemen tugas adalah untuk apa?

a)

Mengingatkan tugas mendekati tenggat waktu

b)

Mempercepat koneksi internet pengguna

c)

Mengurangi ukuran file instalasi aplikasi

d)

Menggantikan fungsi penyimpanan data otomatis

55.

Mengapa integrasi database diusulkan dalam pengembangan lanjutan aplikasi?

a)

Agar penyimpanan data lebih aman dan terstruktur

b)

Supaya antarmuka terlihat lebih berwarna

c)

Untuk menghapus kebutuhan fitur pengeditan tugas

d)

Agar aplikasi dapat berjalan tanpa sistem operasi

56.

Manakah yang termasuk contoh peningkatan GUI yang disarankan?

a)

Membuat tampilan dengan QT, SFML, atau FLTK

b)

Menonaktifkan semua ikon dan tombol

c)

Menghapus menu agar navigasi sederhana

d)

Mengganti GUI dengan antarmuka baris perintah

57.

Apa manfaat penyimpanan otomatis ke file .txt atau .csv bagi aplikasi?

a)

Menghindari hilangnya data saat aplikasi ditutup

b)

Memperbesar ukuran tugas yang disimpan

c)

Menghapus kebutuhan fitur notifikasi tugas

d)

Menyembunyikan data dari semua pengguna

58.

Fitur apa yang memungkinkan tugas diurutkan berdasarkan waktu?

a)

Penambahan fitur deadline pada setiap tugas

b)

Penghapusan kategori dari daftar tugas

c)

Penggantian database dengan file gambar

d)

Penyimpanan otomatis ke format dokumen