LAT SOAL ALGORITMA DAN PEMROGRAMAN
1 Selamat Mengerjakan
Perhatikan kode program berikut ini untuk soal
1 hingga 3
1. Kamus : 2. a, b : integer 3. d, e : real 4. Algoritma 5. a15 6. b6 7. d5 8. e2 9. output(a % b) 10. output(a / b) 11. output(d % e) 12. output(d / e)
1. Keluaran dari baris 9 adalah ?
a. 1 b. 4 c. 2.5 d. 2 e. 3
2. Keluaran dari baris 10 adalah ?
a. 1 b. 4 c. 2.5 d. 2 e. 3
3. Keluaran dari baris 11 adalah ?
a. 1 b. 4 c. 2.5 d. 2 e. 3
4. Perhatikan kode berikut ini
Kamus : a : integer b : boolean Algoritma : input(a) bfalse if (( a = 10 ) && b ) then output(“First”) else output(“Second”) end if output(“Third”)
Apakah keluaran dari kode program diatas jika pada input(a) dimasukkan nilai 10?
a. First b. Second c. First Third d. Second Third e. First Second Third
5. Perhatikan kode program dalam bahasa C++ berikut ini 1. int i,j,k; 2. k=0; 3. j=3; 4. printf("input : "); 5. scanf("%d",&i); 6. while(k<=i){ 7. j=j+1; 8. k=k+1; 9. } 10. printf("hasil %i ",j % k);
Jika pada baris 5 diberikan masukan nilai i=1234, maka hasil pada baris 10 adalah?
a. 3 b. 1000 c. 1234 d. 4 e. 2
6. Perhatikan kode berikut ini
1. int x;
2. scanf("%i", &x);
3. switch(x)
4. {
5. case 1 : printf("First ");
6. case 2 : printf("Second "); break;
7. case 3 : printf("Third ");
8. case 4 : printf("Fourth "); break;
9. default : printf("non-exist value(s) "); break;
10. }
Jika pada baris 2 diisi dengan x=3, apakah keluaran dari kode program diatas?
a. Third
b. Third Fourth
c. Non-exist value(s)
d. Third Fourth Non-exist value(s)
7. Perhatikan kode dalam bahasa C++ berikut ini 1. bool isFalse; 2. int y; 3. scanf("%i", &y); 4. isFalse=true; 5. if (true) 6. {
7. if ( ((y % 2) == 0) & isFalse )
8. { 9. y = y / 3; 10. } 11. else 12. { 13. y = y * y; 14. } 15. } 16. else 17. { 18. y = 100; 19. } 20. printf("%i", y);
Jika pada baris 3 diberikan inputan y=16, maka apakah keluaran pada baris 20 dari program tersebut?
a. 100 b. 64 c. 8 d. 5 e. 1
Untuk soal-soal no
8
hingga
10
, digunakan definisi variabel array A : array [0..9] of integerIsi dari array A secara berurutan adalah 37, 25, 16, 31, 23, 19, 32, 28, 20, 14. 8. Perhatikan kode berikut ini
x : integer B : boolean x 0
B ( x < 0 ) && ( false ) if (( (A[0] + A[4] ) > x) && B ) x A[1] + A[2]
else
x A[2] – A[3] end if
output(x)
Tampilan dari output(x) adalah …
9. Perhatikan kode berikut ini x 0 i 5 while (i<10) if A[i] > 30 x x + 1 end if ii+1 end while output(x)
Tampilan dari output(x) adalah …
a. 5 b. 4 c. 3 d. 2 e. 1
10. Perhatikan kode berikut ini x, y : integer x 5 While ( x < 10 ) y A[x]-10 x x + 2 end while output(y)
keluaran dari output(y) adalah?
a. 14 b. 4 c. 28 d. 8 e. 19
11. Tentukan Keluaran Potongan Algoritma Berikut :
i1 bil0 do bil2*i ii+1 while (i <4) output (bil) a. 2 4 6 b. 0 2 4 c. 6 d. 1 3 5 e. 5
12. Perhatikan kode dalam C++ berikut ini for (int a=0;a<jumlah;a=a+1) { for (int b=0;b<jumlah;b=b+1) { if (b != a) { printf("*"); } else { printf("+"); break; } } printf("\n"); }
Jika jumlah =5, apakah keluaran dari program diatas? a. ***** ***** ***** ***** ***** b. *++++ **+++ ***++ ****+ ***** c. ++++* +++** ++*** +**** ***** d. + *+ **+ ***+ ****+ e. * +* ++* +++* ++++*
13. Didefinisikan sebuah prosedur
procedure proc1(input a: integer, input/output b: integer) kamus c : integer begin c a a b b c end
kemudian diberikan perintah-perintah berikut :
x 15
y 10
proc1(y,x) output(x,y)
akan memberikan tampilan :
a. 15 10
b. 10 15
c. 15 15
d. 10 10
e. salah semua
untuk soal nomor
14
dan15
Perhatikan kode berikut iniFungsi ApangkatB( a , b : integer)integer
Kamus x, hasil : integer Algoritma hasil1 for ( x 0 , x < b , xx+1 ) hasilhasil * a end for
14. Perhatikan kode berikut Kamus
Fungsi ApangkatB(a,b:integer)integer
a,b : integer Algoritma a2 b3 aApangkatB( a , b ) output(a) output(b)
Apakah keluaran dari potongan kode diatas
a. 9 4 b. 9 3 c. 3 9 d. 4 27 e. 8 27
15. Perhatikan kode berikut
Kamus
Fungsi ApangkatB(a,b:integer)integer
a,b : integer Algoritma
a2
b1
aApangkatB( ApangkatB( a , a ), ApangkatB( b , 100 ))
output(a) output(b)
Apakah keluaran dari potongan kode diatas
a. 4 1 b. 8 1 c. 1 4 d. 1 8 e. 16 2
Untuk soal nomor
16
dan17
perhatikan algoritma berikut iniProcedure TulisKalimat1() Kamus Procedure TulisKalimat2() Algoritma Output(“Go Go Go”) TulisKalimat2() Procedure TulisKalimat2() Kamus Procedure TulisKalimat3() Algoritma TulisKalimat3()
Procedure TulisKalimat3() Kamus
Algoritma
Output(“Win Win Win”)
16. Apakah keluaran dari kode berikut ini
TulisKalimat1()
a. Go Go Go
Fight Fight Fight Win Win Win Fight Fight Fight
b. Go Go Go
Fight Fight Fight Fight Fight Fight
c. Go Go Go
Fight Fight Fight
d. Go Go Go
Win Win Win
e. Go Go Go
Win Win Win Fight Fight Fight
17. Apakah keluaran dari kode berikut ini
TulisKalimat3() TulisKalimat2()
a. Go Go Go
Fight Fight Fight Win Win Win Fight Fight Fight
b. Win Win Win
Fight Fight Fight Win Win Win
c. Win Win Win
Fight Fight Fight Win Win Win Fight Fight Fight
d. Win Win Win
Win Win Win Fight Fight Fight
e. Win Win Win
Fight Fight Fight Fight Fight Fight Win Win Win
Untuk soal nomor
18
hingga20
, diberikan sebuah prosedur dan fungsi berikut iniProcedure tambah(input/output a,b:integer) Kamus
Algoritma
aa+5
bb+2
output (a+b)
Fungsi hitung(c,d : integer)integer
Kamus Algoritma
18. Carilah jawaban yang paling tepat, jika diberikan nilai x=8 dan y=5 tambah(x,y)
a. Nilai x dan y tetap yaitu x=8 dan y=5
b. Nilai x dan y berubah menjadi x=7 dan y=13
c. Nilai x dan y tidak terpengaruh oleh nilai a dan b di procedure
d. Keluaran dari pemanggilan prosedur diatas adalah adalah 13
e. Semua pilihan jawaban salah
19. apakah keluaran dari kode berikut ini, jika diberikan nilai x=2 dan y=3
tambah(hitung(x,y), hitung(y,x))
a. 19 b. 35 c. 12 d. 24 e. 20
20. apakah keluaran dari kode berikut ini, jika diberikan nilai x=2 dan y=3
tambah(x,y) output(hitung(x,y))
a. 12 6 b. 35 12 c. 12 35 d. 6 12 e. 12 24
Untuk nomor
21
hingga24
Diberikan sebuah pita karakter berisi :“POLITEKNIK TELKOM GIVING AND CARING THE WORLD.”
(57 huruf, antara kata
dibatasi 3 spasi
)Tentukan tampilan dari potongan algoritma yang diberikan :
21. Keluaran dari penggalan kode dibawah ini adalah?
START ADV output(cc)
a. P b. O c. T d. _ (spasi) e. E
22. Keluaran dari penggalan kode dibawah ini adalah?
x0 START while (x<6) ADV x x + 2 endfor output(cc) a. P b. O c. L d. I e. _ (spasi)
23. Keluaran dari penggalan kode dibawah ini adalah? Kamus : c1 : char Algoritma START do ADV c1 cc while cc≠'K' output(c1,cc) a. EK b. KE c. KN d. NK e. KK
24. Perhatikan kode berikut
1. Kamus : 2. c1,c2,c3 : char 3. Algoritma 4. input(c2) 5. input(c3) 6. START 7. RESET 8. While (cc!=’.’) 9. c1cc 10. ADV 11. if ((cc=c2) && (c1=c3)) 12. INC 13. End if 14. End while
15. output(ci) //ci adalah variable yang digunakan oleh prosedur INC
jika pada baris ke 4 dan 5 secara berturut-turut dimasukkan nilai ‘_’(spasi) dan ‘G’, maka apakah keluaran pada baris ke 15
untuk nomor
25
hingga32
gunakanlah kode program berikut1. Procedure BinarySearch(Input ArrayData : array [0..N-1], input N : integer)
{I.S : Diberikan satu array ArrayData, isi terurut secara ASCENDING, N jumlah data didalam ArrayData
F.S : dicari sebuah nilai dengan menggunakan algoritma binary search, kemudian ditampilkan data ditemukan atau tidak}
2. Kamus
3. cari, atas, bawah, tengah : integer
4. ketemu : Boolean
5. Algoritma
6. atas ………. //A
7. bawahN-1
8. ketemu false
9. while ( ( ! ketemu ) && ( atas <= bawah ) )
10. tengah……….. // B 11. if (ArrayData[tengah]=cari) 12. ketemutrue 13. else 14. if(ArrayData[tengah]<cari) 15. atas……… //C 16. else 17. bawah………. //D 18. end if 19. end if 20. end while 21. if(………..……) //E
22. output("Ditemukan pada indeks ke, tengah)
23. else
24. output("Tidak ditemukan")
25. end if
25. Isi titik-titik yang ditunjuk oleh A adalah?
a. 0 b. 1 c. N d. N-1 e. N-2
26. Isi titik-titik yang ditunjuk oleh B adalah?
a. (atas + bawah) % 2
b. (atas - bawah) / 2
c. (atas + bawah) / 2
d. (atas - bawah) % 2
e. bawah - atas
27. Isi titik-titik yang ditunjuk oleh C adalah?
a. tengah - 1
b. tengah + 1
c. tengah
d. atas - bawah
e. (atas+bawah)%2
LAT SOAL ALGORITMA DAN PEMROGRAMAN 11 a. tengah - 1 b. tengah + 1 c. tengah d. atas - bawah e. (atas+bawah)%2
29. Isi titik-titik yang ditunjuk oleh E adalah?
a. ketemu = false
b. ketemu
c. ! ketemu
d. ketemu = cari
e. ketemu != cari
jika N=10, ArrayData memiliki data 3, 7, 9, 13, 14, 19, 30, 41, 58, 99.
30. Dengan cari = 9. Berapakah nilai atas, bawah dan tengah pada saat mencapai akhir
dari program? a. 2 3 2 b. 3 3 2 c. 3 2 2 d. 2 2 2 e. 1 0 2
31. Dengan cari = 14. Berapakah nilai atas, bawah dan tengah pada saat mencapai akhir
dari program? a. 0 4 4 b. 9 4 4 c. 0 9 4 d. 4 4 4 e. 4 9 4
32. Dengan cari = 100. Berapakah nilai atas, bawah dan tengah pada saat mencapai akhir
dari program? a. 10 9 9 b. 9 9 9 c. 0 9 9 d. 9 10 9 e. 4 9 9
Perhatikan potongan algoritma sorting berikut
1. Procedure Bubble(Input/Output ArrayData:array [0..N-1] of integer, input N:integer)
{IS: Array data berisi data angka integer yang belum terurut, N adalah jumlah nilai yang ada
FS: Nilai-nilai dalam array terurut secara menurun (DESCENDING)}
2. Kamus
3. x, z, temp : integer
4. Algoritma
5. for ( x 0 ; x < N - 1 ; ... ) // A
6. for ( ... ; z < N - 1 ; z z + 1 ) // B
7. if ArrayData [z] > ArrayData[z+1] then
8. //Switching data 9. temp ……… // C 10. ArrayData [z] ………. // D 11. ArrayData [z+1] ... // E 12. endif 13. Endfor 14. //POSISI 15. endfor
33. Isi titik-titik yang ditunjuk oleh A adalah?
a. x x + 1
b. z z – 1
c. z z + 1
d. z z – 1
e. x z + 1
34. Isi titik-titik yang ditunjuk oleh B adalah?
a. x 0
b. z 0
c. z x
d. z N
e. x N
35. Isi titik-titik yang ditunjuk oleh C adalah?
a. x
b. z
c. ArrayData[z]
d. ArrayData[z+1]
e. temp
36. Isi titik-titik yang ditunjuk oleh D adalah?
a. x
b. z
c. ArrayData[z]
d. ArrayData[z+1]
e. Temp
37. Isi titik-titik yang ditunjuk oleh C adalah?
a. x
b. z
c. ArrayData[z]
d. ArrayData[z+1]
e. temp
Untuk Nomor
38
hingga40
, untuk kode program diatas, gunakan data berikut38. jika x=2 dan program berada di baris 14 (//POSISI), maka bagaimanakah isi dari ArrayData? a. 8 12 9 15 16 7 4 3 b. 7 8 12 9 15 16 4 3 c. 12 15 16 9 8 7 4 3 d. 16 15 12 9 8 7 4 3 e. 12 9 15 16 8 7 4 3
39. jika x=4 dan program berada di baris 14 (//POSISI), maka bagaimanakah isi dari
ArrayData? a. 16 15 12 9 8 7 4 3 b. 12 9 15 16 8 7 4 3 c. 12 15 16 9 8 7 4 3 d. 7 8 12 9 15 16 4 3 e. 15 16 12 9 8 7 4 3
40. jika x=6 dan program berada di baris 14 (//POSISI), maka bagaimanakah isi dari
ArrayData? a. 7 8 12 9 15 16 4 3 b. 8 12 9 15 16 7 4 3 c. 12 9 15 16 8 7 4 3 d. 15 16 12 9 8 7 4 3 e. 16 15 12 9 8 7 4 3