Anda di halaman 1dari 12

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

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
D. Runtunan
E. Runtutan

2. Variabel dalam algoritma dan pemrograman dapat digunakan untuk menyimpan


informasi secara.....
A. Acak
B. Dinamis
C. Berulang
D. Runtunan
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
D. Sama
E. Tiruan

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. 5000.-
Else If Non >5 then harga Rp. 4000,-
Else IF Non <= harga Rp. 4500,-
Else then harga Rp. 3.500,-

Pemrograman Dasar, Halaman 1 dari 11


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,-
D. Rp. 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
D. nilai 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
D. struktur 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
D. Percabangan 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.

Pemrograman Dasar, Halaman 2 dari 11


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: “);
D. printf (“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
D. Percabangan dengan kondisi diinputkan user
E. Perulangan dengan pencacah

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
D. Percabangan 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)
D. For (i=1;i<99;i--)
Output (“nilai”,i)
E. do i=100; while i<100;
i--;

Pemrograman Dasar, Halaman 3 dari 11


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
D. Perulangan 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
D. Perulangan dengan kondisi di akhir
E. Perulangan dengan kondisi di akhir diinputkan oleh user

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
D. Perulangan 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
D. Nilai pencacah > 0
E. Nilai pencacah < 0

Pemrograman Dasar, Halaman 4 dari 11


20. Pada perulangan dengan pencacah turun, perulangan akan terus berlanjut apabila.....
A. Nilai pencacah > 0
B. Nilai pencacah < 0
C. Nilai pencacah > banyaknya perulangan
D. Nilai 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
D. Break
E. Case break

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

Pemrograman Dasar, Halaman 5 dari 11


3
4
24. Pada perulangan dengan kondisi di akhir dapat diimplementasikan menggunakan
perintah…..
A. Continue
B. Do
C. Do while
D. Break
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<iostream.h>
#include<conio.h>
void main(){
int a;
for(a=1;a<=20;a+){
cout<<a;
cout<<" "; }
getch(); }
C. #include<iostream.h>
#include<conio.h>
void main(){
clrscr();
float b;
b=2;
do{
cout<<b<<endl;
b+=2; }
while(b<=20);
getch(); }
D. #include<iostream.h>
#include<conio.h>
void main(){
clrscr();
float b;
b=2;
do{
cout<<b<<endl;
b++=2; }
while(b<=20);
getch(); }
E. #include<iostream.h>
#include<conio.h>
void main(){
clrscr();
float b;
b=1;
do{
cout<<b<<" ";
b+=2;}

Pemrograman Dasar, Halaman 6 dari 11


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;
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

Pemrograman Dasar, Halaman 7 dari 11


C. Percabangan bersarang
D. Percabangan 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
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,-
D. Rp. 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
D. Kita definisikan ulang masalah yang diberikan

Pemrograman Dasar, Halaman 8 dari 11


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
D. Struktur 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<conio.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
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)
D. Mempunyai 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
D. Mengumpulkan 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},

Pemrograman Dasar, Halaman 9 dari 11


{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
D. 1,2,4
E. 3,4,5

38. Perhatikan program berikut :


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

int hasil;
hasil = X * X;
return hasil; }
int main (){
int Bil, HASIL;
cout<<”Masukkan sebuah bilangan bulat :”;
cin>>Bil;
HASIL = Kuadrat (Bil); parameter actual
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,
D. Parameter yang terdapat pada saat pemanggilan

Pemrograman Dasar, Halaman 10 dari 11


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
D. Perawatan 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.
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

Pemrograman Dasar, Halaman 11 dari 11

Anda mungkin juga menyukai