50 Contoh Soal Kelas 11 SMK Pemrograman C++
![50 Contoh Soal Kelas 11 SMK Pemrograman C++](https://www.solusimudah.com/wp-content/uploads/2024/12/Contoh-Soal-Kelas-11-SMK-1024x1024.webp)
50 Contoh Soal Kelas 11 SMK Pemrograman C++ – Berikut adalah 50 contoh soal pilihan ganda mengenai Pemrograman C++ untuk Kelas 11 SMK beserta jawabannya:
1. Apa yang dimaksud dengan C++?
A. Bahasa pemrograman yang digunakan untuk aplikasi web
B. Bahasa pemrograman yang dikembangkan oleh Dennis Ritchie
C. Bahasa pemrograman yang merupakan pengembangan dari bahasa C
D. Bahasa pemrograman untuk perangkat keras
E. Bahasa pemrograman untuk sistem operasi
Jawaban: C. Bahasa pemrograman yang merupakan pengembangan dari bahasa C
2. Apa fungsi dari perintah `#include <iostream>` dalam program C++?
A. Menyimpan file program
B. Mengimpor file header untuk input dan output standar
C. Menginisialisasi variabel
D. Mengakhiri program
E. Menyusun kode program
Jawaban: B. Mengimpor file header untuk input dan output standar
3. Perintah apa yang digunakan untuk menampilkan output ke layar di C++?
A. `cin`
B. `printf`
C. `cout`
D. `scanf`
E. `output`
Jawaban: C. `cout`
4. Manakah dari tipe data berikut yang digunakan untuk menyimpan angka bulat di C++?
A. `float`
B. `int`
C. `char`
D. `string`
E. `double`
Jawaban: B. `int`
5. Apa yang akan ditampilkan oleh kode berikut?
cpp
int x = 10;
cout << x;
A. `10`
B. `x`
C. Error
D. Tidak ada output
E. `cout`
Jawaban: A. `10`
6. Bagaimana cara mendeklarasikan variabel bertipe `float` di C++?
A. `float x;`
B. `x: float;`
C. `float = x;`
D. `var x: float;`
E. `x float;`
Jawaban: A. `float x;`
7. Apa output dari kode berikut?
cpp
int a = 5, b = 2;
cout << a / b;
A. `2`
B. `2.5`
C. `5`
D. `Error`
E. `7`
Jawaban: A. `2`
8. Manakah yang merupakan tipe data untuk menyimpan karakter di C++?
A. `int`
B. `char`
C. `float`
D. `string`
E. `double`
Jawaban: B. `char`
9. Perintah berikut ini untuk apa dalam C++?
cpp
cin >> x;
A. Menyimpan nilai ke dalam variabel `x`
B. Menghitung nilai `x`
C. Menampilkan nilai `x`
D. Mengambil input dari pengguna untuk variabel `x`
E. Mendeklarasikan variabel `x`
Jawaban: D. Mengambil input dari pengguna untuk variabel `x`
10. Apa yang dimaksud dengan operator `++` di C++?
A. Mengurangi nilai variabel
B. Menambahkan satu pada nilai variabel
C. Membagi nilai variabel
D. Mengalikan nilai variabel
E. Menaikkan nilai variabel ke angka tertinggi
Jawaban: B. Menambahkan satu pada nilai variabel
11. Apa hasil dari kode berikut?
cpp
int a = 5, b = 3;
cout << a % b;
A. `2`
B. `1`
C. `5`
D. `3`
E. `Error`
Jawaban: A. `2`
12. Untuk mendeklarasikan variabel dengan nilai default `0`, yang manakah yang benar?
A. `int x = 0;`
B. `int x;`
C. `int x(0);`
D. `x = 0;`
E. `int x := 0;`
Jawaban: A. `int x = 0;`
13. Apa yang dilakukan oleh `break` dalam sebuah loop di C++?
A. Menyelesaikan seluruh program
B. Melanjutkan ke iterasi berikutnya
C. Menghentikan loop saat ini
D. Menambah nilai loop
E. Tidak berpengaruh apapun
Jawaban: C. Menghentikan loop saat ini
14. Apa yang dimaksud dengan array dalam C++?
A. Tipe data yang menyimpan nilai dalam urutan acak
B. Tipe data yang menyimpan nilai dalam satu elemen
C. Struktur data untuk menyimpan kumpulan data yang memiliki tipe yang sama
D. Fungsi untuk mengambil input data
E. Tipe data untuk menyimpan nilai numerik
Jawaban: C. Struktur data untuk menyimpan kumpulan data yang memiliki tipe yang sama
15. Berapa banyak elemen yang dapat disimpan dalam array berikut?
cpp
int arr[5] = {1, 2, 3, 4, 5};
A. 1
B. 2
C. 5
D. 6
E. 10
Jawaban: C. 5
16. Apa output dari kode berikut?
cpp
int a = 10;
a *= 2;
cout << a;
A. `20`
B. `10`
C. `12`
D. `5`
E. `Error`
Jawaban: A. `20`
17. Perintah manakah yang digunakan untuk membuat sebuah fungsi di C++?
A. `function() {}`
B. `def function() {}`
C. `func function() {}`
D. `void function() {}`
E. `function void() {}`
Jawaban: D. `void function() {}`
18. Apa hasil dari kode berikut?
cpp
int a = 10, b = 2;
cout << a / b * 3;
A. `15`
B. `18`
C. `5`
D. `8`
E. `Error`
Jawaban: B. `15`
19. Fungsi dari `void` pada fungsi C++ adalah?
A. Mengembalikan nilai dalam fungsi
B. Menyatakan fungsi tidak mengembalikan nilai
C. Mendeklarasikan tipe data dari parameter
D. Menyatakan tipe data yang akan dikembalikan
E. Menghentikan fungsi
Jawaban: B. Menyatakan fungsi tidak mengembalikan nilai
20. Apakah hasil dari kode berikut?
cpp
int a = 10, b = 5;
cout << (a > b);
A. `True`
B. `False`
C. `1`
D. `0`
E. `Error`
Jawaban: C. `1`
21. Perintah manakah yang digunakan untuk mendeklarasikan fungsi dengan parameter di C++?
A. `int function(parameter);`
B. `function(int parameter);`
C. `int function(parameter = 10);`
D. `function(parameter);`
E. `void function(int parameter);`
Jawaban: E. `void function(int parameter);`
22. Jika ada kode berikut, apa yang akan terjadi?
cpp
int x = 10;
cout << x++;
A. Output `10`, x menjadi `11`
B. Output `11`, x tetap `10`
C. Output `10`, x tetap `10`
D. Output `11`, x menjadi `11`
E. Tidak ada output
Jawaban: A. Output `10`, x menjadi `11`
23. Bagaimana cara menyusun komentar dalam kode C++?
A. `/* komentar */`
B. `// komentar`
C. `/* komentar`
D. `// komentar */`
E. A dan B
Jawaban: E. A dan B
24. Apa yang dilakukan oleh `continue` dalam loop C++?
A. Menyelesaikan loop
B. Menambah nilai pada variabel
C. Melewatkan iterasi saat ini dan melanjutkan ke iterasi berikutnya
D. Menghentikan program
E. Menyelesaikan fungsi
Jawaban: C. Melewatkan iterasi saat ini dan melanjutkan ke iterasi berikutnya
25. Apa hasil dari kode berikut?
cpp
int a = 5, b = 10;
if (a < b)
cout << “True”;
else
cout << “False”;
A. `True`
B. `False`
C. Error
D. Tidak ada output
E. `True False`
Jawaban: A. `True`
26. Apa output dari kode berikut?
cpp
int a = 3, b = 2;
cout << a + b * 2;
A. `7`
B. `8`
C. `10`
D. `6`
E. `5`
Jawaban: A. `7`
Berikut adalah lanjutan 50 soal pilihan ganda untuk mata pelajaran Pemrograman C++ untuk Kelas 11 SMK, beserta jawabannya:
27. Apa output dari kode berikut?
cpp
int a = 5;
a++;
cout << a;
A. `5`
B. `6`
C. `7`
D. `10`
E. `Error`
Jawaban: B. `6`
28. Manakah pernyataan yang benar mengenai fungsi `main()` di C++?
A. Fungsi `main()` harus selalu ada dalam program C++
B. Fungsi `main()` tidak penting dalam C++
C. Fungsi `main()` hanya digunakan untuk input
D. Fungsi `main()` selalu mengembalikan nilai `void`
E. Fungsi `main()` tidak boleh memiliki parameter
Jawaban: A. Fungsi `main()` harus selalu ada dalam program C++
29. Untuk menyatakan komentar dalam C++, manakah yang benar?
A. `/* komentar */`
B. `// komentar`
C. `# komentar`
D. `// komentar /*`
E. A dan B
Jawaban: E. A dan B
30. Apa yang terjadi jika Anda mencoba mengakses indeks array di luar rentang yang valid?
A. Program akan menampilkan error
B. Program akan menampilkan hasil yang acak
C. Program akan berhenti
D. Program akan memberikan peringatan dan melanjutkan
E. Tidak ada yang terjadi
Jawaban: B. Program akan menampilkan hasil yang acak
31. Manakah yang bukan tipe data dasar di C++?
A. `int`
B. `char`
C. `string`
D. `bool`
E. `double`
Jawaban: C. `string`
32. Untuk menggunakan fungsi `cin` di C++, file header apa yang perlu diimpor?
A. `#include <fstream>`
B. `#include <iostream>`
C. `#include <cstdio>`
D. `#include <conio.h>`
E. `#include <stdlib.h>`
Jawaban: B. `#include <iostream>`
33. Manakah yang benar untuk mendeklarasikan dan menginisialisasi array dengan 5 elemen integer?
A. `int arr[] = {1, 2, 3, 4, 5};`
B. `int arr(5) = {1, 2, 3, 4, 5};`
C. `array<int, 5> arr = {1, 2, 3, 4, 5};`
D. `arr = {1, 2, 3, 4, 5};`
E. `int arr[5]; arr = {1, 2, 3, 4, 5};`
Jawaban: A. `int arr[] = {1, 2, 3, 4, 5};`
34. Apa yang dilakukan oleh perintah `else if` dalam sebuah struktur percabangan?
A. Menghentikan seluruh program
B. Mengevaluasi lebih dari satu kondisi
C. Menambahkan kondisi default
D. Menghentikan eksekusi fungsi
E. Tidak ada pengaruhnya
Jawaban: B. Mengevaluasi lebih dari satu kondisi
35. Apa output dari kode berikut?
cpp
int x = 3;
cout << x * 2 + 1;
A. `6`
B. `7`
C. `8`
D. `5`
E. `Error`
Jawaban: B. `7`
36. Manakah dari pernyataan berikut yang salah mengenai pointer di C++?
A. Pointer menyimpan alamat memori
B. Pointer dapat digunakan untuk mengakses variabel secara langsung
C. Pointer tidak bisa berubah
D. Pointer dapat digunakan untuk membuat array dinamis
E. Pointer dapat menunjuk ke tipe data apapun
Jawaban: C. Pointer tidak bisa berubah
37. Manakah yang benar mengenai struktur `switch` di C++?
A. `switch` hanya dapat digunakan dengan tipe data `int`
B. `switch` tidak mendukung lebih dari satu `case`
C. `switch` lebih efisien daripada `if-else` dalam beberapa kasus
D. `switch` tidak dapat menangani tipe data `char`
E. `switch` membutuhkan kondisi yang bernilai boolean
Jawaban: C. `switch` lebih efisien daripada `if-else` dalam beberapa kasus
38. Apa yang dimaksud dengan `return` dalam sebuah fungsi C++?
A. Menghentikan program
B. Mengembalikan nilai dari fungsi ke pemanggilnya
C. Menyelesaikan loop
D. Menyatakan akhir dari kode
E. Menentukan parameter dalam fungsi
Jawaban: B. Mengembalikan nilai dari fungsi ke pemanggilnya
39. Apa output dari kode berikut?
cpp
int x = 5;
if (x == 5) {
cout << “True”;
}
else {
cout << “False”;
}
A. `True`
B. `False`
C. `5`
D. Tidak ada output
E. Error
Jawaban: A. `True`
40. Manakah dari operator berikut yang digunakan untuk perbandingan kesetaraan?
A. `=`
B. `==`
C. `>`
D. `<`
E. `!=`
Jawaban: B. `==`
41. Untuk mendeklarasikan pointer yang menunjuk ke tipe `int`, manakah yang benar?
A. `int* ptr;`
B. `pointer int ptr;`
C. `int ptr*;`
D. `*int ptr;`
E. `ptr int*;`
Jawaban: A. `int* ptr;`
42. Manakah yang menunjukkan pengulangan dengan `for` yang benar di C++?
A. `for (int i = 0; i < 10; i++)`
B. `for (int i = 0; i < 10; i–)`
C. `for (int i = 0; i < 10)`
D. `for i = 0; i < 10; i++`
E. `for (i = 0; i <= 10)`
Jawaban: A. `for (int i = 0; i < 10; i++)`
43. Apa output dari kode berikut?
cpp
int x = 5;
x += 2;
cout << x;
A. `7`
B. `5`
C. `10`
D. `2`
E. `Error`
Jawaban: A. `7`
44. Manakah dari tipe data berikut yang dapat menyimpan nilai desimal?
A. `int`
B. `char`
C. `string`
D. `float`
E. `bool`
Jawaban: D. `float`
45. Perintah manakah yang digunakan untuk menghentikan eksekusi loop `for`?
A. `continue`
B. `return`
C. `break`
D. `stop`
E. `exit`
Jawaban: C. `break`
46. Apa hasil dari kode berikut?
cpp
int x = 3, y = 4;
cout << x * y;
A. `7`
B. `12`
C. `34`
D. `1`
E. `Error`
Jawaban: B. `12`
47. Manakah yang benar mengenai fungsi rekursif di C++?
A. Fungsi rekursif memanggil dirinya sendiri
B. Fungsi rekursif tidak dapat mengembalikan nilai
C. Fungsi rekursif tidak pernah berhenti
D. Fungsi rekursif tidak membutuhkan parameter
E. Fungsi rekursif hanya bisa digunakan untuk perhitungan
Jawaban: A. Fungsi rekursif memanggil dirinya sendiri
48. Apa yang dimaksud dengan program berbasis objek (OOP) di C++?
A. Program yang hanya bisa mengakses data dari variabel global
B. Program yang berfokus pada objek dan kelas
C. Program yang
hanya mendukung tipe data `int`
D. Program yang tidak membutuhkan fungsi `main()`
E. Program yang tidak bisa menggunakan array
Jawaban: B. Program yang berfokus pada objek dan kelas
49. Manakah pernyataan yang benar mengenai struktur data `vector` di C++?
A. `vector` memiliki ukuran yang tetap
B. `vector` hanya bisa menyimpan data bertipe integer
C. `vector` adalah tipe data statis
D. `vector` dapat berubah ukuran secara dinamis
E. `vector` digunakan untuk menyimpan data bertipe pointer
Jawaban: D. `vector` dapat berubah ukuran secara dinamis
50. Apa yang akan terjadi jika variabel dideklarasikan tanpa diinisialisasi?
A. Nilai variabel akan selalu 0
B. Nilai variabel akan tergantung pada nilai sebelumnya
C. Program akan error
D. Variabel akan otomatis terinisialisasi dengan nilai default
E. Tidak ada yang terjadi
Jawaban: B. Nilai variabel akan tergantung pada nilai sebelumnya
Sekian 50 Contoh Soal Kelas 11 SMK Pemrograman C++, Semoga Bermanfaat. Baca Juga 50 Contoh Soal Kelas 11 SMK Teknik Elektro