Anda di halaman 1dari 16

DOKUMEN NEGARA P1

SANGAT RAHASIA

LEMBAR SOAL

UJIAN SEKOLAH BERSTANDAR NASIONAL ( USBN )

TAHUN PELAJARAN 2018 / 2019

Mata Diklat : Pemrograman Dasar


Satuan Pendidikan : Sekolah Menengah Kejuruan (S M K)
Bidang Keahlian : Teknik komputer dan Informatika
Hari, Tanggal : Selasa, 9 April 2019
Alokasi Waktu : 120 Menit
Dimulai Pukul : 07.30 WITA
Diakhiri Pukul : 09.00 WITA
PEMERINTAH PROVINSI NUSA TENGGARA BARAT
DINAS PENDIDIKAN DAN KEBUDAYAAN
SMK NEGERI 1 KEDIRI
TAHUN PELAJARAN 2018 / 2019

PETUNJUK UMUM

1. Tulislah terlebih dahulu Nomor Peserta dan Nomor Kode Sekolah pada baris paling atas
(baris nomor 1) pada lembar jawaban yang disediakan.
2. Periksa dan bacalah soal-soal dengan seksama sebelum anda menjawabnya.
3. Kerjakan pada Lembar Jawaban yang disediakan dengan pulpen atau ballpen yang
bertinta hitam.
4. Laporkan kepada pengawas kalau terdapat tulisan yang kurang jelas, rusak atau jumlah
soal kurang.
5. Dahulukan menjawab soal-soal yang Anda anggap mudah.
6. Jumlah soal sebanyak 40 butir yang semuanya harus dijawab.
7. Penilaian diatur sebagaim berikut :
Untuk setiap butir soal soal , nilai 2,5 untuk jawaban benar. Nilai maksimum 40 x 2,5 =
100.
8. Untuk soal pilihan ganda, berilah tanda silang (X) pada salah satu huruf pada lembar
jawaban yang Anda anggap paling benar.
9. Pada soal pilihan ganda; apabila ada jawaban yang Anda anggap salah dan Anda ingin
memperbaikinya, coretlah dengan dua garis lurus mendatar pada lembar jawaban Anda
yang salah, kemudian beri tanda silang (X) pada huruf yang Anda anggap benar.
Contoh : Pilihan semula : a b c d e
Dibetulkan menjadi : a b c d e
10. Mintalah kertas buram kepada pengawas bila diperlukan.
11. Periksalah pekerjaan anda sebelum diserahkan kepada pengawas.

*SELAMAT BEKERJA*

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 1


A. PILIHAN GANDA

1. Untuk menyelesaikan masalah, algoritma membutuhkan spesifikasi input


(masukan) sesuai yang diperlukan, memprosesnya melalui serangkaian langkah-
langkah dan menghasilkan output sebagai solusi dari permasalahan. Penjelasan diatas
merupakan...
A. Judul Algoritma
B. Deklarasi Algoritma
C. Diskripsi Algoritma
D. Preparation Algoritma
E. Prosedur Algoritma

2. Variabel adalah suatu nama simbolik, bisa dinyatakan dengan alfabet (huruf) tunggal
atau rangkaian huruf dan angka atau simbol-simbol yang akan diberikan
informasi atau nilai tertentu. Berikut ini variabel – variabel yang tidak diperlukan
pada saat pembuatan KTP adalah …
A. Nama
B. NIK
C. Alamat
D. Tanggal Lahir
E. Umur

3. Pada saat penerimaan siswa baru panitia meminta kepada calon siswa baru untuk
menulis nama, alamat, Tempat Lahir, Nomor Hp dan Sekolah asal untuk di data.
Jenis tipe data yang digunakan pada kalimat yang bergaris bawah adalah …
A. Integer
B. String
C. Karakter
D. Bolean
E. Bilangan Real

4. Operator algoritma adalah simbol yang mewakili operasi tertentu, dengan adanya
operator algoritma kita bisa menentukan tipe data dari algoritma yang kita buat.
Operator algoritma yang digunakan untuk menetukan akar persamaan kuadrat adalah

A. Operator Aritmatika
B. Operator Relasional
C. Operator Boolean

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 2


D. Operator Prioritas
E. Operator String

5. Penyajian algoritma dengan pseudocode adalah menyajikan algoritma dengan


menggunakan bahasa yang mendekati bahasa pemrograman. Berikut ini yang bukan
merupakan kata kunci untuk menuliskan struktur-struktur yang digunakan dalam
penyajian algoritma dengan pseudocode adalah …
A. IF THEN
B. FOR EVERY
C. WHILE DO
D. REPEAT UNTIL
E. SWITCH OF

6. Perhatikan Gambar dibawah Flowchart dibawah ini :

Berdasarkan Gambar diatas, manakah simbol yang berfungsi sebagai perintah proses
pada Flowchart ?
A. 1
B. 2
C. 3
D. 4
E. 5

7. Dalam sebuah algoritma, langkah-langkah tidak boleh ambigu. Manakah di antara


langkah-langkah dalam sebuah algoritma berikut yang ambigu?
A. Masukkan satu gelas air putih.
B. Tuangkan adonan puding ke dalam cetakan.
C. Jika kue sudah matang, keluarkan kue dari oven.

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 3


D. Kukus adonan selama 20 menit.
E. Sajikan selagi panas.

8. Tipe data terstruktur adalah tipe data yang dapat digunakan untuk menampung lebih
dari satu tipe data dalam variabel sehingga mudah saling berhubungan dan dapat
disusun dalam satu struktur. Jika a= 27.8, tipe data yang digunakan adalah…
A. Integer
B. Char
C. Varchar
D. Float
E. Date

9. Algoritma : Jika A>B dan A>C maka A paling besar, Pseudocode algoritma tersebut
adalah ...
A. If (A<B;A>C) then write “A paling besar”
B. If (A>B;A<C) then write “A paling besar”
C. If (A>B;A>C) then write “A paling besar”
D. If (A<B;A<C) then write “A paling besar”
E. If (A=B;A>C) then write “A paling besar”

10. Perhatikan penggalan algoritma program dibawah ini :


If nilai >75 then
Write “Lulus”
Jika diberikan nilai = 80, maka hasilnya adalah …
A. Tidak Lulus
B. Lulus
C. Nilai 80
D. Nilai >75
E. Nilai diatas 75

11. Algoritma percabangan dapat digunakan untuk beberapa kasus permasalahan berikut,
kecuali ....
A. Menentukan kelulusan berdasarkan rata-rata.
B. Menghitung sewa mobil di sebuah rental yang menyediakan banyak pilihan.
C. Menentukan gaji berdasarkan golongan.
D. Menentukan rata-rata seluruh siswa dalam satu kelas.
E. Menentukan diagnosa penyakit.

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 4


12. Perhatikan Flowchart percabangan 1 kondisi dibwah ini :

Berdasarkan flowchart tersebut, Pseudocode yang di gunakan untuk mengisi perintah


pada simbol decision (percabangan) adalah...
A. if(nilai >70)then
ket <- "Lulus"
B. if(nilai =>70)then
ket <- "Lulus"
C. if(nilai +=>70)then
ket <- "Lulus"
D. if(nilai -->70)then
ket <- "Lulus"
E. if(nilai <70)then
ket <- "Lulus"

13. Jika <kondisi> bernilai benar maka pernyataan1 dikerjakan. Sedangkan jika tidak
(<kondisi> bernilai salah), maka pernyataan yang dikerjakan adalah pernyataan2.
Pernyataan tersebut adalah penjelasan dari percabangan...
A. 1 Kondisi
B. 2 Kondisi
C. Lebih dari 2 Kondisi
D. Percabangan Bersarang
E. Perulangan

14. Jika <kondisi1> dicek nilai kebenarannya. Jika benar, maka dikerjakan pernyataan1.
Jika salah, maka dicek nilai kebenaran <kondisi2>. Jika <kondisi2> benar, maka
dikerjakan pernyataan2. Jika tidak algoritma akan mengecek ke kondisi berikutnya

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 5


dengan cara yang sama dengan yang sebelumnya. Terakhir, jika semua kondisi
bernilai salah, maka pernyataan yang dikerjakan adalah Pernyataan (n+1). Pernyataan
diatas menrupakan penjelasan dari percabangan ...
A. 1 Kondisi
B. 2 Kondisi
C. Lebih dari 2 Kondisi
D. Percabangan Bersarang
E. Perulangan

15. Dalam struktur percabangan bersarang terdapat struktur perintah yang hanya dapat
digunakan untuk variabel dengan tipe data ordinal, atau tipe data yang dapat dihitung.
Pernyataan tersebut merupakan …
A. CASE OF
B. ARRAY
C. THEN
D. IF
E. ELSE

16. Algoritma perulangan adalah sebuah struktur untuk melakukan serangkaian proses
secara berulang-ulang. Didalam perulangan terdapat Penggunaan perintah WHILE DO
merupakan struktur perulangan dengan …
A. Kondisi di awal
B. Kondisi di akhir
C. 1 kondisi
D. 2 kondisi
E. Lebih dari 2 kondisi

17. Algoritma perulangan adalah sebuah struktur untuk melakukan serangkaian proses
secara berulang-ulang. Didalam perulangan terdapat Penggunaan kata kunci REPEAT
UNTIL adalah struktur perulangan dengan ....
A. Kondisi di awal
B. Kondisi di akhir
C. 1 kondisi
D. 2 kondisi
E. Lebih dari 2 kondisi

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 6


18. Algoritma perulangan dengan kondisi diinputkan oleh pengguna artinya bahwa
proses perulangan akan berhenti berdasarkan input dari user. Berikut ini yang bukan
mengenai perulangan dengan kondisi akhir diinputkan pengguna adalah ....
A. Kondisi dapat di awal atau di akhir perulangan.
B. Inputan pengguna sebagai sentinel dapat diberikan sebelum perulangan.
C. Inputan pengguna sebagai sentinel dapat diberikan setelah perulangan.
D. Dapat menggunakan REPEAT UNTIL.
E. Inputan pengguna sebagai sentinel dapat diberikan di dalam perulangan.

19. Algoritma perulangan dengan pencacah naik adalah algoritma perulangan dengan
variabel pencacah di mana serangkain proses di lakukan seiring dengan proses
bertambahnya pencacah dari nilai awal tertentu, berturutan sampai nilai akhir.
Berdasarkan pernyataan diatas, yang merupakan syarat tipe data variabel pencacah
adalah ....
A. Dapat dihitung
B. Tipe data apa saja
C. Harus integer
D. Bilangan real
E. Karakter

20. Algoritma perulangan dengan pencacah turun adalah algoritma perulangan dengan
variabel pencacah di mana serangkain proses di lakukan seiring dengan proses
berkurangnya pencacah dari nilai awal tertentu, berturutan sampai nilai akhir. Berikut
ini yang bukan merupakan algoritma perulangan dengan pencacah turun adalah …
A. Dapat dikonversikan dalam bentuk WHILE DO
B. Dapat menggunakan variabel bertipe data karakter sebagai pencacah
C. Banyaknya iterasi sudah ditentukan
D. Tidak dapat diubah dalam bentuk pencacah naik
E. Dapat digunakan sebagai algoritma untuk menentukan baris bilangan

21. Perhatikan algoritma berikut ini :


Algoritma
1) READ nama
2) READ OmsetJual
3) READ GajiPokok
4) Bonus =0
5) IF (OmsetJual)>100 THEN
6) Bonus = 1% x OmsetJual

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 7


7) TotalGaji=GajiPokok + Bonus
8) WRITE TotalGaji
Jika Omset Jual adalah 100 maka ....
A. TotalGaji > GajiPokok
B. TotalGaji < GajiPokok
C. TotalGaji = GajiPokok
D. TotalGaji = 1%xOmsetJual
E. TotalGaji > 1% x OmsetJual

22. Perhatikan algoritma berikut ini :


Variabel i, a n : integer
1) n = 10
2) a=2
3) i=1
4) WHILE a <= 3n DO
5) a = a+4
6) WRITE a
7) END
Output dari algoritma di atas adalah ....
A. 28
B. 29
C. 30
D. 31
E. 32

23. Perhatikan algoritma berikut ini :


Variabel i, a n : integer
1) n = 10
2) a=2
3) i=1
4) WHILE a <= 3n DO
5) a = a+4
6) WRITE a
7) END
Jika nilai n dan a diganti dengan nilai berturut-turut adalah 5 dan 20 maka output
algoritma di atas adalah ...
A. 20
B. 24

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 8


C. 28
D. 32
E. 36

24. Perhatikan Algoritma Perulangan Akhir berikut ini :


Variabel i, a, n : integer
1) i=1
2) a=5
3) n = 30
4) REPEAT
5) a = a+i*i
6) i=i+1
7) UNTIL a>n
8) WRITE a
9) END
Keluaran dari algoritma diatas adalah …
A. 19
B. 26
C. 35
D. 36
E. 40

25. Perhatikan Algoritma ganjil Genap berikut ini :


Variabel n : integer
Pilihan : karakter
1) REPEAT
2) READ n
3) IF (n MOD 2 == 0) THEN
4) WRITE “Genap”
5) ELSE
6) WRITE “Ganjil”
7) WRITE “Ingin menghitung lagi? y/n”
8) READ pilihan
9) UNTIL (pilihan == “n”)
10) END
Pernyataan yang benar mengenai algoritma di atas adalah...
A. Input pengertian perulangan itu sendiri.
B. Pengguna dapat menentukan bilangan ganjil genap sebanyak yang dia mau

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 9


C. Pengguna dapat berhenti jika dia tidak mengetikan karakter „y‟
D. Iteratornya adalah variabel pilihan
E. Algoritma di atas dapat diubah dalam struktur WHILE DO

26. Perhatikan Algoritma Hitung Ulang


Varabel a, i : integer
1) a=0
2) FOR i = 1 To 100
3) IF (i mod 5 == 0)THEN
4) WRITE i
5) a = a+1
6) WRITE a
7) END
Berdasarkan algoritma diatas, Nilai akhir a adalah ....
A. 0
B. 25
C. 50
D. 100
E. 120

27. Perhatikan Algoritma Hitung Mundur berikut ini :


Variabel i, j : integer
1) FOR i = 10 DOWNTO 0 DO
2) WRITE “*”
3) END
Berdasarkan algoritma di atas berapa banyak bintang yang tercetak ?
A. 6
B. 7
C. 8
D. 9
E. 10

28. Dalam suatu percabangan diberikan :


IF (NILAI > 80) THEN
WRITE “Hebat”
ELSE
WRITE “Good”
Interval nilai yang akan menghasilkan output “Good” adalah …

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 10


A. Nilai>= 0
B. Nilai >70
C. Nilai <= 80
D. Nilai <=70
E. Nilai < 80

29. Perhatikan algoritma berikut ini :


1) READ nama
2) READ OmsetJual
3) READ GajiPokok
4) Bonus =0
5) IF (OmsetJual)>100 THEN
6) Bonus = 1% x OmsetJual
7) TotalGaji=GajiPokok + Bonus
8) WRITE TotalGaji
Penjelasan yang tidak sesuai dengan algoitma di atas adalah.....
A. Nilai awal bonus adalah 0
B. Bonus diberikan jika omset jual 100
C. Bonus adalah 1% dari omset jual
D. Bonus diberikan jika omset jual lebih dari 100
E. Total gaji adalah gaji pokok ditambah dengan bonus

30. Dalam proses pembuatan kode komputer ada beberapa yang harus diperhatikan
terutama dalam penyusunan kode program yang dikembangkan. Urutan proses yang
benar dalam Flowchart adalah …
A. Start  Read  Proses  Output  Stop
B. Head  Input  Proses  Output  End
C. Input  Loading  Proses  Output  Stop
D. Start  Read  Proses  Write  Stop
E. Head  Read  Loading  Write  End

31. Perhatikan algoritma program berikut ini :


#include <iostream>
using namespace std;
int main () {
int x = 3.05;
cout << “Nilai x adalah ” << x << endl;
return 0 }

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 11


Kode program yang digaris bawahi terjadi error, seharusnya tipe data yang digunakan
adalah ...
A. Char
B. Long int
C. Short int
D. Signed long int
E. Float

32. Sekumpulan data yang bertipe sama dantara data satu dengan data yang lain
dibedakan dengan indeksnya merupakan pengertian dari ....
A. Integer
B. Array
C. Variabel
D. Char
E. Booelan

33. Array yang terdiri dari m buah baris (row) dan n buah kolom (column) adalah ….
A. Array satu dimensi
B. Variabel
C. Integer
D. Array dua dimensi
E. Array multidimensi

34. Perhatikan Penggunaan array 1 dimensi berikut


Int array [10] = {2,5,4,8,1,3,7,9,10,21}
Nilai array pada indeks 5 adalah ...
A. 2
B. 3
C. 4
D. 5
E. 6

35. Perhatikan Penggunaan array multidimensi berikut :


$ibukota = array;
( array (“Jakarta”,”Indonesia”), array (“London”,”Inggris”));
Jika output adalah “Indonesia”, maka indeks array yang dipilih adalah …
A. [0][0]
B. [0][1]

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 12


C. [1][0]
D. [1][1]
E. [1][2]

36. Perhatikan tabel pengelompokkan data berdimensi dari kumpulan informasi berikut :
Nilai data kelas baris kedua kolom keempat pada data berikut adalah....
Bulan ke Kelas A Kelas B Kelas C Kelas D
1 50 48 64 44
2 54 51 66 44
3 53 51 64 43

A. 44
B. 51
C. 54
D. 64
E. 66

37. Sub program yang berguna untuk membentuk program menjadi modul-modul
sehingga lebih sederhana, mudah dipahami dan dapat digunakan berulang kali adalah
pengertian dari ...
A. Fungsi
B. Variabel
C. String
D. Void
E. Parameter

38. 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;
}
tipe_data nama_fungsi (parameter){
Pernyataan_yang_akan_dilakukan;
……………

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 13


return nilai_kembali;
}
B. int main () {
int Bilangan, HASIL;
cout<<"Masukkan Bilangan Bulat : "<<endl;
cin>>Bilangan;
HASIL = BertambahSatu (Bilangan);
cout<<"Nilai keluaran : "<<HASIL;
return 0;
}
C. void nama_fungsi (parameter)
{
Pernyataan_yang_akan_dilakukan;
……………
D. tipe_data nama_fungsi (parameter){
Pernyataan_yang_akan_dilakukan;
……………
return nilai_kembali;
}
E. void nama_fungsi (parameter)
{
Pernyataan_yang_akan_dilakukan;
……………
}

39. Perhatikan penggunaan fungsi dalam kode program berikut :


#include <iostream.h>
#include <conio.h>
void main(){
Cout<<”Hello My Girls !”;
Getch();
}
Dari program diatas, manakah yang termasuk fungsi ...
A. void main ()
B. Hello My Girls !
C. getch
D. #include <iostream.h>
E. #include <conio.h>

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 14


40. Perhatikan program berikut ini :
#include <iostream>
Using namespace std;
Int main{
Int x, y, z = 30;
Cout << x << endl;
Cout << y << endl;
Cout << z << endl;
Return 0
}
Bagian yang digaris bawahi berfungsi untuk ...
A. Memberi nilai x, y, z dengan nilai 20
B. Membuat variabel global
C. Membuat Variabel sederhana
D. Memberi nilai 30 pada z saja
E. Memberi nilai y = 20

UTM - PEMROGRAMAN DASAR - K13 - SMKN 1 Kediri 15

Anda mungkin juga menyukai