Anda di halaman 1dari 13

PEMERINTAH PROVINSI JAWA TENGAH

DINAS PENDIDIKAN DAN KEBUDAYAAN


MKKS SMK KOTA SEMARANG
Sekretariat : SMK Negeri 5 Semarang, Jalan Dr. Cipto No.121, Kota Semarang,
Kode Pos 50124, Telepon 024-8416335

LEMBAR SOAL UJIAN SEKOLAH BERSTANDAR NASIONAL


UTAMA SMK KOTA SEMARANG
TAHUN PELAJARAN 2017 / 2018

Kompetensi Keahlian : Teknik Komputer dan Jaringan Hari : Rabu


Mata Pelajaran : Pemrograman Dasar Tanggal : 11 April 2018
Kelas / Semester : XII / 2 Waktu : 07.30 – 09.30

Petunjuk
1. Soal ujian berupa soal obyektif sebanyak 40 butir soal, dengan 5 opsi jawaban pada setiap soal.
2. Pilihlah satu jawaban yang paling tepat dengan memberi tanda silang (X) pada huruf A, B, C, D atau
E pada lembar jawab yang tersedia.
3. Pembetulan jawaban hanya diperkenankan sebanyak 1 (satu) kali dengan cara membubuhkan tanda
berikut ( X ) pada jawaban yang dikehendaki.
4. Bekerjalah dengan teliti dan cermat.
5. Bertanyalah pada Pengawas Ulangan jika terdapat soal yang kurang lengkap.
6. Teliti kembali hasil pekerjaan Anda sebelum dikumpulkan kepada Pengawas Ulangan.
7. Dilarang menggunakan alat hitung dalam bentuk elektronik (kalkulator, HP, laptop, dan sebagainya)
dan atau manual (mistar hitung, buku, tabel, chart, kamus, dictionary, dan lain-lain) selama
mengikuti ulangan.
8. Selamat menempuh ujian, sukses beserta kita !

1. Tokoh matematika yang biasa dijuluki “Bapak Algoritma” adalah ….


A. Blaise Pascal
B. Al Khawarizmi
C. George Babbage
D. Mark Zuckerberg
E. Mark Twain

2. Pemrograman dalam teknologi informasi memiliki pelbagai bidang. Berikut yang tidak
termasuk bidang pemrogaman adalah pemrograman
A. sistem operasi
B. desain grafis
C. web
D. basis data
E. game

3. Structured Query Language adalah bahasa pemrograman untuk


A. web
B. domain
C. basis data
D. sistem operasi
E. routing
4. Operator relasional (perbandingan) yang digunakan untuk mencari nilai tidak sama dengan yaitu ...
A. !=
B. <=
C. >=
D. <
E. >

5. Berikut yang merupakan perintah keluaran adalah ….


A. input
B. get
C. print
D. switch
E. case

6. Dalam flowchart, simbol yang digunakan untuk percabangan adalah ...


A.
Terminator
B.
Belah ketupat
C.
Jajaran genjang
D.
Trapesium
E.
Persegi panjang

7. Perhatikan algoritma percabangan dengan pseudocode


berikut: Judul : Algoritma Membandingkan dua buah nilai
Kamus :
A, B: integer
Algoritma :
input (A,B) if
(A>B) then
output(“Bilangan terbesar A”)
else
if (A<B) then output(“Bilangan
terbesar B”)
else
Output(“Bilangan A dan B sama”)
endif
endif
Jika A diisi dengan nilai 25 dan B diisi dengan nilai 10 maka outputnya adalah ...
A. Bilangan terbesar B
B. Bilangan terbesar A
C. Bilangan A dan B sama
D. Bilangan terkecil A
E. Bilangan terkecil B

8.

Tampilan program di atas menggunakan komponen ….


A. toolbar
B. menubar
C. combobox
D. textfield
E. textarea

9. Perhatikan struktur percabangan


berikut : if (x > 0)
cout << "x is positive";
else if (x < 0)
cout << "x is
negative"; else
cout << "x is 0";
Jika variabel x diisi dengan nilai 15 maka outpunya adalah ...
A. x is positive
B. x is negative
C. x is 0
D. Tidak ada output
E. x is 15

10.

Komponen program grafis di atas disebut ….


A. radio button
B. button
C. toggle button
D. list
E. chek box
11. Perhatikan algoritma perulangan berikut :
Judul : Algoritma Deret Bilangan
KAMUS:
jml, a : integer
ALGORITMA:

jml 0
 
For (a 1; a <= 5; a a + 1)

jml jml + a
EndFor
output(jml)
Apakah output yang akan tampil ...
A. 1,2,3,4,5,6,7,8,9,10
B. 1,2,3,4,5,6,7
C. 1,2,3,4,5
D. 1,2,3
E. 1,2

12. Setiap objek dalam Object Oriented Programming memiliki dua komponen yaitu ….
A. input dan output
B. text dan grafis
C. desain dan koding
D. page dan insert
E. properties dan method

13. Hubungan class dan objek pada Object Oriented Programmig adalah ….
A. class identik dengan objek
B. class adalah turunan objek
C. objek adalah turunan class
D. objek adalah cetak biru dari class
E. class adalah cetak biru dari objek

14. Untuk membentuk sebuah objek (instansiasi) umumnya digunakan keyword ….


A. view
B. review
C. special
D. new
E. section

15. Jawaban manakah yang tepat untuk algoritma seperti berikut :


Susun algoritma untuk menampilkan angka 1 sampai dengan100 secara menaik

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=1;
while i<100;
i--;
Output (“nilai”,i)

16. Aplikasi-aplikasi berikut yang bukan editor IDE bahasa pemrograman Java adalah ….
A. Delphi
B. BlueJ
C. Netbeans
D. Eclipse
E. JBuilder

17. Manakah penulisan deklarasi array berikut ini yang benar ...
A. [50]skor int;
B. [50]int skor;
C. ikor int[50];
D. int 50[skor];
E. int skor[50];

18. Sebelum digunakan baris-baris program diperiksa dan dilengkapi agar dapat dimengerti
komputer. Proses pemeriksaan dan pelengkapan ini disebut ….
A. compile
B. refactor
C. instantiation
D. new object
E. messaging

19. Penjelasan dari deklarasi fungsi berikut : double maks (double x, double y) yang paling
tepat adalah ...
A. fungsi maks( ) mempunyai sebuah argumen bertipe double.
B. fungsi mak( ) mempunyai dua buah argumen, dengan masing-masing argumen bertipe long.
C. fungsi maks( ) mempunyai dua buah argumen, dengan masing-masing argumen bertipe
double.
D. fungsi maks( ) mempunyai tiga buah argumen, dengan masing-masing argumen bertipe int.
E. semua jawaban benar
20. Pada penulisan program, tak jarang programmer menuliskan comment. Comment
pada pemrograman dapat didefiniskan sebagai ….
A. tulisan pada baris-baris program yang tidak dieksekusi oleh aplikasi
B. tulisan pada baris-baris program yang dieksekusi oleh aplikasi
C. tulisan yang ditandai dengan sintaks sifat program seperti public, private
D. tulisan yang paling awal dieksekusi oleh apikasi
E. tulisan instruksi untuk melaksanakan fungsi

21. Bilangan bulat pada bahasa Java, sebaiknya menggunakan variabel


A. Double
B. Word
C. Integer
D. Float
E. Double

22. Potongan sebuah program disajikan


berikut int a=5;
int b=7;
int c=a+b
Pada program tersebut a,b,dan c disebut ….
A. faktor
B. instruksi
C. proses
D. variabel
E. fungsi

23. Perhatikan potongan instruksi dalam Basic 256


berikut angka1=1
angka2=22
angka3=333
angka4=4444
print angka1;
print angka2;
print angka3;
print angka4;
Hasil yang disajikan adalah
A. 1
22
333
4444
B. 122
333
444
C. 122
3334444
D. 122333
4444
E. 1223334444

24. Lampu lalu lintas mengatur pemakai lalu lintas, dengan menyalakan lampu merah untuk berhenti,
lampu hijau untuk berjalan dan lampu kuning untuk persiapan. Prosedur paling tepat untuk
keadaan ini adalah ….
A. switch to
B. if then
C. on goto
D. case of
E. while do

25.

Perhatikan kode program di atas, manakah hasil yang tepat jika kita memasukkan angka 4
sebagai nilai suku
A. 0
1
1
2

B. 2
1
1
0

C. 1
1
2
3

D. 0
1
1
4
E. 0
1
2
3

26. Instruksi Gosub menginstruksikan program utama mengakses subprogram. Apabila


subprogram selesai bekerja, alur program dikembalikan ke program utama. Instruksi yang
diberikan pada subprogram adalah ….
A. back
B. set
C. else
D. return
E. select

27. Penulisan pemanggilan fungsi dalam Bahasa Java yang tepat adalah ….
A. @stemba
B. //stemba
C. stemba()
D. /*stemba*/
E. stemba{}

28. Sebuah akun email dapat diakses apabila username dan password untuk akun tersebut sesuai dengan
database pengguna. Prosedur pemrograman yang tepat digunakan untuk kondisi ini adalah
….
A. OR
B. AND
C. NOT
D. NOR
E. NAND

29. Sebuah sistem server dapat diakses apabila hanya pin atau hanya keyword saja yang sesuai dengan
database pengguna. Prosedur pemrograman yang tepat digunakan untuk kondisi ini adalah ….
A. NOT
B. NOR
C. NAND
D. EXOR
E. EXNOR

30. Sebuah akun email dapat diakses apabila username dan password untuk akun tersebut
sesuai dengan database pengguna. Potongan prosedur pemrograman sebagai berikut :
user$=”joesti”
input “nama pengguna = “,nama$
if nama$ ……… user$ then print
“login Anda salah”
….….
Koding pada baris ke-3 dilengkapi dengan instruksi
A. =
B. >
C. <
D. !=
E. <>

31. Sebuah akun email dapat diakses apabila username dan password untuk akun tersebut
sesuai dengan database pengguna. Potongan kode program sebagai berikut :
user$=”joesti”
pass$=”stemba”
input “nama pengguna = “,nama$
input “password = “,sandi$
if ……………… then
print “Selamat
Datang,”+nama else
print “Maaf, Anda dilarang
mengakses” endif
Koding pada baris ke-5 dilengkapi dengan instruksi
A. user$ =nama$ and pass$=sandi$
B. user$ =nama$ or pass$=sandi$
C. user$ =nama$ not pass$=sandi$
D. user$ =nama$ xor pass$=sandi$
E. user$ >>nama$ and pass$>>sandi$
32. Siswa kelas XII TKJ melaksanakan pemasan jelang pelajaran olah raga. Mereka
berlari mengelilingi lapangan sepakbola sebanyak tiga kali putaran.
Prosedur perulangan yang tepat untuk kegiatan ini adalah ….
A. if then
B. for next
C. do until
D. while do
E. case of

33. “Ikhlash, tolong tengok tempat minum sapi di kandang”, kata Bunda
“Bila tak penuh, ambil air dari sumur sebelah kandang. Isi sampai penuh, ya” lanjut
Bunda “Ya, Bunda”, jawab Ikhlash
Prosedur pemrograman paling tepat untuk kegiatan Ikhlash nanti adalah ….
A. for next
B. do until
C. while do
D. case of
E. repeat do

34. Jemparingan adalah sebuah kompetisi memanah tradisional warisan kerajaan Mataram. Pada
even ini setiap pemanah harus berbusana adat Jawa Mataram. Masing-masing diberi tiga anak
panah untuk memanah sasaran berupa bandul putih dengan warna merah di atasnya yang
digantung dengan tali sebagai sasaran tembaknya. Ada bunyi lonceng yang menandai jika anak
panah itu tertancap pada bandul tersebut. Lomba dinyatakan usai bila sasaran terkena anak panah
yang dilesatkan dari jarak 30 meter.
Prosedur paling tepat untuk menggambarkan kegiatan tersebut adalah ….
A. if then
B. for next
C. do until
D. while do
E. case of

35. Variabel-variaberl berikut yang menunjukkan variabel array adalah ….


A. stemba(7)
B. stemba{7}
C. stemba#7
D. stemba[7]
E. stemba@7

36. Hasil yang disajikan kode program berikut adalah


#array
dim a(5)
a[0]=100
a[1]=75
a[2]=a[0]-a[1]
a[3]=a[0]+a[1]
print "a[4]= "+a[4]
A. 175
B. 100
C. 75
D. 25
E. 0

37. Diketahui operasi matriks sebagai berikut :


a b  p r t ap  bq ar  bs at  bu
A  , B , C  A B   
c d
  q s u cp  dq cr  ds ct  du
Prosedur awal pemrograman untuk menyelesaikan matriks tersebut adalah ….
A. dim A(2,2)
dim B(3,2)
dim C(3,2)
B. dim A(2,2)
dim B(2,3)
dim C(3,2)
C. dim A(2,2)
dim B(2,3)
dim C(2,3)
D. dim A(2,2)
dim B(3,2)
dim C(3,3)
E. dim A(2,3)
dim B(3,2)
dim C(3,2)

38. Hasil yang disajikan program berikut adalah


…. dim a(3)
a[0]=10
a[1]=15
a[2]=a[0]
a[0]=a[1]
print a[0]
print a[1]
print a[2]
A. 10
15
15
B. 10
10
15
C. 10
10
10
D. 15
10
10
E. 15
15
10

39. Hasil yang disajikan program berikut


adalah dim a$(4)
a$[0]='merah'
a$[1]='kuning'
a$[2]='hijau'
a$[3]=a$[1]
a$[0]=a$[2]
print a$[0]
print a$[1]
print a$[2]
print a$[3]
A. hijau
kuning
hijau
kuning
B. merah
kuning
hijau
hijau
C. hijau
kuning
merah
kuning
D. kuning
hijau
merah
kuning
E. kuning
hijau
kuning
hijau

40. Jawaban manakah yang tepat untuk algoritma seperti berikut :


Susun algoritma untuk menampilkan angka 9 sampai dengan 1 dengan cara menurun dengan
selisih tiap tingkatnya 0.5
A. A. For (f=10;f>=0;f-=0,5)
Output (“nilai”,f)
B. B. For (f=10;f<=0;f-=2)
Output (“nilai”,f)
C. C. For (f=10;f>=0;f-=1)
Output (“nilai”,f)
D. D. For (f=10;f<0;f-=1)
Output (“nilai”,f)
E. E. For (f=9;f>=0;f-=0,5)
Output (“nilai”,f)