0% menganggap dokumen ini bermanfaat (0 suara)
5 tayangan14 halaman

Soal USBN Pemrograman Dasar SMK Batam

Dokumen ini adalah soal ujian susulan untuk mata pelajaran Pemrograman Dasar di SMK Kota Batam tahun pelajaran 2017/2018. Terdapat 40 soal pilihan ganda yang mencakup berbagai topik dalam pemrograman dan algoritma. Soal-soal dirancang untuk menguji pemahaman siswa tentang konsep dasar pemrograman, struktur algoritma, dan penggunaan pseudocode.

Diunggah oleh

mamikprabandari01
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
5 tayangan14 halaman

Soal USBN Pemrograman Dasar SMK Batam

Dokumen ini adalah soal ujian susulan untuk mata pelajaran Pemrograman Dasar di SMK Kota Batam tahun pelajaran 2017/2018. Terdapat 40 soal pilihan ganda yang mencakup berbagai topik dalam pemrograman dan algoritma. Soal-soal dirancang untuk menguji pemahaman siswa tentang konsep dasar pemrograman, struktur algoritma, dan penggunaan pseudocode.

Diunggah oleh

mamikprabandari01
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

DOKUMEN RAHASIA

UJIAN SEKOLAH BERSTANDAR NASIONAL


(USBN)
SMK KOTA BATAM
TAHUN PELAJARAN 2017/2018

SOAL UJIAN SUSULAN


(PAKET 2)

Mata Pelajaran : Pemrograman Dasar


Kelompok Keahlian : Rekayasa Perangkat Lunak
Kurikulum : Kurikulum 2013
Jumlah Soal : 40 PG
Waktu : 120 Menit
Disusun Oleh :
Tim MGMP Rekayasa Perangkat Lunak
SMK Kota Batam

1 dari 14
MUSYAWARAH GURU MATA PELAJARAN
REKAYASA PERANGKAT LUNAK
SMK KOTA BATAM
TAHUN 2018
Pilihalah salah satu jawaban yang paling tepat!

1. Hasil akhir dari struktur algoritma ini ditentukan oleh urutan instruksinya dan semua
instruksi dikerjakan tanpa ada yang diabaikan, adalah pengertian dari struktur....
A. Pemilihan
B. Percabangan
C. Pengulangan
[Link]
E. Runtutan

2. Variabel dalam algoritma dan pemrograman dapat digunakan untuk menyimpan


informasi secara.....
A. Acak
B. Dinamis
C. Berulang
[Link]
E. Statis

3. Penulisan tipe data character selalu diawali dan diakhiri dengan tanda...... A. [.....]
B. (.......)
C. */ /*
D.‘.......’
E. “.....”

4. Operator relasional (perbandingan) yang digunakan untuk menggambarkan nilai pertama


lebih besar atau sama dengan nilai kedua adalah ….
A. <>
B. <=
C. >=
D.>
E. <

5. Pseudocode terdiri dari kata Pseudo dan Code, Arti dari kata Pseudo adalah…..
A. Instruksi
B. Ulangan
C. Beda
[Link]
E. Tiruan

2 dari 14
6. Simbol flowchart yang digunakan untuk memberi nilai awal, nilai akhir,penambahan /
pengurangan bagi suatu variable counter disebut dengan....
A. Terminator
B. Decision
C. Data
D. Manual Operation
E. Preparation

7. Perhatikan pseudocode berikut ini…..


IF Non <5 then harga Rp.
[Link] If Non >5 then
harga Rp. 4000,Else IF Non
<= harga Rp. 4500,-
Else then harga Rp. 3.500,-
Andi dan Budi menyewa DVD di Rental DVD Aritonang, status Andi bukan anggota
menyewa DVD di sebanyak 13 Judul Film DVD dan Budi adalah anggota menyewa
sebanyak 3 Judul, berapa jumlah uang yang dibayarkan oleh Budi dan Andi…..
A. Rp. 10.500,-
B. Rp. 52.000,-
C. Rp. 62.500,-
[Link]. 69.000,-
E. Rp. 75.500

8. Percabngan 2 kondisi memberikan operasi-operasi khusus pada kondisi yang tidak


dipenuhi seperti Algoritma Dalam Bahasa Pseudocode Berikut :
Var :
nilai_siswa : integer
Pseudocode
read (nilai siswa )
IF nilai siswa > 75
THEN
write ( tergolong baik )
ELSE
write ( tergolong cukup)

Untuk menghasilkan tulisan tergolong baik atau tergolong cukup, akan terjadi Jika …
A. nilai siswa ( 0 – 100 ) ≥ 75 Tergolong Baik
B. nilai siswa ( 0 – 100 ) ≤ 75 Tergolong Baik
C. nilai siswa ( 0 – 100 ) > 75 Tergolong Cukup
[Link] siswa ( 0 – 100 ) ≥ 75 Tergolong Cukup E.
nilai siswa ( 0 – 100 ) ≤ 75 Tergolong Cukup

9. Pada algoritma ada kalanya suatu pernyataan atau perintah hanya bisa dilakukan bila
memenuhi suatu kondisi atau persyaratan tertentu. Algoritma ini kita sebut dengan
algoritma seleksi kondisi atau juga percabangan. Perhatikan Algoritma Berikut : Apabila
warna putih maka jadi merah. Apabila warna merah maka jadi hijau, selain warna merah
dan hijau maka jadi kuning. Jika kondisi input warna adalah hitam, maka warna jadi
kuning
Maka struktur percabangan yang tepat diterapkan pada algoritma tersebut adalah:
A. Struktur percabangan 1 kondisi
B. struktur percabangan 2 kondisi
C. struktur percabangan 2 kondisi atau lebih
3 dari 14
[Link] percabangan bersarang
E. struktur perulangan dengan kondisi diawal

10. Bentuk pseudocode dibawah ini termasuk kedalam algoritma percabangan….


IF Nilai >= 75 Hasil “Lulus” Then “Tidak Lulus”

A. Percabangan 1 Kondisi
B. Peracabangan 2 kondisi
C. Perbancangan lebih dari 2 kondisi
[Link] 3 kondisi
E. Percabangan bersarang

11. Perhatikan algoritma pengulangan dibawah ini :


1. i  1 .
2. Selama (i < 100) kerjakan baris 3 sampai dengan 4.
3. Tulis i.
4. i  i + 2.
5. Selesai.
Hasil Algoritma tersebuat adalah
A. 1,2,3…100
B. 3,5,7…100
C. 3,5,7…99
D.1,3,5…100
E. 1,3,5…99

12. Perhatikan Script fungsi di bawah ini!


#include
<stdio.h> int
main() {
float bil;
printf (“Masukkan sembarang bilangan
pecahan: “); scanf(“%f”, &bil);
if(bil<0) bil = bil*(-1);
printf (“Nilai mutlak bilangan tersebut adalah
%f”, bil); return 0; }
Script yang berfungsi untuk memasukkan masukan berupa bilangan bulat adalah….
A. #include <stdio.h>
B. scanf(“%d”, &bil);
C. printf (“Masukkan sembarang bilangan pecahan: “);
[Link] (“Nilai mutlak bilangan tersebut adalah %d”, bil);
E. return 0;

13. Harga tiket sebuah bus travel memiliki tarif yang berbeda dengan ketentuan sebagai
berikut : Jika rental Bus lebih dari atau sama dengan 3 hari dan tanpa supir mendapatkan
potongan harga 15% dari harga normal, selain itu berlaku tarif normal. Permasalahan
tersebut dapat diselesaikan dengan struktur…..
A. Percabangan 2 kondisi
B. Percabangan lebih dari 2 kondisi
C. Percabangan 1 kondisi
[Link] dengan kondisi diinputkan user
E. Perulangan dengan pencacah

4 dari 14
14. Armada pesawat terbang Aritonang Air memiliki harga tiket promo sebagai berikut :
Jika kelas ekonomi maka harga tiket Rp. 500.000
Jika kelas VIP maka harga tiket Rp. 1.156.000
Jika kelas VVIP maka harga tiket Rp. 1.350.000
Bentuk ketentuan diatas dapat dikategorikan ke dalam struktur percabangan…
A. Percabangan 1 kondisi
B. Percabangan 2 kondisi
C. Percabangan lebih dari 2 kondisi
[Link] dengan kondisi diinputkan user
E. Perulangan dengan pencacah

15. Susun algoritma untuk menampilkan angka 1 sampai dengan100 secara menurun
A. For (i=0;i<=100;i--) Output (“nilai”,i)
B. while (i=1;i<100;i--) Output (“nilai”,i)
C. For (i=1;i<=100;i--) Output (“nilai”,i)
[Link] (i=1;i<99;i--)
Output (“nilai”,i)
E. do i=100; while i<100; i--
;
Output (“nilai”,i)
16. Standard operasional prosedur yang harus dilakukan seorang pengunjung sebelum
masuk ke dalam bioskop adalah sebagai berikut :
1. Beli tiket bioskop di kasir sesuai dengan judul film yang di putar
2. Masuk ke dalam bioskop dan cari posisi bangku sesuai dengan yang tertera di karcis
3. Menyaksikan film
4. Apabila sudah habis silahkan keluar.
5. Jika ingin menonton film bioskop lagi, ulangi langkah pertama

Permasalahan standard operasional prosedur yang diterapkan di bioskop tersebut dapat


diselesaikan dengan struktur….. A. Perulangan dengan kondisi di awal
B. Perulangan dengan kondisi di akhir
C. Perulangan dengan pencacah naik
[Link] dengan pencacah turun
E. Perulangan diinputkan oleh user

17. Perhatikan gambar flowchart berikut ini :


Mulai

Tambahkan susu ke
dalam kopi

Apakah kopi cukup manis


Tidak Ya
Selesai

Contoh flowchart diatas termasuk ke dalam struktur……


A. Perulangan dengan pencacah turun
B. Perulangan dengan pencacah naik
C. Perulangan dengan kondisi di awal
[Link] dengan kondisi di akhir
E. Perulangan dengan kondisi di akhir diinputkan oleh user

5 dari 14
18. Studi kasus algoritma pengurangan bilangan
1. A = 150
2. Nilai A di kurangi dengan 5
3. Tekan (Y) Ya untuk mengulangi langkah dua atau tekan T (tidak) untuk melanjutkan
ke langkah berikutnya
4. Tampilkan Nilai A

Permasalahan studi kasus diatas dapat diselesaikan dengan struktur…..


A. Perulangan dengan pencacah turun
B. Perulangan dengan pencacah naik
C. Perulangan dengan kondisi di awal
[Link] dengan kondisi di akhir
E. Perulangan dengan kondisi di akhir diinputkan oleh user

19. Pada perulangan dengan pencacah naik, perulangan akan terus berlanjut apabila..........
A. Nilai pencacah = banyaknya perulangan
B. Nilai pencacah < banyaknya perulangan
C. Nilai pencacah telah mencapai batas nilai tertentu
[Link] pencacah > 0
E. Nilai pencacah < 0
20. Pada perulangan dengan pencacah turun, perulangan akan terus berlanjut apabila.....
A. Nilai pencacah > 0
B. Nilai pencacah < 0
C. Nilai pencacah > banyaknya perulangan
[Link] pencacah = banyaknya perulangan
E. Nilai pencacah telah mencapai batas nilai tertentu

21. Perhatikan pseudocode berikut !


IF nilai siswa >= 91
THEN nilai rapor = A
ELSE IF nilai siswa >=75
THEN nilai rapor = B
ELSE IF nilai siswa >=69
THEN nilai rapor = C
ELSE IF nilai siswa >=60
THEN nilai rapor = D
ELSE nilai rapor = E

Misalkan nilai siswa = 62.5, maka nilai rapor siswa tersebut adalah….
A. A
B. B
C. C
D.D
E. E

22. Pada perulangan dengan kondisi di awal dapat diimplementasikan menggunakan


perintah…..
A. For
B. Do while
C. Continue
[Link]
E. Case break

6 dari 14
23. Perhatikan Script fungsi di bawah ini!
#include
<stdio.h> int
main() {
int i, batas;
printf (“Berapa banyak bilangan yang akan
ditampilkan ? “); scanf (“%d”, &batas);
for (i=1; i<batas; i++) printf(“%d
\n”, i); return 0; }
Misalkan banyak bilangan yang ditampilkan diinputkan 4, maka hasil yang akan
ditampilkan adalah…..
A. 1234
B. 1
2
3
4
C. 12
34
D.1
23
4
E. 12
3
4
24. Pada perulangan dengan kondisi di akhir dapat diimplementasikan menggunakan
perintah…..
A. Continue
B. Do
C. Do while
[Link]
E. Switch

25. Dengan menggunakan loop,suatu proses yang berulang dapat di impelementasikan


dengan kode program yang pendek. Berikut ini merupakan progran C++ yang
mengurutkan bilangan dari 1 sampai 20 adalah : A. #include<iostream.h>
#include<conio.h> void main(){ int a;
for(a=1;a<=20;a
++){ cout<<a;
cout<<" "; }
getch(); }
B. #include<iostrea
m.h>
#include<conio.h
>
void
main(){ int
a;
for(a=1;a<=20;
a+){ cout<<a;
cout<<" "; }
getch(); }
C. #include<iostrea
m.h>
#include<conio.h
> void main(){
clrscr(); float b;
7 dari 14
b=2; do{
cout<<b<<endl;
b+=2; }
while(b<=20);
getch(); }
D. #include<iostrea
m.h>
#include<conio.h
> void main(){
clrscr(); float b;
b=2; do{
cout<<b<<endl;
b++=2; }
while(b<=20);
getch(); }
E. #include<iostrea
m.h>
#include<conio.h
> void main(){
clrscr(); float b;
b=1; do{
cout<<b<<" ";
b+=2;}
while(b<=20);
getch(); }

26. Perhatikan Script fungsi di bawah ini!


#include
<stdio.h> int
main() {
int i, batas;
printf (“Berapa batas bilangan genap yang akan
ditampilkan ? “); scanf (“%d”, &batas);
for (i=2; i<batas; i++) printf(“%d \n”, i);
if (i%2 ==0)
continue;
printf (“%d \n”, i);
} return 0;
}
Misalkan batas bilangan genap yang ditampilkan di inputkan 8, maka hasilkan yang akan
ditampilkan adalah…..
A. 2
4
6
B. 246
C. 2468
D.2
4
6
8
E. 2 4 6
8 10 12

27. Perhatikan Script fungsi di bawah ini!


#include
<stdio.h> int
main() {
int i, batas;

8 dari 14
printf (“Berapa batas bilangan genap yang akan
ditampilkan ? “); scanf (“%d”, &batas);
for (i=2; i<batas; i--)
printf(“%d \n”, i); if (i%2 ==0)
continue;
printf (“%d \n”, i);
} return 0;
}
Misalkan batas bilangan genap yang ditampilkan di inputkan 8, maka hasilkan yang akan
ditampilkan adalah…..
A. 8642
B. 642
C. 6
4
2
D.8
6
4
2
E. 6 4 2
12 10 8

28. Format dasar percabangan yang menggunakan (case, break) sering digunakan untuk
jenis percabangan…
A. Percabangan 2 kondisi
B. Percabangan lebih dari 2 kondisi
C. Percabangan bersarang
[Link] dengan kondisi diinputkan user
E. Perulangan dengan pencacah
29. Berikut ini adalah tahapan – tahapan untuk merancang algoritma dalam suatu
pemecahan permasalahan yang kompleks.
1. Mengompilasi kode program
2. Merancang program
3. Mengeksekusi program
4. Menganilisis pemecahan masalah
5. Mendefenisikan masalah
6. Menulis dokumentasi program
7. Menulis kode program

Urutan – urutan yang paling benar dari tahapan tersebut adalah….


A. 1 – 2 – 3 – 4 – 7 – 6 – 5
B. 2 – 5 – 1 – 4 – 7 – 6 – 3
C. 2 – 5 – 1 – 7 – 4 – 6 – 3
D.5 – 4 – 2 – 7 – 1 – 3 – 6
E. 5 – 1 – 2 – 7– 4 – 3 – 6

30. Perhatikan pseudocode berikut ini


1. MULAI
2. PRINT “kode m = Mie Ayam = 11000 P = Pecel Lele = 16.000 j = Jus buah = 6000 t
= Es teh = 3000 s = selesai”
3. Total Harga = 0
4. INPUT kode
5. IF (kode = n) THEN Total Harga = Total Harga + 11.000
ELSE IF (kode = b) THEN Total Harga = Total Harga + 16.000
9 dari 14
ELSE IF (kode = j) THEN Total Harga = Total Harga + 6000
ELSE IF (kode = t) THEN Total Harga = Total Harga + 3000
ELSE IF (kode = s) THEN PRINT Total Harga
ELSE PRINT “Kode Input salah”
END IF
6. INPUT JumlahBeli
7. DO 4 TO 5 WHILE (Kode !=’’s’)
8. SELESAI

Jika Adit membeli 3 kode “m” + 2 kode “p” + 4 kode “j” + 3 kode “P” + kode “s”, maka
berapa total bayar yang harus dikeluarkan oleh Adit….
A. Rp. 137.000,-
B. Rp. 126.000,-
C. Rp. 121.000,-
[Link]. 105.000,-
E. Rp. Rp. 33.000,-

31. Jika terdapat kesalahan pada saat kompilasi kode program, maka sebaiknya…
A. Kita lihat kembali rancangan algoritmanya
B. Kita lakukan analisa ulang
C. Kita perbaiki kode programnya
[Link] definisikan ulang masalah yang diberikan
E. Kita tulis dokumentasi program

32. Array adalah……


A. Struktur data yang menyimpan sekumpulan elemen yang bertipe berbeda dan setiap
elemen diakses langsung tidak melalui indeksnya
B. Struktur data yang menyimpan sekumpulan elemen yang bertipe berbeda dan setiap
elemen diakses langsung melalui indeksnya
C. Struktur data yang menyimpan sekumpulan elemen yang bertipe sama dan setiap
elemen diakses langsung melalui indeksnya
[Link] data yang menyimpan sekumpulan elemen yang bertipe sama dan setiap
elemen diakses langsung tidak melalui indeksnya
E. Struktur data yang menyimpan sekumpulan elemen yang bertipe sama dan setiap
elemen tidak dapat diakses langsung.

33. Perhatikan script di bawah ini!


#include<iostream.h>
#include<coni
o.h> void
main() { int
a [5] ; a
[0]=86; a
[1]=56; a
[2]=78; a
[3]=34; a
[4]=52;
cout<<a[3]<<endl<<a[2];
getch(); }

Keluaran dari script diatas adalah….


A. a[34] a[78]
B. a[34] a[78] C. 34
10 dari 14
78
D.34 78
E. a[34] << a[78]

34. Karakteristik array yang pertama sekali harus didefinisikan adalah….


A. Berurutan (terstruktur)
B. Dapat di akses secara acak
C. Mempunyai type data sama (homogen)
[Link] batasan dari pemesanan alokasi memory (bersifat statis)
E. Hanya memiliki 1 vektor

35. Fungsi dari tipe data dalam array adalah…..


A. Menyatakan tipe data yang digunakan
B. Menyederhanakan suatu struktur bahasa pemrograman
C. Memberikan nilai awal terhadap suatu variabel
[Link] elemen-elemen dari suatu pemrogaraman
E. Menyatakan jumlah maksimum elemen array

36. Perhatikan contoh script dibawah ini :


Int data_jual[3][3] = {
{150, 159,230},
{100, 125,150},
{210, 125,156},};

Bagian yang menyatakan jumlah baris adalah….


A. Int
B. Data_jual
C. [3][3]
D.{150, 159,230}
E. {}

37. Perhatikan Gambaran tentang konsep array seperti strukur data berikut ini:

Penjelasan yang tepat mengenai gambar di atas adalah:


1. Indeks adalah sebuah angka yang menyatakan urutan sebuah elemen pada suatu
variabel array
2. Nomor indeks variabel array harus dimulai dari 0 (nol),
3. nomor indeks bagi elemen terakhir sebesar (N-1), dimana N adalah jumlah total data.
4. Untuk mengakses dapat dilakukan setiap elemen dalam variabel array dengan
mengacu pada nomor indeksnya.
5. Sebuah variabel array adalah sejumlah variabel yang sama dengan nama yang sama
tetapi memiliki nomor indeks yang unik untuk membedakan setiap variabel tersebut.
A. 1,2,3
B. 1,3,4
C. 2,4,5

11 dari 14
D.1,2,4
E. 3,4,5

38. Perhatikan program berikut :


#include<iostream>
using namespace
std;
int Kuadrat (int parameter
X): { formal

int hasil;
hasil = X *
X; return
hasil; } int
main (){ int
Bil, HASIL;
cout<<”Masukkan sebuah bilangan
bulat :”;
Kuadrat (Bil); parameter
actual

cin>>Bil; HASIL =
cout<<”Kuadrat dari Bilangan “<<Bil<<” adalah :
“<HASIL; return 0;

Berdasarkan program tersebut yang dimaksud dengan Parameter actual adalah


A. variable yang berupa parameter yang ada dalam definisi fungsi saat dideklarasikan.
B. variable yang bisa berupa parameter atau konstanta yang dipakai saat pemanggilan
fungsi.
C. Parameter yang terdapat pada pendefenisian suatu fungsi,
[Link] yang terdapat pada saat pemanggilan
E. Parameter yang berupa variable yang ada dalam definisi fungsi saat dideklarasikan

39. Salah satu keuntungan dari modularisasi kode program adalah Reusable code,
pengertian dari Reusable code adalah… A. Kode dapat digunakan kembali
B. Mudah untuk dipahami karena prosesnya
C. Menghapus jumlah berlebihan yang tidak dibutuhkan
[Link] menajdi lebih efisien
E. Definisi kegiatan dari modul-modul yang ada

40. Fungsi dalam pemrograman C++ dapat di deklarasikan dengan menggunakan sintaks
berikut ini:
1. tipe nama_fungsi (tipe parameter1, tipe
2. parameter2, ...,tipe parameterN){
3. //Kode fungsi yang akan dijalankan
4. return kembalian;
5. }

Penjelaskan yang tepat mengenai program tersebut adalah 1.


Suatu fungsi jelas memiliki tipe.
2. Tipe suatu fungsi tidak menentukan nilai kembalian dari fungsi tersebut.
3. Nama_fungsi merupakan pengenal suatu fungsi.
4. Variabel merupakan Parameter penampung input suatu fungsi.

12 dari 14
5. Return merupakan instruksi yang berguna mengembalikan hasil kerja suatu fungsi,
untuk dapat digunakan di dunia luar (fungsi main).

A. 1,2
B. 2,3
C. 3,4 D.4,5 E. 3,5

13 dari 14
Lembar kunci J
No. Jawaban No. Jawaban No. Jawaban No. Jawaban
1 D 11 E 21 D 31 C
2 B 12 B 22 A 32 C
3 D 13 A 23 B 33 C
4 C 14 C 24 C 34 C
5 E 15 E 25 A 35 A
6 E 16 B 26 A 36 C
7 C 17 D 27 D 37 A
8 E 18 E 28 B 38 B
9 C 19 B 29 D 39 A
10 B 20 A 30 A 40 E

14 dari 14

Anda mungkin juga menyukai