Anda di halaman 1dari 11

1. Yang bukan merupakan ciri khusus algoritma adalah.....

A. Algoritma harus efektif


B. Algoritma memiliki langkah yang tak terbatas
C. Algoritma memiliki masukan dan keluaran
D. Algoritma tidak memiliki notasi penulisan teks yang baku
E. Setiap langkah dalam algoritma didefinisikan dengan tepat

2. Penulisan algoritma dengan menggunakan kode-kode yang mirip dengan bahasa


pemrograman namun tidak dapat dijalankan oleh komputer merupakan cara penyajian
algoritma menggunakan.....
A. Pseudocode
B. Diagram alir
C. Kode program
D. Bahasa natural
E. Bahasa fundamental

1
3. Tipe data yang tepat untuk variabel Nama, NIS, TahunLahir, NoHP dan Usia berturut-
turut adalah.....
A. String, Integer, Integer, Boolean, Integer
B. String, Integer, Integer, Integer, String
C. String, String, Integer, Integer, Integer
D. String, String, Integer, String, Integer
E. String, String, Integer, String, String

4. Operator aritmatika yang memiliki hirarki paling tinggi/ diutamakan adalah.....


A. /
B. +
C. –
D. !
E. >

5. Simbol flowchart yang sesuai dengan keterangannya adalah.....

A. : merupakan simbol proses berulang

B. : merupakan simbol input-output

C. : merupakan simbol pemilihan

D. : merupakan simbol keputusan


E. : merupakan simbol anotasi

2
6. Flowchart yang menunjukkan struktur percabangan dua kondisi adalah.....
A. D.

Ya
Kondisi Kondisi 1 Pernyataan 1

Ya Tidak
Pernyataan 1 Ya
Kondisi 2 Pernyataan 2

Tidak

Pernyataan 3

B. E.

Ya
Kondisi 1 Kondisi 2
Kondisi 1

Ya

Tidak Pernyataan Tidak Tidak

Kondisi 2

Tidak Ya
C.
Pernyataan
Ya
Kondisi Pernyataan 1

Tidak

Pernyataan
Ya
2

3
7. Perhatikan flowchart berikut ini.
Start

Read N

N < 10

Ya

Write N

Tidak
N=N+1

End

Jika user menginputkan angka 2 untuk nilai N, maka output dari flowchart di atas
adalah.....
A. 3 4 5 6 7 8 9 9
B. 2 3 4 5 6 7 8 9
C. 3 4 5 6 7 8 9 10
D. 2 3 4 5 6 7 8 9 10
E. 3 4 5 6 7 8 9 10 10

8. Penulisan komentar lebih dari satu baris dalam bahasa C adalah.....


A. *ini komentar*>
B. /*ini komentar*/
C. //ini komentar
D. (“ini komentar”);
E. {ini komentar}

9. Penulisan kode program yang tepat untuk menerima masukan dari pengguna program
berupa bilangan desimal dan disimpan pada variabel d adalah.....
A. scanf(“%d”, &d);
B. printf(“%f”, d);
C. scanf(“%f”,&d);
D. printf(“%d”, d);
E. scanf(“%d”, d);

10. Perhatikan penggalan kode program berikut.


printf(“Hello);
return 0
Kesalahan penulisan kode program di atas disebut sebagai kesalahan.....
A. Paralaks
B. Leksikal
C. Semantik
D. Prosedural
E. Sintaksis

4
11. Jangkauan nilai untuk tipe data char dalam bahasa pemrograman C adalah.....
A. 0 s.d. 65.535
B. 0 s.d. 4.294.967.296
C. -32.768 s.d. 32.767
D. -128 s.d. 127
E. -2.147.483.648 s.d. 2.147.483.648

12. Konstanta karakter escape yang berfungsi untuk mundur satu spasi adalah.....
A. \n
B. \b
C. \a
D. \f
E. \t

13. Penulisan deklarasi variabel yang tepat dalam bahasa C adalah.....


A. string a;
B. float 0_2;
C. float a_bc;
D. float 123;
E. int int;

14. Operator perbandingan dalam bahasa C yang menyatakan tidak sama dengan adalah.....
A. <>
B. !=
C. not equal
D. not =
E. not ==

15. Right Value dari bentuk umum penulisan ekspresi aritmatika berupa.....
A. Variabel
B. Konstanta
C. Ekspresi aritmatika
D. Keyword bahasa pemrograman
E. Opsi A, B dan C benar

16. Perhatikan penggalan kode program berikut.


int main(){
int a=5, b=10;
b-=a;
a%=b;
printf("%d", b);
return 0;
}
Output dari penggalan kode program tersebut adalah...
A. -5
B. 0
C. 5
D. 10
E. 15

5
17. Perhatikan penggalan kode program berikut.
int main(){
int a=-5, b=10; b-=a;
if (b<a){
if (b>=5)
a=b;
}
b=a;
printf("a=%d, b=%d",a,b);
return 0;
}
Output dari penggalan kode program tersebut adalah.....
A. a=-5, b=-5
B. a=-5, b=10
C. a=5, b=5
D. a=10, b=10
E. a=5, b=10

18. Struktur kontrol yang memiliki keyword do… while… adalah.....


A. Percabangan bersarang
B. Percabangan lebih dari satu kondisi
C. Perulangan dengan kondisi di awal
D. Perulangan dengan kondisi di akhir
E. Perulangan dengan kondisi diinputkan user

19. Perhatikan penggalan kode program berikut.


int main(){
int a=0, i=0;
while (i<5){
a+=i;
i++;
}
printf("%d",a);
return 0;
}
Output dari penggalan kode program tersebut adalah.....
A. 0
B. 1
C. 6
D. 10
E. 15

20. Tahap akhir dalam merancang algoritma untuk permasalahan kompleks adalah.....
A. Merancang algoritma
B. Menulis kode program
C. Menulis dokumentasi program
D. Menganalisis pemecahan masalah
E. Mendefinisikan masalah

Soal UAS Pemrograman Dasar Kelas XI SMK Negeri 1 Denpasar


Halaman 6
21. Perhatikan penggalan kode program berikut.
int P=5,Q=27,R=9;
P = Q * R % P + Q;
Q = P + Q * R;
R = P / Q * R;
printf("%d", P+Q+R);
Output dari penggalan kode program tersebut adalah.....
A. 135
B. 254
C. 303
D. 513
E. 684

22. Perhatikan penggalan kode program berikut.


float a;
a=22;
a/=7;
printf("Nilai a = %.f",a);
Output dari penggalan kode program tersebut adalah......
A. Nilai a = %.f
B. Nilai a = 3.142857
C. Nilai a = 3.14
D. Nilai a = 3.00
E. Nilai a = 3

23. Operasi yang akan menghasilkan nilai true jika nilai O=10, M=2, N=4 adalah.....
A. N-O*M < M*N-O*N
B. N+O*M != (O-N)*N
C. (M*N > O-M) || (M*O <= N/M*O)
D. (M*N+N < N+O) && (O-N != M+N)
E. (M*O == N*O/M) && (O-M*N > O*M-N)

24. Perhatikan penggalan kode program berikut.


int T[9]={4, 5, 6, 7, 3, 2, 8, 1, 9};
int N=9,i,temp;
for(i=0;i<N/2;i++){
temp=T[i];}
T[i-1]=T[N-i];
T[N-i]=temp;
Nilai elemen arraN T setelah program dieksekusi adalah.....
A. 9 1 8 7 3 2 6 4 5
B. 9 1 8 2 3 7 6 5 4
C. 9 1 2 8 3 7 6 5 4
D. 4 5 6 7 3 2 8 1 9
E. 4 5 6 2 3 7 8 1 9

Soal UAS Pemrograman Dasar Kelas XI SMK Negeri 1 Denpasar


Halaman 7
25. Perhatikan penggalan kode program berikut.
int i,j,X=2;
int A[2][2]={{1,2},{4,5}};
int B[2][2]={{2,2},{2,2}};
int N[2][2];
for(i=0;i<X;i++)
for(j=0;j<X;j++)
N[i][j]=A[i][j]+B[i][j];
for(i=0;i<X;i++){
for(j=0;j<X;j++){
printf("%d\t",N[i][j]);
}
printf("\n");
}
Output dari penggalan kode program di atas adalah.....
A. 3 4
6 7
B. 3 6
4 7
C. 4 7
3 6

D. 4 3
7 6

E. 4 7
6 3

26. Jumlah elemen array jika dideklarasikan sebagai int T[2][2][2] adalah.....
A. 2
B. 3
C. 6
D. 8
E. 9

27. File header yang perlu disertakan untuk dapat menggunakan fungsi manipulasi string
pada bahasa pemrograman C adalah.....
A. stdio.h
B. math.h
C. conio.h
D. stdlib.h
E. string.h

28. Pemanggilan fungsi konversi/manipulasi string yang tepat adalah.....


A. temp=atoi(2018);
B. strrev(temp, “Pemrograman Dasar 2018”);
C. temp=strcpy(“Pemrograman Dasar 2018”);
D. printf(“%d”, strlen(“Pemrograman Dasar 2018”));
E. strcmp(“Pemrograman Dasar”, “Pemrograman Dasar”);
Soal UAS Pemrograman Dasar Kelas XI SMK Negeri 1 Denpasar
Halaman 8
29. Yang merupakan operator alamat dalam konsep pointer bahasa C adalah.....
A. =
B. *
C. ||
D. %
E. &

30. Perhatikan kode program berikut.


#include <stdio.h>
int main(){
int i, A[5];
*A=2;
for (i=1;i<5;++i){
*(A+i)=*(A+i-1)*2;
}
return 0;
}
Nilai dari elemen terakhir array A adalah....
A. 2
B. 4
C. 8
D. 16
E. 32

31. Perbedaan antara fungsi dan prosedur adalah.....


A. Penggunaan operator
B. Nilai balik yang dihasilkan
C. Tipe data yang digunakan
D. Jenis pointer yang dipakai
E. Peran variabel

32. Cara melewatkan nilai parameter ke dalam fungsi dengan menyalin nilai dari parameter
aktual ke parameter formal disebut dengan istilah....
A. Call by value
B. Call by name
C. Call by variabel
D. Call by reference
E. Call by address

33. Variabel yang tidak akan dihapus setelah keluar dari blok program yang
mendeklarasikannya disebut sebagai variabel.....
A. Variabel lokal
B. Variabel statis
C. Variabel dinamis
D. Variabel plural
E. Variabel global

Soal UAS Pemrograman Dasar Kelas XI SMK Negeri 1 Denpasar


Halaman 9
34. Keuntungan modularisasi berupa dihapusnya jumlah yang berlebihan dari kode program
yang dibuat adalah.....
A. Ease of understanding
B. Reusable code
C. Top-down design
D. Efficiency of maintenance
E. Elimination of redudancy

35. Perhatikan kode program berikut.


#include <stdio.h>
int A = 0;
int hitung(int x){
if (x==1)
return 0;
else
return x+hitung(x-2);
}
int main(){
int a=5;
printf("Hasilnya adalah %d", hitung(a));
return 0;
}
Output dari kode program tersebut adalah.....
A. Hasilnya adalah 0
B. Hasilnya adalah 5
C. Hasilnya adalah 8
D. Hasilnya adalah 9
E. Hasilnya adalah 10
36. Perhatikan kode program berikut.
#include <stdio.h>
void hitung(int *x,int *y){
*x *= *y;
y = x;
}
int main(){
int a=5,b=10;
hitung(&a,&b);
printf("Hasilnya adalah %d",a);
return 0;
}
Output dari kode program tersebut adalah.....
A. Hasilnya adalah 0
B. Hasilnya adalah 5
C. Hasilnya adalah 10
D. Hasilnya adalah 50
E. Hasilnya adalah 100
37. Pencarian elemen dalam array disebut juga dengan istilah.....
A. Pencarian internal
B. Pencarian eksternal
C. Pencarian linear
D. Pencarian utama
Soal UAS Pemrograman Dasar Kelas XI SMK Negeri 1 Denpasar
Halaman 10
E. Pencarian basis

38. Teknik pengurutan yang dibuat dengan cara melakukan pengecekan untuk mencari nilai
terbesar atau terkecil kemudian menempatkannya pada posisi yang tepat secara terurut
merupakan karakteristik dari.....
A. Interpolation sort
B. Binary sort
C. Bubble sort
D. Insertion sort
E. Selection sort

39. Diberikan data sebagai berikut.


4 5 7 8 3 2 1 9 6
Jika data tersebut diurutkan secara ascending menggunakan teknik bubble sort, maka
urutan data tersebut setelah langkah ke-2 adalah.....
A. 4 5 7 3 2 1 8 6 9
B. 4 3 2 1 5 7 6 8 9
C. 4 5 3 2 1 7 6 8 9
D. 4 5 7 8 3 2 1 9 6
E. 4 3 2 1 5 6 7 8 9

40. Tahap ketiga dari pengembangan program dengan metode Waterfall adalah.....
A. Analisa Kebutuhan
B. Desain Sistem
C. Pengujian Program
D. Penulisan Kode Program
E. Penerapan dan Pemeliharaan

Soal UAS Pemrograman Dasar Kelas XI SMK Negeri 1 Denpasar


Halaman 11

Anda mungkin juga menyukai