50 Contoh Soal Kelas 12 SMK Dasar Pemrograman
50 Contoh Soal Kelas 12 SMK Dasar Pemrograman – Berikut adalah 50 contoh soal pilihan ganda beserta jawabannya untuk mata pelajaran Dasar Pemrograman kelas 12 SMK:
1. Apa yang dimaksud dengan variabel dalam pemrograman?
a. Tempat untuk menyimpan nilai
b. Alat untuk mengatur alur program
c. Fungsi untuk memasukkan data
d. Perintah untuk menghentikan program
e. Alat untuk menampilkan hasil program
Jawaban: a. Tempat untuk menyimpan nilai
2. Dalam bahasa pemrograman C++, tipe data yang digunakan untuk menyimpan angka desimal adalah…
a. int
b. char
c. float
d. string
e. bool
Jawaban: c. float
3. Apa output dari program berikut?
cpp
#include <iostream>
using namespace std;
int main() {
int x = 5, y = 3;
cout << x + y;
return 0;
}
a. 5
b. 8
c. 15
d. Error
e. 53
Jawaban: b. 8
4. Fungsi yang digunakan untuk mencetak output di C++ adalah…
a. input()
b. scanf()
c. print()
d. cout()
e. println()
Jawaban: d. cout()
5. Apa yang terjadi jika sebuah variabel tidak dideklarasikan sebelum digunakan dalam program?
a. Program akan berjalan normal
b. Program akan menghasilkan error
c. Program akan meminta input
d. Program akan memberikan hasil acak
e. Program akan berhenti
Jawaban: b. Program akan menghasilkan error
6. Apa itu “loop” dalam pemrograman?
a. Proses untuk mengambil input
b. Proses untuk menampilkan output
c. Struktur kontrol untuk mengulang suatu perintah
d. Struktur untuk mendeklarasikan variabel
e. Proses untuk mengakhiri program
Jawaban: c. Struktur kontrol untuk mengulang suatu perintah
7. Apa yang dimaksud dengan “array” dalam pemrograman?
a. Sekumpulan variabel yang bertipe data sama
b. Sekumpulan perintah dalam fungsi
c. Fungsi untuk menyimpan nilai sementara
d. Struktur untuk menginput data
e. Sekumpulan nilai yang berbeda tipe data
Jawaban: a. Sekumpulan variabel yang bertipe data sama
8. Dalam C++, perintah untuk mendeklarasikan fungsi main adalah…
a. void main()
b. int main()
c. function main()
d. program main()
e. main() void
Jawaban: b. int main()
9. Apa hasil dari program berikut?
cpp
#include <iostream>
using namespace std;
int main() {
int x = 5;
if (x > 3) {
cout << “True”;
} else {
cout << “False”;
}
return 0;
}
a. True
b. False
c. Error
d. Tidak ada output
e. True False
Jawaban: a. True
10. Apa yang dimaksud dengan “fungsi” dalam pemrograman?
a. Blok kode yang dapat dipanggil untuk melakukan tugas tertentu
b. Variabel yang menyimpan data
c. Alat untuk menampilkan output
d. Struktur untuk mengulang perintah
e. Program utama
Jawaban: a. Blok kode yang dapat dipanggil untuk melakukan tugas tertentu
11. Apa yang dimaksud dengan komentar dalam pemrograman?
a. Kode yang dieksekusi oleh program
b. Kode yang digunakan untuk mencetak hasil
c. Penjelasan dalam kode yang tidak dieksekusi
d. Kode yang mengatur alur program
e. Penanganan kesalahan dalam kode
Jawaban: c. Penjelasan dalam kode yang tidak dieksekusi
12. Apa output dari kode berikut?
cpp
#include <iostream>
using namespace std;
int main() {
int x = 4;
x++;
cout << x;
return 0;
}
a. 3
b. 4
c. 5
d. Error
e. Tidak ada output
Jawaban: c. 5
13. Apa itu “kompilasi” dalam proses pembuatan program?
a. Proses untuk menulis kode
b. Proses untuk mengubah kode sumber menjadi file yang dapat dijalankan
c. Proses untuk mengeksekusi program
d. Proses untuk mendeklarasikan variabel
e. Proses untuk menambahkan komentar
Jawaban: b. Proses untuk mengubah kode sumber menjadi file yang dapat dijalankan
14. Apa output dari program berikut?
cpp
#include <iostream>
using namespace std;
int main() {
int x = 10;
int y = 2;
cout << x / y;
return 0;
}
a. 5
b. 12
c. 20
d. 8
e. Error
Jawaban: a. 5
15. Apa yang dimaksud dengan “operator aritmatika” dalam pemrograman?
a. Operator untuk mengatur alur program
b. Operator untuk membandingkan nilai
c. Operator untuk melakukan perhitungan matematis
d. Operator untuk memasukkan input
e. Operator untuk mendeklarasikan variabel
Jawaban: c. Operator untuk melakukan perhitungan matematis
16. Apa hasil dari program berikut?
cpp
#include <iostream>
using namespace std;
int main() {
int x = 5, y = 2;
cout << x % y;
return 0;
}
a. 1
b. 0
c. 2
d. 3
e. Error
Jawaban: a. 1
17. Dalam C++, tipe data yang digunakan untuk menyimpan karakter adalah…
a. int
b. char
c. float
d. double
e. string
Jawaban: b. char
18. Apa yang dimaksud dengan “struktur kontrol” dalam pemrograman?
a. Fungsi yang digunakan untuk perhitungan
b. Perintah untuk menampilkan hasil
c. Alat untuk mengatur alur eksekusi program
d. Deklarasi variabel
e. Proses untuk menginput data
Jawaban: c. Alat untuk mengatur alur eksekusi program
19. Bagaimana cara menulis komentar dalam satu baris di C++?
a. // Komentar
b. /* Komentar */
c. comment()
d. # Komentar
e. — Komentar
Jawaban: a. // Komentar
20. Apa yang dimaksud dengan “syntax error” dalam pemrograman?
a. Kesalahan dalam logika program
b. Kesalahan dalam penulisan kode
c. Kesalahan dalam mendeklarasikan variabel
d. Kesalahan dalam menggunakan operator
e. Kesalahan dalam input
Jawaban: b. Kesalahan dalam penulisan kode
21. Pada program berikut, berapa nilai dari variabel x setelah kode dieksekusi?
cpp
#include <iostream>
using namespace std;
int main() {
int x = 5;
x *= 3;
cout << x;
return 0;
}
a. 5
b. 8
c. 15
d. 18
e. Error
Jawaban: c. 15
22. Fungsi yang digunakan untuk mengambil input dari pengguna di C++ adalah…
a. output()
b. scanf()
c. cin()
d. input()
e. get()
Jawaban: c. cin()
23. Apa yang dimaksud dengan “debugging” dalam pemrograman?
a. Proses menulis kode
b. Proses mencari dan memperbaiki kesalahan dalam kode
c. Proses untuk mendeklarasikan variabel
d. Proses kompilasi program
e. Proses untuk mencetak hasil program
Jawaban: b. Proses mencari dan memperbaiki kesalahan dalam kode
24. Apa output dari program berikut?
cpp
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 6;
cout << a + b;
return 0;
}
a. 5
b. 6
c. 11
d. 56
e. Error
Jawaban: c. 11
25. Apa yang dimaksud dengan “perulangan” dalam pemrograman?
a. Struktur untuk mendeklarasikan fungsi
b. Struktur untuk membandingkan nilai
c. Struktur untuk mengulang suatu proses atau blok kode
d. Struktur untuk menampilkan hasil program
e. Struktur untuk menginput data
Jawaban: c. Struktur untuk mengulang suatu proses atau blok kode
26. Tipe data yang digunakan untuk menyimpan nilai benar atau salah (true/false) adalah…
a. bool
b. char
c. int
d. float
e. string
Jawaban: a. bool
27. Apa yang dimaksud dengan “fungsi void” dalam pemrograman?
a. Fungsi yang tidak mengembalikan nilai
b. Fungsi yang mengembalikan nilai string
c. Fungsi yang mengembalikan nilai integer
d. Fungsi yang digunakan untuk mencetak output
e. Fungsi yang digunakan untuk mengambil input
Jawaban: a. Fungsi yang tidak mengembalikan nilai
28. Berikut adalah contoh kode dalam C++, apa yang dimaksud dengan “x++” dalam kode tersebut?
cpp
int x = 5;
x++;
a. Mengurangi nilai x sebanyak 1
b. Menambah nilai x sebanyak 1
c. Mencetak nilai x
d. Menyimpan nilai 5 ke dalam x
e. Menampilkan hasil x
Jawaban: b. Menambah nilai x sebanyak 1
29. Perintah untuk membuat variabel dengan tipe data integer di C++ adalah…
a. integer x;
b. int x;
c. float x;
d. char x;
e. number x;
Jawaban: b. int x;
30. Fungsi yang digunakan untuk menghitung panjang string dalam C++ adalah…
a. length()
b. size()
c. strlen()
d. count()
e. width()
Jawaban: c. strlen()
31. Perintah berikut ini digunakan untuk mengakhiri fungsi atau program di C++:
a. exit()
b. stop()
c. return 0;
d. end()
e. close()
Jawaban: c. return 0;
32. Berikut adalah contoh pernyataan `if` di C++, apa yang akan terjadi jika x = 4?
cpp
if (x > 3) {
cout << “True”;
} else {
cout << “False”;
}
a. “True” akan dicetak
b. “False” akan dicetak
c. Program akan berhenti
d. Program akan menghasilkan error
e. Tidak ada output
Jawaban: a. “True” akan dicetak
33. Fungsi yang digunakan untuk menampilkan nilai dalam format yang lebih spesifik (misalnya dua angka desimal) adalah…
a. format()
b. printf()
c. cout()
d. display()
e. show()
Jawaban: b. printf()
34. Apa yang dimaksud dengan “nested loop” dalam pemrograman?
a. Penggunaan satu loop di dalam loop lainnya
b. Penggunaan beberapa loop yang terpisah
c. Penggunaan kondisi if di dalam loop
d. Penggunaan fungsi di dalam loop
e. Penggunaan variabel di dalam loop
Jawaban: a. Penggunaan satu loop di dalam loop lainnya
35. Dalam C++, operator `&&` digunakan untuk…
a. Menambahkan dua nilai
b. Membandingkan dua nilai
c. Mengalikan dua nilai
d. Menggabungkan dua kondisi (logika AND)
e. Mengambil sisa hasil bagi
Jawaban: d. Menggabungkan dua kondisi (logika AND)
36. Apa yang dimaksud dengan “array multidimensi”?
a. Array dengan satu dimensi
b. Array dengan lebih dari satu dimensi
c. Array dengan tipe data berbeda
d. Array yang menyimpan data berupa string
e. Array yang menyimpan objek
Jawaban: b. Array dengan lebih dari satu dimensi
37. Perintah berikut digunakan untuk menampilkan output ke layar di C++:
cpp
cout << “Hello, World!”;
a. scanf
b. print
c. cout
d. output
e. show
Jawaban: c. cout
38. Dalam C++, tipe data yang digunakan untuk menyimpan angka bulat adalah…
a. int
b. float
c. string
d. bool
e. double
Jawaban: a. int
39. Apa output dari kode berikut?
cpp
#include <iostream>
using namespace std;
int main() {
int a = 7;
cout << a / 2;
return 0;
}
a. 3
b. 4
c. 3.5
d. 7
e. Error
Jawaban: a. 3
40. Apa yang dimaksud dengan “kompilator” dalam pemrograman?
a. Program yang menulis kode
b. Alat untuk mengeksekusi program
c. Alat untuk memeriksa kesalahan dalam kode
d. Program yang mengubah kode sumber menjadi kode mesin
e. Alat untuk menampilkan output
Jawaban: d. Program yang mengubah kode sumber menjadi kode mesin
41. Fungsi `strlen()` digunakan untuk menghitung…
a. Panjang array
b. Jumlah elemen dalam array
c. Panjang string
d. Jumlah karakter dalam karakter array
e. Nilai total dalam array
Jawaban: c. Panjang string
42. Berikut adalah contoh perulangan dalam C++, apa output dari kode ini jika x = 3?
cpp
for (int i = 0; i < x; i++) {
cout << i;
}
a. 0
b. 01
c. 012
d. 0123
e. Error
Jawaban: c. 012
43. Apa itu “break” dalam perulangan?
a. Menghentikan seluruh program
b. Menghentikan perulangan dan melanjutkan eksekusi setelahnya
c. Menghentikan program
d. Menghentikan variabel
e. Menghentikan fungsi
Jawaban: b. Menghentikan perulangan dan melanjutkan eksekusi setelahnya
44. Perintah yang digunakan untuk mengambil input integer dari pengguna di C++ adalah…
a. scanf()
b. cin >>
c. input()
d. get()
e. read()
Jawaban: b. cin >>
45. Apa output dari program berikut?
cpp
#include <iostream>
using namespace std;
int main() {
int x = 3, y = 4;
cout << (x * y) + 5;
return 0;
}
a. 12
b. 17
c. 15
d. 5
e. 9
Jawaban: b. 17
46. Apa yang dimaksud dengan “fungsi rekursif”?
a. Fungsi yang memanggil dirinya sendiri
b. Fungsi yang memanggil fungsi lain
c. Fungsi yang tidak memerlukan parameter
d. Fungsi yang selalu mengembalikan nilai tetap
e. Fungsi yang tidak mengembalikan nilai
Jawaban: a. Fungsi yang memanggil dirinya sendiri
47. Fungsi berikut digunakan untuk membandingkan dua nilai dalam C++:
a. compare()
b. equals()
c. if()
d. ==
e. test()
Jawaban: d. ==
48. Apa yang dimaksud dengan “else” dalam pernyataan if-else?
a. Memeriksa kondisi kedua
b. Menghentikan eksekusi program
c. Menentukan aksi jika kondisi if tidak terpenuhi
d. Menentukan kondisi pertama
e. Memasukkan data dari pengguna
Jawaban: c. Menentukan aksi jika kondisi if tidak terpenuhi
49. Apa yang dimaksud dengan “tipe data primitif”?
a. Tipe data yang merupakan objek
b. Tipe data yang hanya berfungsi untuk operasi aritmatika
c. Tipe data yang tidak dapat diubah
d. Tipe data dasar yang tersedia dalam bahasa pemrograman
e. Tipe data yang hanya menyimpan angka
Jawaban: d. Tipe data dasar yang tersedia dalam bahasa pemrograman
50. Apa yang dimaksud dengan “pemrograman berorientasi objek” (OOP)?
a. Pemrograman yang berfokus pada prosedur
b. Pemrograman yang mengutamakan pengolahan data
c. Pemrograman yang menggunakan objek dan kelas untuk mengatur data dan perilaku
d. Pemrograman yang hanya berfokus pada input dan output
e. Pemrograman yang tidak memerlukan struktur data
Jawaban: c. Pemrograman yang menggunakan objek dan kelas untuk mengatur data dan perilaku
Sekian 50 Contoh Soal Kelas 12 SMK Dasar Pemrograman, Semoga Bermanfaat. Baca Juga