Kamis, 07 Februari 2019

Contoh Soal dan Jawaban USBN Pemrograman Dasar Kelas XII SMK Tahun 2021

Contoh Soal USBN Produktif Pemrograman Dasar Kelas 12 SMK Tahun 2021
I. Pilihlah salah satu jawaban yang benar dengan memberi tanda silang (X) pada huruf A, B, C, D dan E!
1. Diketahui bahwa kantong P kosong, kantong Q berisi 10 buah kelereng dan kantong R berisi 15 kelereng. Apabila yang terbawa hanya sebuah kantong dan dikatakan BUKAN antong P yang terbawa, maka jumlah kelereng yang terbawa adalah

a. 10 atau 15
b. 10 dan 15
c. 10
d. 15
e. Kosong

Baca Juga : Kumpulan Contoh Soal dan Jawaban USBN Kelas XII SMA/SMK Tahun 2019

2. Penulisan kode program untuk identifier yang benar adalah…
a.       long 1000;
b.      int !satu;
c.       float bilangan_riil;
d.      long break;
e.       double 2x;

3. 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

4. Yang bukan merupakan ciri-ciri dari pseudocode adalah
a. Bervariabel
b. bergambar
c. berfungsi sebagai flowchart
d. menjelaskan algoritma
e. benar semua

5. Identifier yang digunakan untuk mengidentifikasi data yang nilainya sudah ditentukan, dan tidak dapat diubah saat program berjalan, disebut
a. Label
b. Tipe
c. Variabel
d. Konsanta
e. Prosedur

6. Perhatikan simbol flowchart dibawah ini







Simbol diatas berfungsi sebagai
a. Untuk menyatakan suatu tindakan (proses) yang tidak dilakukan oleh komputer (manual)
b. Untuk menunjukkan suatu kondisi tertentu yang akan menghasilkan dua kemungkinan, ya/tidak
c. Untuk menyatakan suatu tindakan yang dilakukan oleh komputer
d. Untuk menyatakan segala jenis operasi yang diproses dengan suatu mesin yang mempunyai keyboard
e. Untuk menyatakan penyediaan tempat penyimpanan suatu pengolahan untuk memberi harga awal

7. Menyisipkan sebagian karakter atau substring ke dalam substring yang lain dimulai dari posisi X disebut
a. Operasi menyisipkan
b. Operasi penyisipan
c. Operasi substring
d. Operasi append
e. Operasi concad

8. Menghitung panjang string atau banyaknya karakter dalam dapat dilakukan dengan menggunakan fungsi
a. Menghitung panjang string
b. String
c. Fungsi AnsiCompareStr
d. Length
e. Membandingkan dua buah string

9. Perhatikan gambar dibawah ini

















hasil dari flowchart diatas adalah
a. Bilangan penjumlahan dengan 5
b. Bilangan hasilnya 5
c. Bilangan yang habis dibagi 5
d. Bilangan dengan input 5
e. Bilangan pembagian 5

10. Apa yang dimaksud dengan fungsi AnsiLowerCase
a. Mengubah string menjadi huruf kecil semua
b. Kutipan sebuah string
c. Membandingkan string yang sensitif terhadap huruf
d. Menghapus kutipan dalam string
e. Mengambil karakter terakhir dari string

11. Perhatikan program dibawah ini
#include <iostream>
using namespace std;
int main() {
int C;
C=5;
cout<<"Nilai C awal    :  "<<C<<endl;
cout<<"Nilai ++C      : "<<++C<<endl;
cout<<"Nilai C akhir : "<<C<<endl;
cout<<'\n';

C= 10;
cout<<"Nilai C awal       :"<<C<<endl;
cout<<"Nilai C++          :"<<C++<<endl;
cout<<"Nilai C akhir :     "<<C<<endl;

return 0;
}
Hasil dari program di atas adalah
a. Nilai C awal : 5
Nilai ++C : 6
Nilai C akhir : 6

Nilai C awal : 10
Nilai C++ : 10
Nilai C akhir : 11

b. Nilai C awal : 5
Nilai ++C : 5
Nilai C akhir : 6

Nilai C awal : 10
Nilai C++ : 10
Nilai C akhir : 11

c. Nilai C awal : 6
Nilai ++C : 5
Nilai C akhir : 6

Nilai C awal : 11
Nilai C++ : 10
Nilai C akhir : 10

d. Nilai C awal : 6
Nilai ++C : 6
Nilai C akhir : 5

Nilai C awal : 10
Nilai C++ : 11
Nilai C akhir : 11

e. Nilai C awal : 5
Nilai ++C : 5
Nilai C akhir : 5

Nilai C awal : 11
Nilai C++ : 11
Nilai C akhir : 10

12. #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: 10
2. Nilai pemanggilan pertama adalah: A = 10
3. Nilai pemanggilan pertama adalah: 10
4. Nilai pemanggilan pertama adalah: 20
5. terjadi error (kesalahan)
Terdapat pada hasil program nomor berapakah yang sesuai dengan program diatas?
a. 1
b. 2
c. 3
d. 4
e. 5

13. double angka; kode program disamping merupakan tipe data
a. Bilangan bulat
b. Logika
c. Karakter
d. Struktur
e. Bilangan riil

14. Tipe-tipe berikut akan memberi nilai output, keculai
a. Int
b. Void
c. Char
d. Float
e. Double

15. Perhatikan program berikut ini
#include <iostream>
#include <conio.h>
using namespace std;
int main (){
.... x = 3.05;
cout << "Nilai x adalah " << x << endl;
return 0;
}

Tipe data yang tepat untuk mengisi titik-titik dalam program di atas adalah
a. Int
b. Char
c. Float
d. string
e. long int

16. identifier yang digunakan utnuk mengidentifikasi data yang nilainya dapat diubah-ubah sesuai kebutuhan adalah
a. Konstanta
b. Label
c. Tipe data
d. Variabel
e. Prosedur

17. Contoh bentuk deklarasi variabel bertipe karakter yang benar adalah
a. Char return
b. Void main
c. Panjang char
d. Char panjang, a, huruf[30]
e. Semua benar

18. Statemen program berikut ini salah, kecuali
a. Int return=40;
b. Float tiga_puluh;
c. */komentar/*
d. Dua int=30;
e. Cout>>count;

19. #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

20. Amati program dibawah ini
#include<iostream>
#include<conio.h>
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 bekerja untuk
a. Memberikan nilai x,y,z dengan nilai 20
b. Fungsi utama
c. Untuk variabel X saja
d. Untuk variabel y saja
e. Untuk variabel z saja

21. Bentuk dari suatu statement IF berada di dalam lingkungan statement IF yang lainnya disebut IF dalam  kondisi

a. IF bercabang
b. IF tunggal
c. IF bersarang
d. IF-THEN
e. IF do while-Until

22. Pada suatu bioskop terdapat aturan untuk menonton film tertentu sebagai berikut: jika usia penonton lebih dari 17 tahun maka diperbolehkan menonton, jika kurang dari 17 tahun maka penonton tidak diperbolehkan menonton. Permasalahan tersebu dapat diselesaikan dengan struktur
a. Percabangan 1 kondisi
b. Percabagan lebih dari 2 kondisi
c. Percabangan dengan kondisi diinputkan user
d. Perulangan dengan pencacah
e. Percabangan 2 kondisi

23. Yang disebut tipe data composite adalah
a. Tipe data yang telah disediakan oleh komputer
b. Tipe data yang telah disediakan pemrograman
c. Tipe data yang terdiri dari satu macam tipe
d. Tipe data pada algoritma
e. Tipe data yang terdiri dari dua atau lebih tipe data

24. pernyataan 1;
if( kondisi) {
pernyataan 2;
pernyataan 3;
}
Pernyataan 4;
 Jika kondisi tidak terpenuhi (bernilai salah) maka pernyataan yang dijalankan adalah nomor
a. 2 dan 3
b. 1
c. 4
d. 1 dan 4
e. 1,2,3,4

25. Perhatikan program dibawah ini
#include<iostream.h>
#include<conio.h>
void main(){
clrscr();
float b;
b=2;
do{
cout<<b<<endl;
b+=2;
}
while(b<=20);
getch();
}

Hasil dari program tersebut adalah
a. Mengurutkan hasil dari perkalian dua
b. Mengurutkan 1 sampai 20
c. Menampilkan hasil dari terbesar ke terkecil
d. Menampilkan bintang sebanyak 20 buah
e. Menampilkan angka 2 pada layar

26. Perhatikan output dari program berikut ini








Kode program untuk menampilkan output seperti diatas adalah
a. #include<iostream>
#include<conio.h>
using namespace std;
int main(){
int a,b;
for(a=10;a>=1;a--)
{
for(b=1;b<=a;b++)
cout<<"*"<<" ";
cout<<endl;
}
getch();
}

b. #include<iostream>
#include<conio.h>
using namespace std;
int main(){
int a,b;
for(a=10;a>=1;a--)
{
for(b=1;b<=a;b++)
cout<<"*"<<" ";
cout<<endl;
}

c. #include<iostream>
#include<conio.h>
using namespace std;
int main(){
int a,b;
for(a=8;a>=1;a--)
{
for(b=1;b<=a;b++)
cout<<"*"<<" ";
cout<<endl;
}
getch();
}

d. #include<iostream>
#include<conio.h>
using namespace std;
int main(){
int a,b;
for(a=6;a>=1;a--)
{
for(b=0;b<=a;b--)
cout<<"*"<<" ";
cout<<endl;
}
getch();
}

e. #include<iostream>
#include<conio.h>
using namespace std;
int main(){
int a,b;
for(a=5;a>=1;a--)
{
for(b=1;b<=a;b++)
cout<<"@"<<" ";
cout<<endl;
}
getch();
}

27. Perhatikan program berikut ini
#include<iostream>
#include<conio.h>
using namespace std;
int main(){

float b;
b=2;
do{
cout<<b<<endl;
b+=2;
}
while(b<=20);
getch();
}

Program tersebut akan menghasilkan output

a. 1,3,5,7,9,11,15,17,21
b. 2,4,6,8,10,12,14,16,18,20
c. 1,2,4,6,8,9,10,12,14,15,16,18,20
d. 2,4,6,8,10,12,14,16,18,20
e. 1,3,5,7,8,9,11,15,17

28. Penulisan variabel c++ bersifat case sensitif, artinya adalah
a. Tanda spasi diperhitungkan
b. Tanda spasi diubah dengan underscore
c. Tanda spasi diubah dengan tanda strip
d. Tanda spasi diubah dengan tanda titik
e. Huruf besar dan huruf kecil diperhitungkan

29. Perhatikan program berikut
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int X;
X= 3;
cout<<"nilai X="<<X<<endl;
return 0;
}

Hasil dari program di atas adalah
a. Nilai 3=X
b. Nilai X=3
c. Nilai 3=3
d. Nilai 3=X
e. Semua salah

30. Kode perulangan untuk menghasilkan output seprti berikut adalah,, 1,3,5,7,9, 11
a. for(i=1; i>=10; 1+2)
b. for(i=1; i<=10; 1+2)
c. for(i=1; i>=11; 1+2)
d. for(i=1; i<=11; 1+2)
e. for(i=1; i>11; 1+2)


31. Perhatikan program dibawah ini
#include <iostream>
using namespace std;

void Hasil (int x, int y){
    if (x==1) {
        if (y>=17){
            cout << "Pria Dewasa";
        }
        else{
            cout << "Perjaka";
        }
    }
    else {
        if (y>=17){
            cout << "Wanita Dewasa";
        }
        else{
            cout << "Gadis";
        }
    }
}

int main(){
    int umur, kel;

    cout << "Jenis Kelamin" << '\n';
    cout << "1. Laki-Laki" << '\n';
    cout << "2. Perempuan" << '\n';
    cout << "Masukan Pilihan Anda (1-2): "; cin >> kel;

    cout << "Masukan Umur Anda (1-100): "; cin >> umur;

    Hasil(kel,umur);
}

Program di atas termasuk struktur...
a. Percabangan 1 kondisi
b. Percabangan 2 kondisi
c. Percabangan 3 kondisi/lebih
d. Pengulangan
e. Fungsi

32. Fungsi looping dalam pemrograman adalah
a. memilih statement yang akan di eksekusi dimana pilihan berdasarkan kondisi tertentu
b. mengeksekusi beberapa statement yang sama berulang-ulang sampai berhenti pada kondisi tertentu
c. fungsi yang mengatur program agar melompat ke suatu baris perintah yang ditentukan
d. suatu blok kode yang melakukan tugas tertentu yang diseksekusi ketika dipanggil dari bagian lain
e. dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda

33. Fungsi dari indeks pada array yaitu
a. Menunjukkan letak atau posisi dari elemen array
b. Menggabungkan nilai dan data dalam suatu program
c. Memodifikasi tampilan sehingga tampak lebih sederhana
d. Menggolongkan semua variabel sehingga tersusun sesuai persamaan
e. Memberikan nilai awal terhadap suatu variabel

34. Keuntungan memakai fungsi pada C++ adalah...
a. Tipe data nama fungsi(daftar parameter)
b. Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
c. Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program.
d. Dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda.
e. Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti  memodifikasi atau mengubah program yang kita buat.

35. 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

36. pengembalian nilai dari fungsi ke luar fungsi disebut
a. Perintah/pernyataan
b. Argument
c. Return
d. Nama_fungsi
e. Tipe_data

37. Perhatikan program dibawah ini
?>
// array1.php
// Cara 1
$anggota = array("Mamat","Bagas","Anton")
// Cara 2
$buah[0] = "Mamat";
$buah[1] = "Bagas";
$buah[2] = "Anton";
?>
Yang merupakan Indeks array dari program di atas adalah
a. // array1.php
b. $anggota = array("Mamat","Bagas","Anton")
c. $buah[2] = "Anton";
d. $anggota = array
e. ?>

38. 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();}

39. Tipe data terstruktur yang terdiri dari sejumlah komponen, komponen yang mempunyai tipe sama, disebut tipe data
a. Byte
b. Longint
c. Integer
d. array
e. Boolean

40. Perhatikan gambar di bawah ini
















Gambar diatas merupakan struktur dari
a. percabangan if
b. percabangan if-else
c. perulangan for
d. perulangan do- while
e. perulangan while

Kunci Jawaban

1 A 21 C
2 E 22 E
3 A 23 E
4 B 24 A
5 D 25 A
6 A 26 A
7 B 27 D
8 D 28 E
9 C 29 B
10 A 30 B
11 A 31 C
12 C 32 B
13 E 33 E
14 B 34 A
15 C 35 B
16 D 36 C
17 D 37 C
18 B 38 E
19 C 39 D
20 E 40 E
Terima Kasih Atas Kunjungannya. Kunjungilah selalu www.bacaanmadani.com semoga bermanfaat. Aamiin.

1 komentar:

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.