PEMERINTAH PROVINSI JAWA TENGAH DINAS PENDIDIKAN DAN KEBUDAYAAN SEKOLAH MENENGAH KEJURUAN NEGERI 7 SEMARANG Jalan Simpang Lima, Kota Semarang Kode Pos 50241 Telepon 024-8311532 Faksimile 024-8447649 Surat Elektronik [email protected] UJIAN SEKOLAH BERSTANDAR NASIONAL (USBN) SEKOLAH MENENGAH KEJURUAN TAHUN PELAJARAN 2018/2019 DOKUMEN NEGARA SANGAT RAHASIA LEMBAR SOAL Mata Pelajaran Kelas/Program Hari/Tanggal Waktu : Pemrograman Dasar : Teknik Komputer dan Jaringan : Selasa / 9 April 2019 : 120 menit KURIKULUM 2013 SOAL UTAMA Petunjuk Umum : 1. Tulislah terlebih dahulu Nomor Peserta dan Identitas Anda pada lembar jawaban yang disediakan sesuai petunjuk yang diberikan oleh Pengawas menggunakan pena/ballpoint. 2. Untuk menjawab Soal Pilihan Ganda, gunakan pena/ballpoint untuk menyilang pada huruf A, B, C, D atau E pada lembar jawaban yang telah disediakan. 3. Untuk menjawab Soal Uraian, gunakan pena/ballpoint dalam menuliskan jawaban pada lembar jawaban yang telah disediakan. 4. Selama pelaksanaan USBN tidak diperkenankan bertanya atau minta penjelasan mengenai jawaban soal yang diujikan kepada siapapun termasuk kepada Pengawas. 5. Dilarang menggunakan kalkulator, HP, Kamus dan alat bantu lain dalam menjawab soal USBN 6. Periksaa dan bacalah soal-soal dengan teliti sebelum Anda menjawabnya. 7. Laporkan kepada Pengawas bila terdapat tulisan yang kurang jelas, rusak atau jumlah soal kurang. 8. Jumlah soal sebanyak 40 butir, terdiri dari : Soal Pilihan Ganda 40 butir, yaitu nomor 1 – 40 9. Dahulukan mengerjakan soal-soal yang Anda anggap mudah. 10. Unggah Hasil Pekerjaan ke alamat situs yang di sediakan Panitia. 11. Periksa pekerjaan Anda sebelum diserahkan kepada Pengawas dan ke luar ruangan. Petunjuk Khusus : Soal Pilihan Ganda 1. Pilihlah salah satu jawaban yang paling tepat dengan memberi tanda silang (X) pada salah satu pilihan jawaban A, B, C, D, E pada lembar jawaban yang disediakan. 2. Apabila ada jawaban yang Anda anggap salah, dan Anda ingin memperbaikinya, tidak diperbolehkan menggunakan correction pen (tipe-x) atau penghapus, melainkan dengan cara seperti di bawah ini : Semula : A B C D E Dibetulkan menjadi : A B C D E SELAMAT BEKERJA Pemrograman dasar 2019 1 Perhatikan urutan berikut : 1. Aku membungkus paket 2. Aku menuliskan alamat pengirim dan penerima di sampul 3. Paket siap dikirim 4. Aku menyerahkan paket ke petugas 5. Aku pergi ke kantor pos Urutan paling tepat untuk kegiatan mengirim paket adalah : A. 1-2-3-4-5 B. 1-2-5-4-3 C. 1-5-3-4-2 D. 1-3-2-4-5 E. 1-5-4-3-2 2 Perhatikan kode program berikut # belajar program a= 17 b= 27 c=a+b print (a) print (b) print (c) pada program di atas a,b,c digolongkan sebagai … dalam pemrograman A. head B. body C. variabel D. operator E. comment 3 Kode program berikut yang menunjukkan struktur pengulangan dengan kondisi di akhir adalah… int num=0; A. B. C. D. E. 4 count 0:5 { writeln (num) } int num=0; for (int i=0;i<5;i++){ cout<<num; } int num=0; while (num<5{ cout<<num; num++ } int num=0; cout<<num; for(int i=0;i<5;i++){ cout<<num } int num=0; do { cout<<num; num++; } while (num<5) Ikhlash membantu pekerjaan rumah tangga. Dia menjaga ketersediaan air di kamar mandi. Setiap pagi dan sore Ikhlash menimba air dari sumur dan mengisikannya ke bak kamar mandi hingga penuh. Kegiatan yang dilakukan Ikhlash mengisi bak air merupakan contoh algoritma …. A. penugasan B. perulangan C. perbandingan D. logika E. Relasi 5 Angga akan menghitung luas segitiga siku-siku yang diketahui alas dan tingginya. Pseudocode yang paling tepat untuk menyelesaikan kasus tersebut adalah…. A. B. C. D. E. 6 SImbol flowchart berikut adalah melambangkan kegiatan ,,, dalam pemrogaman A. B. C. D. E. 7 Start Proses Percabangan Perulangan Perhitungan Perhatikan kode program Java berikut Jika variabel warna diganti menjadi “kuning”, baris program yang dijalankan setelah baris ke-4 adalah… A. B. C. D. E. 8 Baris Baris Baris Baris Baris ke-5 ke-7 ke-9 ke-10 ke-13 Perhatikan potongan program berikut nama$="joesti" angka = 60 if nilai>70 then print "Selamat"+nama+"dinyatakan Lulus" else print “Maaf”+nama$+”Anda dinyatakan gagal” endif Hasil eksekusi program adalah …. A. Selamat dinyatakan lulus B. Maaf joesti Anda dinyatakan gagal C. Selamat joesti dinyatakan lulus D. Maaf Anda dinyatakan gagal E. error 9 Hasil dari potongan kode program berikut adalah ….. a=20 b=10 c=15 if a>b then z=a else z=b endif if c>z then z=c else z=z print z endif A. B. C. D. E. 5 10 15 20 25 10 Perhatikan tabel berikut Nilai Predikat 91 – 100 A 81 – 90 B 71 – 80 C Alur logika yang dapat digunakan untuk tabel di atas adalah if nilai > 90 then A. predikat =”A” else if nilai>80 then predikat =”B” else predikat=C” B. if nilai > 91 then predikat =”A” else if nilai>81 then predikat =”B” else predikat=C” C. if nilai = 90 then predikat =”A” else if nilai=80 then predikat =”B” else predikat=C” D. if nilai < 91 then predikat =”A” else if nilai<81 then predikat =”B” else predikat=C” E. if nilai < 90 then predikat =”A” else if nilai<80 then predikat =”B” else predikat=C” 11 Perhatikan potongan program berikut ulang=2 for i = 0 to ulang print(i) Hasil eksekusi program adalah …. A. 0 1 2 B. 1 2 3 C. 0 1 D. 3 E. 0 12 Instruksi for dalam Bahasa Basic 256 digunakan untuk …. A. logika B. perulangan C. percabangan D. aritmatika E. simpanan 13 Sebuah sistem komputer memberi kesempatan tiga kali kepada pengguna untuk mencoba akses. Akses akan diberikan bila username dan password yang dimasukkan sesuai dengan database. Dalam field username bernama userdb dan password bernama passdb, maka instruksi logika untuk mengakses adalah …. username=userdb or password=passdb A. username=userdb and password=passdb B. username=userdb not password=passdb C. username=passdb or password=userdb D. username=passdb and password=userdb E. 14 Anda membutuhkan bilangan genap positif di bawah angka 11. Instruksi Basic 256 yang digunakan adalah for i = 0 to 11 A. for i = 1 to 11 B. for i = 2 to 11 C. for i = 2 to 11 step 2 D. for i = 1 to 11 step 2 E. 15 Sebuah instruksi menghasilkan tampilan 10,9,8,7,6,5,4,3,2,1. Instruksi yang digunakan adalah …. for i = 10 to 1 A. for i = 10 to 0 B. for i = 10 to 1 step 1 C. for i = 10 to 1 step -1 D. for i = 10 to 0 step -1 E. 16 Di setiap kemasan mie instan senantiasa diberikan petunjuk cara memasak. Dalam pemrograman petunjuk cara memasak mie instan setara dengan kegiatan …. A. Berurutan B. Menyimpan C. Bercabang D. Perulangan E. Perhitungan 17 Yustin ingin menghitung volum silinder, ia hanya memiliki nilai diameter dan tinggi dari silinder tersebut. Fungsi yang sesuai untuk membantu Yustin adalah, kecuali…. A. B. C. D. E. 18 Contoh penggunaan array beberapa kolom dan baris adalah pada pekerjaan …. A. login sistem B. perhitungan jumlah data C. perhitungan pencacah D. perhitungan matriks E. perhitungan laba 19 Untuk memudahkan pengerjaan program, dapat digunakan aturan program utama memanggil sebuah program kecil untuk bekerja. Setelah program kecil selesai bekerja, hasil dikirimkan ke program utama. Program kecil ini biasa disebut …. A. fungsi B. head C. title D. body E. count 20 Dalam Basic 256, manakah pernyataan berikut yang menunjukkan sebuah fungsi? A. Fungsi; B. Fungsi{} C. Fungsi() D. Fungsi: E. Fungsi[] 21 Perhatikan flowchart berikut Pernyataan yang tepat mengenai flowchart di atas adalah… A. Jika input = 0, output=0 B. Jika input = 6, output=6 C. Jika input = 1, output=1 D. Jika input = 8, output=2 E. Jika input = 0, output=0 22 Sebuah gerbang OR dengan dua masukan (A dan B) dapat dituliskan dengan bahasa kode …. A. if A=0 or B=0 then keluaran=1 B. if A=0 or B=0 then keluaran=0 C. if A=1 or B=1 then keluaran=1 D. if A=0 and B=0 then keluaran=1 E. if A=1 and B=0 then keluaran=0 23 Perbedaan variabel angka$ dan variabel angka adalah … A. variabel angka$ tidak dapat dipakai perhitungan dan variabel angka tidak dapat dipakai perhitungan B. variabel angka$ tidak dapat dipakai perhitungan dan variabel angka dapat dipakai perhitungan C. variabel angka$ dapat dipakai perhitungan dan variabel angka tidak dapat dipakai perhitungan D. variabel angka$ dapat dipakai perhitungan dan variabel angka dapat dipakai perhitungan E. variabel angka$ untuk bilangan dan variabel angka untuk string 24 Pasangan instruksi berikut yang tidak tergolong alur kondisi/percabangan adalah A. if then B. if then else C. switch case D. case endcase E. do until 25 Output yang diharapkan dari kode progam berikut adalah menampilkan kalimat “Welcome to My World” sebanyak 1 kali; Struktur kontrol yang sesuai untuk menghasilkan output yang diharapkan adalah…. A. B. C. D. E. 26 Keluaran dari kode program berikut adalah…. A. B. C. D. E. Can drive Can not Drive Thank you Can drive Thank You Can not Drive Thank You 27 Perhatikan penulisan program berikut x= y= z= if 20 10 30 a>b: maks=a else: maks=b if c>maks: maks=c else: maks=maks print (maks) Hasil yang disajikan program di atas adalah …. A. 30 B. 20 C. 10 D. 0 E. error 28 Perhatikan penulisan program berikut ulang=7 for i = 1 to ulang if i>3 then print "stemba" endif next i Tulisan “Stemba Jaya”tertulis sebanyak … kali A. 7 B. 6 C. 5 D. 4 E. 3 29 Perhatikan penulisan program berikut input "masukkan angka",batas i = 1 while i<batas print i i = i+1 endwhile Agar program menghasilkan angka 1,2,3,4,5,6,7,8,9,10. User harus memberikan masukan …. A. 10 B. 11 C. 12 D. 13 E. 14 30 Jika x adalah batas awal dan z adalah batas akhir sebuah perulangan, penulisan kode Basic yang tepat adalah …. for i = z to z A. for i = x to x B. for I = z to z C. for z = i to x D. for x = I to z E. 31 Sebuah aplikasi menhendaki tulisan “Merdeka” tampil sebanyak permintaan pengguna. Kode yang paling tepat digunakan adalah … A. input “tulis berapa kali “,bilang$ for i = 1 to bilang$ print “Merdeka” next i B. input “tulis berapa kali “,bilang for i = 1 to bilang$ print “Merdeka” next i C. input “tulis berapa kali “,bilang for i = 1 to bilang print “Merdeka” next i D. input “tulis berapa kali “,bilang$ for i = 1 to bilang print “Merdeka” next i E. input “tulis berapa kali “,bilang for i = bilang to 1 print “Merdeka” next i 32 Hasil eksekusi program berikut adalah …. for i = 0 to 5 if i>3 then print i+10 endif next i A. B. C. D. E. 13 13 14 14 15 14 14 15 15 15 16 16 33 Hasil eksekusi program berikut adalah …. for i = 10 to 5 step-1 if i>7 then print i+10 endif next i A. B. C. D. E. 20 19 20 19 18 19 18 19 18 17 18 17 34 Untuk mengeksekusi program pada Basic 256, ditekan tombol …. 1 A. B. C. D. E. 2 3 4 5 1 2 3 4 5 35 Anda membuat program untuk memeriksa apakah sebuah bilangan merupakan kelipatan tiga atau bukan. Penulisan program yang sesuai adalah …. A. if bilangan >3 then print “kelipatan3” else print “bukan kelipatan 3” B. if bilangan/3=0 then print “kelipatan3” else print “bukan kelipatan 3” C. if bilangan=3 then print “kelipatan3” else print “bukan kelipatan 3” D. if bilangan%3=0 then print “kelipatan3” else print “bukan kelipatan 3” E. if bilangan\3=0 then print “kelipatan3” else print “bukan kelipatan 3” 36 Pak Guru Adi akan menghitung nilai rata-rata 5 orang siswa, operasi perhitungan nilai yang benar adalah…. A. B. C. D. E. 37 Hasil eksekusi dari potongan program berikut adalah …. dim a(2,2) a[0,0] =1 a[0,1]=2 a[1,0]=3 a[1,1]=a[0,0]+a[0,1] print a[1,1] A. B. C. D. E. 0 1 2 3 4 38 Perhatikan deklarasi array berikut Elemen array bungawarna pada indeks [1][2] adalah…. A. Melati B. Ungu C. Mawar D. Putih E. Anggrek 39 Hasil eksekusi dari potongan program berikut adalah …. goto tiga goto dua goto satu end dua: print "namaku Tyas" return satu: print "namaku Balqis" return tiga: print "namaku Ikhlash" return A. B. C. D. E. namaku Tyas namku Balqis namaku Ikhlash namaku Ikhlash namaku Balqis namaku Ikhlash namaku Tyas 40 Perhatikan cuplikan kode berikut Tentukan pasangan nilai input dan ouput yang sesuai A. B. C. D. E. Input: a=1 , b=2 Input: a=1 , b=2 Input: a=3 , b=4 Input: a=3 , b=4 Input: a=3 , b=4 Output: result=3 Output: result=5 Output: result=5 Output: result=14 Output: result=25