Contoh Soal Pemrograman Dasar Bahasa C++ Beserta Penyelesaiannya - Berikut contoh soal pemrograman dasar untuk bahasa C++, dibawah ini ada total 40 soal beserta penyelesaiannya atau jawabannya (cetak tebal atau bold). Kalian bisa gunakan soal ini untuk latihan, membuat ulang soal, dan lain-lain. Silahkan salin soal dibawah ini, karena saya pun mendapat soal ini dari beberapa latihan.
1. Fungsi dari operator % sebagai...
A. Mencari sisa pembagian 2 bilangan
B. Prosentase bilangan
C. Pembagian 2 bilangan
D. Membagi perseratus persen
E. Prosentase 2 bilangan
2. Pernyataan a = 7 % 4 akan menghasilkan a = ...
A. 3
B. 4
C. 5
D. 6
E. 7
3. Program apakah yang ada digambar ?
B. program untuk menampilkan data terbesar(maks) dalam suatu array
C. program untuk menampilkan data arraydari hasil inisialisasi
D. program penggunaan aray
E. a,b,c dan d salah
4. Perhatikan program berikut
#include <iostream>
using namespace std;
int main(){
cout << “!1 = ” << !1 << endl;
cout << “!0 = ” << !0 << endl;
return 0
}
Program diatas secara berturut-turut akan menghasilkan...
A. !1 dan !0
B. 1 dan 0
C. !1 = 0 dan !0 = 1
D. 0 dan 1
E. Semua salah
5. Keuntungan memakai fungsi pada C++ adalah...
A. Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
B. Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program.
C. Dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda.
D. Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat.
E. Tipe data nama fungsi(daftar parameter)
6. Dalam pemrograman C++ bukanlah bahasa prosedural, karena prosedur tidak mempunyai nilai balik. Untuk melakukan hal ini di dalam C++, maka harus membuat suatu fungsi dengan tipe void, yang berarti tidak memiliki nilai balik (return value) adalah...
A. #include <iostream>
using namespace std;
int BertambahSatu (int X) {
int hasil;
hasil = X + 1;
return hasil;
}
B. tipe_data nama_fungsi (parameter){
Pernyataan_yang_akan_dilakukan;
……………
return nilai_kembali;
}
C. int main () {
int Bilangan, HASIL;
cout<<"Masukkan Bilangan Bulat : "<<endl;
cin>>Bilangan;
HASIL = BertambahSatu (Bilangan);
cout<<"Nilai keluaran : "<<HASIL;
return 0;
}
D. void nama_fungsi (parameter)
{
Pernyataan_yang_akan_dilakukan;
……………
}
E. void nama_fungsi (parameter)
{
Pernyataan_yang_akan_dilakukan;
……………
7. perintah yang menggunakan untuk menampilkan suatu informasi ke piranti output (layar) adalah...
A. cin
B. cout
C. getch ()
D. conio.h
E. stdio.h
8. Perhatikan program berikut !
#include <iostream>
Using namespace std;
Int main{
Int x, y, z = 20;
Cout << x << endl;
Cout << y << endl;
Cout << z << endl;
Return 0
}
Bagian yang digaris bawahi berfungsi untuk...
A. Memberi nilai 20 pada z saja
B. Memberi nilai x, y, z dengan nilai 20
C. Membuat variabel global
D. Semua jawaban salah
E. Semua jawaban benar
9. Metode apakah proses pengurutan secara ascending :
- Mencari data terkecil dengan cara membandingkan data pertama dengan data kedua sampai data terakhir, jika ditemukan data yang lebih kecil antara data kedua hingga data terakhir daripada data pertama, maka terjadi pertukaran data. Jika tidak, maka tidak terjadi pertukaran data.
- Mencari data terkecil dengan cara membandingkan data kedua dengan data ketiga sampai data terakhir, jika ditemukan data yang lebih kecil antara data ketiga hingga data terakhir daripada data kedua, maka terjadi pertukaran data. Jika tidak, maka tidak terjadi pertukaran data.
Dan Seterusnya. Jika ada n buah data yang akan diurutkan, maka langkah pengurutan yang perlu dilakukan sebanyak (n-1) langkah karena data ke-n tinggal satu – satunya.
A. Selection serch
B. Selection
C. Selection Sort
D. Selection float
E. Selection fungsi
10. operator logika yang menyatakan “atau” dalam lambang berikut ini adalah...
A. &&
B. !
C. ||
D. =
E. <>
11. Operator yang digunakan dalam operasi yang melibatkan tiga buah operand adalah...
A. Operator Unary
B. Operator Bitwise
C. Operator Logika
D. Operator Fungsi
E. Operator Ternary
12. Operator logika && adalah...
A. And
B. Nand
C. Or
D. Not And
E. For
13. Perhatikan program berikut!
#include <iostream>
using namespace std;
int main()
{
int x = 10, y = 3;
A
int z;
B
z = x X y;
C
cout << x << “ X ” << y << “ = ” << z;
D
cout << endl;
E
return 0;
}
Dari program diatas, manakah penulisannya yang tidak benar?
A. A
B. B
C. C
D. D
E. E
14.
D. Operator Relasional
E. Operator Logika
15. Perintah menginput suatu nilai dari suatu piranti masukan (keyboard) untuk diproses oleh program adalah...
A. cin
B. getch ()
C. getche ()
D. cout
E. conio.h
16. Compiler C++ yang telah beredar di pasaran antara lain, kecuali...
A. Microsoft C / C++
B. Visual C++
C. Turbo C++
D. Dev C++
E. Pascal C++
17. Pernyataan yang sesuai untuk mendefinisikan tipe data bilangan bulat adalah...
A. Tipe data yang berfungsi menampung data yang memiliki angka dibelakang koma
B. Tipe data yang digunakan untuk angka yang tidak memiliki angka dibelakang koma
C. Tipe data yang yang menyimpan lebih dari satu variabel
D. Tipe data yang mempresentasikan data yang hanya mengandung dua nilai
E. Tipe data yang mempresentasikan data berupa karakter
18. Perintah Cin pada Program C++ digunakan untuk...
A. Menampilkan data pada layar
B. Menginput suatu nilai dari suatu piranti masukan (keyboard)
C. Pendeklarasian variabel
D. Mengulang proses looping pada program
E. Statement while .... do
19. Pengertian dari konstanta adalah...
A. Suatu nilai yang dapat diubah selama program berlangsung
B. Suatu nilai yang berubah-ubah selama program berlangsung
C. Suatu nilai yang tidak dapat diubah selama program berlangsung
D. Suatu nilai yang tidak pernah berubah meskipun program tidak berjalan
E. Suatu nilai yang tidak dapat diubah meskipun program tidak berjalan
20. Misalkan suatu variabel string katakanlah kalimat [30] akan diberi nilai "SAYA BELAJAR C++", maka perintah yang benar adalah...
A. char kalimat [30] = "SAYA BELAJAR C++"
B. char kalimat [30] = "SAYA BELAJAR C++";
C. charter kalimat[30] = "SAYA BELAJAR C++"
D. charter kalimat [30] = "SAYA BELAJAR C++";
E. karakter kalimat [30] = "SAYA BELAJAR C++"
21. Perhatikan program dan hasil program berikut,
#include <iostream>
using namespace std;
int contoh(){
static int A = 10;
A = A + 10;
return A;
}
int main(){
int x;
x = contoh();
cout << “Nilai pemanggilan pertama adalah : ” << x << endl;
return 0;
}
HASIL PROGRAM
1. Nilai pemanggilan pertama adalah: 20
2. Nilai pemanggilan pertama adalah: A = 20
3. Nilai pemanggilan pertama adalah: 20
4. Nilai pemanggilan pertama adalah: 30
5. terjadi error (kesalahan)
Terdapat pada hasil program nomor berapakah yang sesuai dengan program diatas ?
A. 5
B. 4
C. 3
D. 2
E. 1
22. Penggunaan operator aritmatika yang benar dalam C++ yaitu...
A. While(i<=30);
B. T = x + angka;
C. I++;
D. T = x + angka
E. Float x, X, z = 0;
23. Bilangan yang mengandung pecahan, paling sedikit harus ada satu digit angka sebelum dan sesudah titik desimal termasuk dalam tipe data...
A. Riil
B. Boolean
C. Integer
D. Longint
E. Byte
24. Yang termasuk operator logika ingkaran adalah...
A. &&
B. <>
C. !
D. ||
E. >=
25. Apabila program pada gambar tersebut akan menghasilkan...
B. Nilai a = 100, Nilai a = 747
C. Nilai a = 10, Nilai a = 766
D. Nilai a = 10, Nilai a = 777
E. Nilai a = 10, Nilai a = 746
26. Mana fungsi void yang benar untuk output dibawah?
Panjang = ?
Lebar = 8
Tinggi = 5
Volume = 280
A. #include <iostream.h>#include <conio.h>void volume(int &vol, int p, int l, int t){
vol = p*l*t; }
main(){int pj,lb,tg, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
volume(hsl,pj,lb,tg);
cout<<"nVolume = "<<hsl;
getch();
B. #include <iostream.h>#include <conio.h>void volume(int &vol, int p, int l, int t){
vol = p*l*t; }
main(){int pj,lb,tg, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
volume(hsl,pj,lb,tg)
cout<<"nVolume = "<<hsl;
getch();}
C. #include <iostream.h>#include <conio.h>void volume(int &vol, int p, int l, int t){
vol = p*l*t; }
main(){int pj,lb,tg, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
volume(hsl,pj,lb,tg);
cout<<"nVolume = "<<hsl;
getch();}
D. #include <iostream.h>#include <conio.h>void volume(int &vol, int p, int l, int t){
vol = p*l*t; };
main(){int pj,lb,tg, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
volume(hsl,pj,lb,tg);
cout<<"nVolume = "<<hsl;
getch();}
E. #include <iostream.h>#include <conio.h>void volume(int &vol, int p, int l, int t){;
vol = p*l*t; }
main(){int pj,lb,tg, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
volume(hsl,pj,lb,tg);
cout<<"nVolume = "<<hsl;
getch();}
27. double angka; . kode program disamping merupakan tipe data...
A. Bilangan Bulat
B. Logika
C. Bilangan Riil
D. Struktur
E. Karakter
28. -Ada keyword return
-Ada tipe data yang mengawali fungsi
-Tidak ada keyword void
-Memiliki nilai kembalian.
-Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga dapat langsung ditampilkan hasilnya
Pernyataan diatas adalah ciri-ciri dari jenis fungsi...
A. void
B. non void
C. array
D. statement
E. aritmetika
29. Penulisan variabel dalam C++ bersifat Case Sensitive artinya...
A. Tanda spasi diperhitungkan
B. Huruf besar dan kecil diperhitungkan
C. Tanda spasi diubah dengan underscore
D. Tanda spasi diubah dengan tanda titik
E. Tanda spasi diubah dengan tanda strip (minus)
30. Berikut ini adalah syarat pembuatan identifier yang harus kita perhatikan, kecuali...
A. C++ bersifat case sensitive
B. Tidak boleh diawali dengan angka
C. Harus menggunakan spasi
D. Tidak boleh menggunakan symbol (!@#$%^&*, dll)
E. Tidak boleh mengandung spasi
31. Perhatikan program berikut
#include <iostream>
Using namespace std;
Int main() {
Int x;
X = 3;
Cout << “Nilai x = ” << x << endl;
Return 0;
}
Hasil yang diperoleh dari program diatas adalah...
A. Nilai x = x
B. Nilai x = 3
C. Nilai 3 = x
D. Nilai 3 = 3
E. Semua salah
32. Operator merupakan symbol yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi, berikut yang bukan merupakan penggunaan operator adalah...
A. Menjumlahkan dua nilai
B. Memberikan nilai ke suatu variabel
C. Membandingkan kesamaan dua nilai
D. Menginputkan suatu nilai
E. Semua jawaban benar
33. Selain tipe data unsigned yaitu tipe data bilangan bulat adalah...
A. unsigned char, unsigned int, unsigned short dan unsigned long
B. unsigned float, unsigned double, dan unsigned long double
C. unsigned long dan unsigned float
D. unsigned char dan unsigned int
E. unsigned long double dan double
34. Satu blok kode yang melakukan tugas tertentu atau satu blok instruksi yang di eksekusi ketika dipanggil dari bagian lain dalam suatu program disebut...
A. Fungsi
B. non void
C. statement
D. array
E. Aritmetika
35. Perhatikan program berikut,
#include <iostream>
using namespace std;
int main()
{
int x;
float y;
x = +5;
y = -2.5;
cout << x << "," << y << ",";
x = -5;
y = +2.5;
cout << x << "," << y << endl;
return 0;
}
Hasil dari program diatas adalah...
A. +5, -2.5, -5, +2.5
B. 5, -2.5, -5, 2.5
C. 5, 2.5, 5, 2.5
D. -5, 2.5, 5, -2.5
E. Semua salah
36. Perhatikan program dan keluaran program berikut,
#include <iostream>
using namespace std;
int main(){
cout << (1 && 1) << endl;
cout << (1 && 0) << endl;
cout << (0 && 0) << endl;
cout << (0 && 1) << endl;
cout << endl;
return 0
}
Hasil program secara berturut-turut akan menampilkan angka
1. 1, 1, 1, 1
2. 1, 0, 0, 0
3. 0, 1, 1, 1
4. 1, 1, 0, 1
Hasil program yang benar ditunjukkan oleh nomor...
A. 1
B. 2
C. 3
D. 4
E. 5
37. #include <iostream>
using namespace std;
int main (){
int x = 3.05;
cout << “Nilai x adalah ” << x << endl;
return 0
}
Perhatikan program diatas, tipe data yang digunakan adalah...
A. char
B. long int
C. float
D. short int
E. signed long int
38. Ciri-ciri dari jenis fungsi Void adalah sebagai berikut, kecuali...
A. Tidak adanya keyword return
B. Tidak adanya tipe data di dalam deklarasi fungsi
C. Menggunakan keyword void
D. Tidak dapat langsung ditampilkan hasilnya & tidak memiliki nilai kembalian fungsi
E. menggunakan keyboard
39. Perintah statement apakah dibawah ini...
do
{
.
.
}
while (kondisi);
A. While
B. Do ... While
C. For
D. Switch
E. If
40. Hal yang menjadi catatan penting dalam pemograman C++ bahwa program C++ bersifat Case Sensitive. Maksud dari sifat tersebut adalah...
A. Semua character di anggap sama
B. Huruf kecil dan besar disamakan
C. Tidak boleh memakai 2 file header
D. Huruf besar dan kecil di anggap beda
E. Tidak boleh memakai 2 file header dan end
Mohon bantuan dan koreksinya jika jawaban ada yang salah, silahkan isi kolom komentar dibawah ini.
18 comments
puyeng yak, tetep gak paham ane wkwkwkw
bagus nih buat latihan
Weww..😅😅
good
http://blog.binadarma.ac.id/akhmadkhudri/
hehe makasih mas atas kunjungannya 😁
Mana penyelesianya
itu yang di bold
terimakasih lumayan buat pelajaran uts :)
soal nomer 25 dapet angka 747 dari mana gan?
kalau program itu dijalankan pasti pada fungsi cetak akan terjadi error karena nilai a belum di inisialisai
harusnya di funsi cetak ditambahin int a = 747;
Wah iya gan bener, maaf ya sorry 🙇 terimakasih koreksinya
Thank you!
Alhamdulillah bermanfaat ,visit https://kuncisiana.net untuk info materi pendidikan
uwaw erereee
Benar kah nomor 38 tuh
kalau menurut agan gimana ?
apaan sih ini
EmoticonEmoticon