NASKAH SOAL
1. Pernyataan berikut ini yang tidak benar dari struktur algorithma bahasa C adalah ...
A. pada bahasa c semua variabel yang akan dipakai tidak perlu dideklarasikan
dahulu
B. suatu pernyataan adalah satu atau beberapa ekspresi yang diakhiri dengan tanda
titik koma (;)
C. blok pernyataan adalah terdiri dari satu atau beberapa pernyataan yang diawali
dan diakhiri dengan tanda {}
D. blok fungsi terdiri dari satu atau beberapa pernyataan yang dirancang untuk
melakukan proses tertentu.
E. blok fungsi dimulai dengan nama fungsinya () dan tanda {}
2. Suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di
dalam proses program disebut dengan...
A. tipe data
B. konstanta
C. variabel
D. parameter
E. fungsi
3. Tipe data yang digunakan untuk data karakter pada bahasa C adalah ....
A. int
B. float
C. double
D. str
E. char
1
{
Float a,b,c,d;
a = 3.0f;
b = 4.0f;
c = 7.0f;
d = b*b-4*4*a*c;
printf(“Diskriminan =%f\n”,d);
}
A.
B.
C.
D.
E.
Jika variabel warna diganti menjadi “kuning”, baris program yang dijalankan setelah
baris ke-4 adalah…
A. baris ke-5
B. baris ke-7
C. baris ke-9
3
D. baris ke-10
E. baris ke-13
A. can drive
B. can not drive
C. thank you
D. can drive thank you
E. can not drive thank you
12. Pernyataan yang dapat digunakan untuk pengambil keputusan dari sejumlah pilihan yang
mungkin terjadi adalah...
A. perulangan
B. percabangan
C. fungsi
D. operator
E. parameter
13.
a. mulai
b. menentukan nilai siswa
c. jika nilai siswa (0 – 100) > 75 tergolong baik
d. jika nilai siswa (0 – 100) <= 75 tergolong cukup
e. tampilkan hasil
f. selesai
Dari algorithma diatas adalah ....
A. algorithma percabangan 2 kondisi
B. algorithma percabangan 1 kondisi
C. algorithma percabangan multi kondisi
D. algorithma pemilihan 1 kondisi
E. algorithma pemilihan 2 kondisi
Input
kode
salah salah
kod kod
e==’ e==’
A’ B’
70
bena bena
r r
4
finish
Jika diberikan input kode= Z, maka akan muncul output... .
A. honda
B. yamaha
C. toyota
D. suzuki
E. kode salah
15. Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang
dilaksanakan, dan jika kondisi yang diperiksa bernilai salah maka pernyataan kedua yang
dilaksanakan. Kodisi tersebut merupakan struktur dari kondisi…
A. switch…case
B. do…while
C. for
D. if…else
E. while
1i
int x;
x = 1; 2i
while(x <= 10)
3i
{
4i
printf(" %d BAHASA C \n", x);
x++;
5i
}
17. Pengulangan dengan kondisi di akhir adalah bentuk pengulangan dimana kondisi untuk
pengulangan di letakan di akhir perintah, dibawah ini dengan kondisi di akhir adalah…
A. while
B. repeat until
C. switch…case
D. if…else
E. for
scanf("%d",&angka);
5
{
printf(" %d ",x);
Main()
{
Int bil=10;
Clrscr();
Printf(“\n %d”, bil);
Printf(“\n %d”, bil++);
Printf(“\n %d”, bil);
Getche();
}
Dari potongan syntak program diatas, yang menunjukan perulangan dengan pencacah
naik adalah…
A. bil++
B. getche();
C. int bil
D. clrscr()
E. main()
start
No = 100
cetak No
No = No - 20
ya
No >= 10
tidak
end
6
E. 100
Int main()
{
Int x = -5, y = 2;
x+ = 1;
If(x < 0)
If(y > 0) x = y;
else y = x;
Return 0;
}
Int main()
{
Int i, batas;
Printf (“Berapa banyak bilangan yang akan
ditampilkan?”);
Scanf(“%d”, &batas);
For( i = 1; i<=batas ; i++)
Printf(“%d ” , i);
Return 0;
}
7
1
5
C.
0
4
D.
E. 1 2 3 4 5 6 7 8
8
A. 32 16 8 4 2 1
B. 1 2 3.....49 50
C. 50 49 48.... 2 1
D. 1 dan 50
E. 1 2 4 8 16 32
Main(){
Int a, b;
for(a=5;a>=1;a++)
{
for(b=a;b>=1;b--)
{
printf("*");
}
printf("\n");
A.}
B.
Main(){
Int a, b;
for(a=5;a>=1;a++)
{
for(b=a;b>=1;b++)
{
printf("*");
}
C.printf("\n");
}
Main(){
Int a, b;
for(a=5;a>=1;a--)
{
for(b=a;b>=1;b--)
{
printf("*");
}
printf("\n");
}
9
Main(){
Int a, b;
for(a=5;a>=1;a--)
{
for(b=a;b>=1;b++)
{
printf("*");
}
printf("\n");
D.}
Main(){
Int a, b;
for(a=5;a>=1;a--)
{
for(b=a;b>=1;b--)
{
printf("\n");
E. }
if(bilangan%2==0)
}else
29. Error yang disebabkan ketidaksesuaian algoritma program dengan tujuan program
dibuat merupakan jenis kesalahan ….
A. runtime error
B. kesalahan penulisan sintaks
C. kesalahan logika pemrograman
D. kesalahan running minimum requirement program
E. error
10
a = atoi(x);
b = atof(y);
printf("Semula : \n A = %s \n B = %s \n \n", x,y);
printf("Setelah dikonversi :\n A = %i \n B = %.2 f",a,b);
return 0;
32. Berikut ini cara mendeklarasikan array yang kurang tepat adalah... .
A. int number[8];
B. int number{}={-3,5,6,-6,7,9,23};
C. double nilai[100];
D. int number[10]={5,10,15};
E. int number[]={-3,5,6,-6,7,9,23};
34. Pak Guru Adi akan menghitung nilai rata-rata 5 orang siswa, operasi perhitungan nilai
yang benar adalah….
11
A.
B.
C.
D.
E.
#include <stdio.h>
int main() {
int x[2][3][2] = ....................................;
int i, j,k;
for (i=0; i<2; i++) {
for (j=0; j<3; j++) {
for(k=0; k<2;j++)
printf("%d ", x[i][j][k]);
}
printf("\n");
}}
A. melati
B. ungu
C. mawar
D. putih
12
E. anggrek
39. 1 42 5 3
float tambah(float x, float y)
return (a+b);
13
SMK – BISA – INDONESIA MERDEKA
------------------------------------------------
C. ------------------------------------------------
SMK – BISA – INDONESIA MERDEKA
D. SMK – BISA – INDONESIA MERDEKA
------------------------------------------------
E. -------------------------------------------------
SMK – BISA – INDONESIA – MERDEKA
14