Anda di halaman 1dari 13

Program Studi : TKI

Nama Penulis Soal : NURVIDA ERDIANA,S.KOM


Satuan Kerja : SMKN1 TAPAKTUAN
Mata Pelajaran : PEMOGRAMAN DASAR
Kelas : XII
Kurikulum : K – 13

SOAL PILIHAN GANDA

1. Bagian yang menjelaskan input (masukan) apa saja yang akan diproses oleh
algoritma termasuk jenis data input (tipe data), juga output apa yang akan dihasilkan
serta semua hal yang akan dipakai dalam Algoritma adalah ...
A. Bagian judul
B. Bagian proses
C. Bagian deklarasi
D. Bagian output
E. Bagian deskripsi

2. Suatu tempat untuk menampung data atau konstanta di memori yang mempunyai nilai
yang dapat berubah–ubah selama proses program adalah pengertian dari ...
A. Numerik
B. String
C. Boolean
D. Variabel
E. Konstanta

3. Tipe data berupa bilangan bulat, termasuk bilangan bulat negatif, nol ataupun bulat
positif adalah ...
A. Bilangan Integer
B. Bilangan Real
C. Karakter
D. String
E. Bolean

4. Operator relasional (perbandingan) yang digunakan untuk menggambarkan nilai pertama


lebih kecil atau sama dengan nilai kedua adalah ...
A. < >
B. < =
C. > =
D. >
E. <

5. Pseudocode yang di gunakan pada penulisan algoritma berupa ...


A. Bahassa Inggris
B. Bahasa Puitis
C. Bahasa pemograman
D. Sembarang bahasa asal terstruktur
E. Bahasa Mesin
6. Menggambarkan program secara logika merupakan fungsi dari ...
A. Variabel
B. Flowchart
C. Tipe data
D. Algoritma
E. Pseudocode

7. Kata kunci dari struktur percabangan 1 kondisi adalah ...


A. JIKA (kondisi) MAKA pernyataan 1, pernyataan 2, dst
B. JIKA (pernyataan1 ) MAKA kondisi, pernyataan 2 , dst
C. JIKA (kondisi) MAKA
Pernyataan1
Pernyataan2
Dst
D. JIKA (pernyataan 1,2,dst) MAKA kondisi
E. JIKA (kondisi, pernyataan 1) MAKA pernyataan 2, dst

8. Percabangan 2 kondisi memberikan operasi-operasi khusus pada kondisi yang tidak


dipenuhi seperti Algoritma Dalam Bahasa Pseudocode Berikut :

Var :
nilai_siswa : integer
Pseudocode
read (nilai siswa )
IF nilai siswa > 75 THEN
write ( tergolong baik )
ELSE
write ( tergolong cukup)

Untuk menghasilkan tulisan tergolong baik atau tergolong cukup ,akan terjadi Jika …
A. nilai siswa ( 0 – 100 ) > 75 Tergolong Cukup
B. nilai siswa ( 0 – 100 ) ≥ 75 Tergolong Cukup
C. nilai siswa ( 0 – 100 ) ≤ 75 Tergolong Cukup
D. nilai siswa ( 0 – 100 ) ≥ 75 Tergolong Baik
E. nilai siswa ( 0 – 100 ) ≤ 75 Tergolong Baik

9. Pada algoritma ada kalanya suatu pernyataan atau perintah hanya bisa dilakukan bila
memenuhi suatu kondisi atau persyaratan tertentu. Algoritma ini kita sebut dengan
algoritma seleksi kondisi atau juga percabangan. Perhatikan Algoritma Berikut :
Apabila warna putih maka jadi merah. Apabila warna merah maka jadi hijau, selain warna
merah dan hijau maka jadi kuning. Jika kondisi input warna adalah hitam, maka warna
jadi kuning

Maka struktur percabangan yang tepat diterapkan pada algoritma tersebut adalah ...
A. struktur percabangan bersarang
B. struktur perulangan dengan kondisi diawal
C. Struktur percabangan 1 kondisi
D. struktur percabangan 2 kondisi
E. struktur percabangan 2 kondisi atau lebih
10. Percabangan bersarang dapat menggunakan struktur ...
A. CASE OF atau IF ELSE atau penggabungan keduanya
B. IF THEN atau CASE OF atau gabungan Keduanya
C. IF THEN saja
D. CASE OF saja
E. IF ELSE saja

11. Perhatikan algoritma pengulangan dibawah ini :

1. i1.
2. Selama (i < 100) kerjakan baris 3 sampai dengan 4.
3. Tulis i.
4. i  i + 2.
5. Selesai.

Hasil Algoritma di atas adalah …


A. 1,2,3…100
B. 1,3,5…100
C. 3,5,7…100
D. 3,5,7…99
E. 1,3,5…99

12. Berikut ini pernyataan yang TIDAK benar mengenai perulangan dengan struktur
REPEAT UNTIL ...
A. Kondisi diperiksa setelah proses dilakukan
B. Dapat dikonversi ke bentuk WHILE DO dan sebaliknya
C. Memerlukan iterator
D. Minimal menjalankan perintah satu kali
E. Perulangan dilakukan selama kondisi dipenuhi

13. Berikut ini pernyataan yang salah mengenai perulangan dengan kondisi akhir diinputkan
pengguna adalah ...
A. Inputan pengguna sebagai sentinel dapat diberikan setelah perulangan selesai
B. Inputan dari pengguna sebagai sentinel dapat diberikan sebelum perulangan
C. Inputan pengguna sebagai sentinel dapat diberikan di dalam perulangan
D. Kondisi dapat di awal ataupun di akhir perulangan
E. Dapat menggunakan REPEAT UNTIL

14. Salah satu syarat tipe data variabel pencacah adalah ...
A. Tipe data apa saja
B. Dapat dihitung
C. Harus integer
D. Bilangan real
E. Karakter

15. Susun algoritma untuk menampilkan angka 1 sampai dengan100 secara menurun yang
benar adalah …
A. For (i=0;i<=100; B. while (i=1;i<100;
i--) i--)
Output (“nilai”,i) Output (“nilai”,i)

C. For (i=1;i<=100; D. For (i=1;i<99;i--)


i--) Output (“nilai”,i)
Output (“nilai”,i)

E. do i=100;
while i<100;
i--;
Output (“nilai”,i)

16. Proses di mana program senantiasa dievaluasi ketika sudah digunakan oleh pelanggan
dalam rangka meningkatkan kinerja program tersebut termasuk dalam proses ...
A. Definisi masalah
B. Membuat desain/algoritma
C. Pemeliharaan program
D. Membuat kode program
E. Memasarkan program

17. Perhatikan Gambaran tentang konsep array seperti strukur data berikut ini:

1. Indeks adalah sebuah angka yang menyatakan urutan sebuah elemen pada suatu variabel
array
2. Nomor indeks variabel array harus dimulai dari 0 (nol),
3. nomor indeks bagi elemen terakhir sebesar (N-1), dimana N adalah jumlah total data.
4. Untuk mengakses dapat dilakukan setiap elemen dalam variabel array dengan mengacu
pada nomor indeksnya.
5. Sebuah variabel array adalah sejumlah variabel yang sama dengan nama yang sama
tetapi memiliki nomor indeks yang unik untuk membedakan setiap variabel tersebut.
Penjelasan yang tepat mengenai gambar di atas adalah ...
A. 1,2,3
B. 1,2,4
C. 1,3,4
D. 2,4,5
E. 3,4,5

18. Perhatikan bentuk umum pendeklarasian variabel array multidimensi:


var
nama_array : array[iAwal1..iAkhir1] of array
[iAwal2..iAkhir2] of array
[iAwal... ..iAkhir...] of array [iAwaln..iAkhirn] of tipe_data;
Bagian yang tercetak miring di atas adalah ...
A. Bagian yang harus dituliskan dalam mendeklarasikan array
B. Bagian yang dapat diganti sesuai dengan kebutuhan kita
C. Tipe data yang digunakan pada array
D. Definisi array pada type
E. Banyak dimensi array

19. Perhatikan program berikut :

Berdasarkan program di atas, yang dimaksud dengan Parameter actual adalah ...
A. Parameter yang berupa variable yang ada dalam definisi fungsi saat dideklarasikan
B. variable yang bisa berupa parameter atau konstanta yang dipakai saat pemanggilan fungsi
C. variable yang berupa parameter yang ada dalam definisi fungsi saat dideklarasikan
D. Parameter yang terdapat pada pendefenisian suatu fungsi
E. Parameter yang terdapat pada saat pemanggilan

20. Berdasarkan data di bawah ini, deklarasi function manakah yang tidak lazim digunakan
adalah ...
A. Function density;
B. Function density(x:real):real;
C. Function density(b:byte):byte;
D. Function density(var data):byte;
E. Function density(var s:string):real;

21. Start
Input r
Input t
Hitung volume=phi*r*r*t
Cetak "Volume"
Stop

Pseudocode yang tepat untuk algoritma di atas adalah ...


A. Algoritma volume tabung
WRITE r
WRITE t
Volume=phi*r*r*t
READ volume
END
B. READ r
READ t
Volume=phi*r*r*t
WRITE Volume
END
C. WRITE r
WRITE t
Volume=phi*r*r*t
READ Volume
END
D. Algoritma VolumeTabung
Konstanta Phi=3.14;
Variabel r, t, V: bilangan real
READ r
READ t
Volume=phi*r*r*t
WRITE Volume
END
E. STRAT
READ r
READ t
Volume=phi*r*r*t
WRITE Volume
STOP

22. RESEP PUDING MUTIARA


Bahan :
1 bungkus tepung hunkwe
250 gram gula pasir
1 gelas santan kental
3 gelas air
100 gram mutiara/ pacar cina, rebus, tiriskan
1 lembar daun pandan
½ sendok teh garam
Cara Pembuatan:
1) Campurkan tepung hunkwe, gula pasir dan santan, tambahkan
air, garam dan daun pandan lalu masak sambil diaduk agar rata.
2) Masukkan mutiara ke dalam adonan tepung hunkwe, aduk
hingga rata.
3) Tunggu hingga adonan mendiddih dan mengental, angkat dan
tuang dalam cetakan, kemudian dinginkan
4) Jika puding sudah dingin dan padat, keluarkan dari cetakan dan
sajikan.
Bagian deskripsi dari algoritma di atas adalah ...
A. Resep puding mutiara
B. Cara pembuatan
C. Bahan
D. Point no 1 dan 2
E. Point no 3 dan 4
23. Berikut ini variabel yang pasti mempunyai tipe data real yaitu ...
A. LuasLingkaran
B. Usia
C. JumlahAnak
D. TahunLahir
E. TotalGaji

24. Diberikan potongan algoritma berikut


r=4
s=7
IF (r>s) THEN
r=r-s
WRITE r

Dari potongan program algoritma di atas, algoritma tersebut termasuk dalam kategori
struktur percabangan ...
A. Tanpa kondisi
B. Dua kondisi
C. Dua kondisi atau lebih
D. Satu kondisi
E. Bersarang

25. Dengan menggunakan loop,suatu proses yang berulang dapat di impelementasikan


dengan kode program yang pendek. Berikut ini merupakan progran C++ yang
mengurutkan bilangan dari 1 sampai 20 adalah :
A.#include<iostream. B. #include<iostre
h> am.h>
#include<conio.h> #include<conio.h>
void main(){ void main(){
int a; int a;
for(a=1;a<=20;a++) for(a=1;a<=20;a+){
{ cout<<a;
cout<<a; cout<<" ";
cout<<" "; }
} getch();
getch(); }
}
C. #include<iostream.h D. #include<iostream.h
> >
#include<conio.h> #include<conio.h>
void main(){ void main(){
clrscr(); clrscr();
float b; float b;
b=2; b=2;
do{ do{
cout<<b<<endl; cout<<b<<endl;
b+=2; b++=2;
} }
while(b<=20); while(b<=20);
getch(); getch();
} }
E. #include<iostream.h
>
#include<conio.h>
void main(){
clrscr();
float b;
b=1;
do{
cout<<b<<" ";
b+=2;
}
while(b<=20);
getch();
}

26. Algoritma UlangAlik


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

27. Algoritma PerulanganAkhir


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

Jika pada baris keempat diganti n=0, maka keluarannya adalah ...
A. 5
B. 6
C. 19
D. 26
E. 35

28. Algoritma ganjilGenap


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. Pengguna dapat menentukan bilangan ganjil genap sebanyak yang dia mau
B. Input pengentian perulangan di dalam perulangan itu sendiri
C. Pengguna dapat behenti jika dia tidak mengetikkan karakter „y‟
D. Algoritma di atas dapat diubah dalam struktur WHILE DO
E. Iteratornya adalah variabel pilihan

29. Algoritma HitungUlang


Variabel 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

Algoritma di atas adalah untuk menampilkan ...


A. Jumlah seluruh bilangan kelipatan 5
B. Banyaknya faktor dari 100
C. Semua bilangan kelipatan 5
D. Banyaknya bilangan ganjil
E. Banyaknya bilangan yang tidak habis dibagai 5

30. Algoritma HitungMundur


VAR i:integer
1) FOR i=25 DOWNTO 10 DO
2) IF ((i MOD 3)==1) THEN
3) WRITE i
4) END

Berikut ini nilai-nilai yang dikeluarkan oleh algoritma di atas, kecuali ...
A. 10
B. 21
C. 17
D. 19
E. 16

31. Agar program memberikan pengecualian ketika menemukan kesalahan perhitungan,


dengan tidak mengeksekusinya namun menampilkan pesan kesalahan digunakan
pernyataan ...
A. Try Except
B. Try Finally
C. Try Until
D. Raise Finally
E. Raise Until

32. Pendeklarasian array satu dimensi yang benar dibawah ini adalah ...
A. nama array : array[1..10];
B. nama array : array[1..10] ofinteger;
C. nama_array: array[1..10] of integer
D. nama array ; array (1..10) of integer
E. nama_array : array[1..10] of Integer;

33. Perhatikan pendeklarasian array berikut :


unit_produksi : array[1..10] of string;
Maksud dari „unit_produksi‟ dan „string‟ adalah ...
A. Nama array dan panjang array
B. Nama array dan tipe data
C. Nama array dan indeks array
D. indek array dan tipe data
E. Panjang array dan tipe data

34. Perhatikan fungsi berikut:


F(x) = 0…………………………………………………………x=0
F(x) = 2F(x-1)+2…………………………………………………x≠0

Bagian yang dinamakan basis dari fungsi diatas adalah ...


A. F(x) = 0
B. x=0
C. x≠0
D. F(x) = 2F(x-1)+2
E. 2F(x-1)+2

35. Algoritma Gaji


Variabel Gaji Pokok, AngsuranHutang, TK, TotalGaji:integer
Status:string
1) READ GajiPokok
2) READ AngsuranHutang
3) READ Status
4) TK=0
5) IF (Status==”Kawin”) THEN
6) TK=300000
7) TotalGaji=GajiPokok+TK-AngsuranHutang
8) WRITE Totalgaji
9) END

Dari algoritma di atas, manakah pernyataan yang benar ...


A. Setiap pegawai mempunyai angsuran yang sama
B. Setiap pegawai mempunyai gaji pokok yang sama
C. Setiap pegawai menikah dan tidak menikah menerima gaji yang berbeda
meskipun gaji pokok dan angsuran hutang sama
D. Setiap pegawai mempunyai Tunjangan keluarga (TK) yang sama
E. Semua pegawai menerima total gaji yang sama

36. Algoritma Hitung


1) Baca masukkan a
2) Baca masukan b
3) Jika a lebih besar b maka lanjut ke langkah 4, jika tidak lanjut ke langkah 5
4) Ubah nilai a menjadi a dikurangi b, ulangi lagi langkah 3
5) Tuliskan a
6) Selesai

Jika pada baris ketiga diganti menjadi


Jika a lebih kecil b maka lanjut ke langkah 4, jika tidak lanjut ke langkah 5
Dan nilai a yang dimasukkan adalah 8 dan b adalah 10, berapa outputnya?
A. 0
B. -2
C. 2
D. 8
E. Tidak dapat ditemukan outputnya

37. Dalam suatu percabangan diberikan


IF (NILAI>89) THEN
WRITE “Hebat”
ELSE
WRITE “Good”

Interval nilai yang akan menghasilkan output “Good” adalah ...


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

38. Salah dalam mentukan kondisi percabangan termasuk kesalahan ...


A. Algoritmik
B. Sintaks
C. Struktur
D. User
E. Run-time error

39. Nilai elemen array dalam matriks M untuk 1 ke-1 dan j ke-3pada program berikut adalah
begin
clrscr;
{matriks M}
m[1,1]:=70; m[1,2]:=70; m[1,3]:=65;
m[2,1]:=80; m[2,2]:=75; m[2,3]:=85;
for i:=1 to 3 do {baris matriks M}
begin
for j:=1 to 2 do {kolom matriks M}
begin
write(m[i,j],’’);
end;
writeln;
end;
readln;
end.

A. 85
B. 80
C. 65
D. 70
E. 75

40. Fungsi dalam pemrograman C++ dapat di deklarasikan dengan menggunakan sintaks
berikut ini:
tipe nama_fungsi (tipe parameter1, tipe
1
parameter2, ...,tipe parameterN){
2
3
//Kode fungsi yang akan dijalankan
4
5
return kembalian;
6
7
}

Penjelaskan yang tepat mengenai program tersebut adalah


1.Suatu fungsi jelas memiliki tipe.
2.Tipe suatu fungsi tidak menentukan nilai kembalian dari fungsi tersebut.
3.Nama_fungsi merupakan pengenal suatu fungsi.
4.Variabel merupakan Parameter penampung input suatu fungsi.
5.Return merupakan instruksi yang berguna mengembalikan hasil kerja suatu fungsi, untuk
dapat digunakan di dunia luar (fungsi main).
A. 1,2
B. 2,3
C. 3,4
D. 3,5
E. 4,5