Tuesday, August 1, 2017

Contoh Soal Pemrograman Dasar Bahasa C++ Beserta Penyelesaiannya

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 ?
A. program untuk mencari data array dan nomor elemennya
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. ++ dan -- merupakan operator...
A. Operator Aritmetika
B. Operator Increment dan Decrement
C. Operator Majemuk
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...
A. Nilai a = 10, Nilai a = 747
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.