Tuesday, September 30, 2014

KUMPULAN SOAL DAN JAWABAN ALGORITMA PASCAL


Bagian 1
  1. Perhatikan algoritma berikut ini.
KAMUS
     A, B, C, T : integer
BEGIN ALGORITMA
    T ß 0
    INPUT(A)
    T ß T + A
    INPUT(B)
    T ß T + B
    INPUT(C)
    T ß T + C
    OUTPUT(T)
END ALGORITMA

Berapakah nilai T, jika nilai A,B,C berturut-turut diINPUTkan dengan nilai 7, 5 dan 2 ?
Jawab: 14
J14


  1. Perhatikan penggalan algoritma berikut ini.
A ß 4 ; B ß 3   
X ß A
X ß B mod X
B ß A
B ß X + B
OUTPUT(A, X, B)

Berapakah nilai A, X dan B ?
Jawab: A: 4, X: 1, B: 5
 3 ; B = 7

  1. Perhatikan penggalan algoritma dibawah ini:
Algoritma
     …….
     IF (a = 10 and b = 5) THEN
          c <-- 156
     ELSE
          c <-- 165
     END IF
    
Jika ternyata variabel  a  diberikan INPUT 5, maka nilai variabel  c  adalah?
Jawab: C: 165
165




  1. Perhatikan algoritma berikut ini.
KAMUS
  A, B : integer
  C : Boolean
BEGIN ALGORITMA
  A ß 0 ; B ß 2
  A ß B ; B ß A + A
  C ß ((A > B) AND (A <> 2))
  OUTPUT (C)
END ALGORITMA

Berapa nilai C ?
Jawab: FALSE
false

  1. Perhatikan algoritma berikut.
KAMUS
   A, B, C : integer
BEGIN ALGORITMA
   INPUT(A,B,C)
   IF (A > B)  THEN
       IF  (A > C) THEN
           OUTPUT(A)
       ELSE
           OUTPUT(C)
       ENDIF
   ELSE
     IF (B > C) THEN
         OUTPUT(B)
     ELSE
         OUTPUT(C)
     ENDIF
   ENDIF
END ALGORITMA

Apa OUTPUT yang dihasilkan, apabila nilai-nilai yang diINPUTkan ,  A = 3,  B = 6 dan C  = 4 ?
Jawab: 6
6



  1. Perhatikan penggalan algoritma berikut ini.
INPUT(N)
IF (N > 50) THEN
    IF ( N > 75) THEN
      N ß N – 25
    ENDIF      
ELSE
   N ß N + 10
ENDIF
OUTPUT(N)
Berapa nilai akhir N, apabila N awalnya diINPUT dengan nilai 85 ?
Jawab: 6060

  1. Perhatikan algoritma berikut ini :
     KAMUS
    N, R, B : integer
  BEGIN ALGORITMA
    INPUT(N); INPUT(B)
    IF (N < 80) THEN
       R ß B + 4 * 2 + N / 4 – B + 1
    ELSE IF (N < 70) THEN
       R ß B + 5 * 3 + N / 4 – B + 2
    ELSE IF (N < 60) THEN
       R ß B + 6 * 4 + N / 4 – B + 3
    ELSE
       IF (N < 40) THEN
          R ß B + 7 * 5 + N / 4 – B + 4
       ELSE
          R ß B + 8 * 6 + N / 4 – B + 5
       ENDIF
    ENDIF
    OUTPUT(R)
  END ALGORITMA

 Berapa nilai R yang dihasilkan, apabila nilai B = 3 dan N = 60 ?
Jawab: 24










  1. Perhatikan penggalan algoritma berikut ini:
INPUT(M, N, P)
IF (P < 20) THEN
   M ß M * 2
ELSE
  IF (N < 30) THEN
     N ß N * 3
  ELSE
    IF (M < 40)  THEN
       P ß P * 4
    ELSE
       M ß 0
    ENDIF
  ENDIF
ENDIF
OUTPUT(M, N, P)
Tentukan OUTPUT yang dihasilkan, jika nilai awal yang diINPUTkan untuk M = 40, N = 30, dan P = 20.
Jawab: M: 0, N: 30, P: 20
M = 0  ; N = 30 ; P = 20

  1. Perhatikan penggalan  algoritma berikut ini:
M ß 2 ; Q ß 10
IF (M < 5) THEN
     M ß M + 2
ENDIF
IF (M >= 5) THEN
   Q ß M + Q
ENDIF
OUTPUT(Q,M)
            Berapa nilai akhir Q dan M ?
            Jawab: M: 4, Q: 10
               Q= 10  ; M = 4
  1. Perhatikan algoritma berikut ini:

KAMUS
    Bilangan : integer
    Keterangan : string
BEGIN ALGORITMA
   INPUT(Bilangan)
   Keterangan ß “menu promosi”
   IF (Bilangan <> 4) THEN
        CASE  (Bilangan)
             1 : Keterangan ß “menu hemat”
             2 : Keterangan ß “menu paket”
             3 : Keterangan ß “menu gledheg”
        OTHERWISE : Keterangan ß “menu irit”
       END CASE
  ENDIF
  OUTPUT (Keterangan)
             END ALGORITMA
     Tentukan OUTPUT dari algoritma di atas, apabila variabel Bilangan diINPUTkan 4
            Jawab: “menu irit”
 Menu Promosi

  1. Diketahui A berisi 25, B berisi 13 dan C berisi 37, dijalankan algoritma
            B ß A
     C ß B
     A ß C
     OUTPUT(A)
            Keluaran dari program diatas adalah …
            Jawab: 25


  1. Perhatikan potongan algoritma berikut:
na, uts, uas, tugas, quiz:  integer
utsß75
uasß80
tugasß50
quizß50
naß (uts * 30 /100) + (uas * 35 / 100) + (tugas * 15 / 100) + (quiz * 20 / 100)
IF na>80 THEN
          indeksß’A’
END IF
IF na>60 THEN
          indeksß’B’
END IF
          indeksß’C’
           indeksß’A’
OUTPUT (indeks)
Apakah Keluaran dari program diatas?
Jawab: ‘A’D

  1. Diberikan potongan algoritma sbb :
i ß 5
i ß 8
OUTPUT(i)

      Tampilan dari OUTPUT(i) adalah …
            Jawab: 8
8

  1. Diberikan potongan algoritma sbb :
IF d>0 THEN
     d ß d - 1
ELSE
     d ß 59
     IF (m > 0) THEN
          m ß m – 1  
     ELSE
          m ß 59
          j ß j - 1
     ENDIF
END IF
OUTPUT(j + m - d)

Jika secara berurutan nilai j, m dan d 9,0, dan 0, maka tampilan akhir kode program diatas adalah?
Jawab: 8
8


  1. Perhatikan algoritma berikut
Program Soal18
Kamus
     x,y:integer
Algoritma
xß15
yß8
zß7
xßy + x
yßx - y
OUTPUT(x)
OUTPUT(y)
END

Keluaran dari program diatas secara berurutan adalah
Jawab: 23
            15

  1. Diketahui A berisi 15, B berisi 23, dijalankan algoritma
A ß B
B ß A
Isi A dan B di akhir algoritma adalah …
Jawab: A: 23, B: 23
23 23
  1. Diketahui A berisi 25, B berisi 13 dan C berisi 37, dijalankan algoritma
B ß A
C ß B
A ß C
Isi C di akhir algoritma adalah …
Jawab: C: 25
25
  1. Diberikan potongan algoritma sbb :
INPUT(N)
IF N<10 THEN
   N ß N + 5
END IF
OUTPUT(N)
                Jika dari perintah INPUT(N), dimasukkan data  15, maka tampilan dari OUTPUT(N) adalah …
                Jawab: 15

  1. Sebuah bilangan yang telah diINPUT ke dalam variable bil akan dipecah menjadi ratusan,puluhan dan satuan :
ratusan ß bil div 100
puluhan ß ...
satuan  ß bil mod 10 

     Perintah untuk mENDapatkan puluhan di atas adalah …
Jawab: puluhan ß bil mod  100100) div 10

  1. Diberikan potongan algoritma sbb :
INPUT(j,m,d)
IF d>0 THEN
   d ß d - 1
ELSE
   d ß 59
   IF m>0 THEN
      m ß m – 1  
   ELSE
      m ß 59
      j ß j - 1
   ENDIF
ENDIF
OUTPUT(j,m,d)
Jika INPUT(j,m,d), dimasukkan data  9, 0  dan 0, maka tampilan akhir dari OUTPUT(j,m,d) adalah …
Jawab: j: 8, m: 59, d: 59

  1. Telusuri program dibawah ini:
ALGORITMA Semangat1
        KAMUS
     x, y, z : integer
BEGIN ALGORITMA
     INPUT(x,y,z)
     IF (x < y) THEN
          IF (y < z) THEN
                   OUTPUT(“mahasiswa telkom university”)
          ELSE
                   OUTPUT(“mempunyai visi yang besar”)
          END IF
     ELSE
          IF (x > y) THEN
               IF (y < z) THEN
                         OUTPUT(“karena itu”)
               ELSE
                          OUTPUT(“kami selalu rajin belajar”)
               END IF
          END IF
     END IF

Jika pengguna memasukkan  x = 3, y = 8, z = 5, maka OUTPUT algoritma tersebut adalah?
Jawab: “mempunyai visi yang besar”











  1. Telusuri program dibawah ini:

ALGORITMA Semangat2
KAMUS
     x, y, z : integer
BEGIN ALGORITMA
     INPUT(x,y)
     z <-- x + y
     IF (z >= 80) THEN
          z <-- z – 30

     IF (z >= 70) THEN
          z <-- z - 10
     ELSE
          IF (z >= 65) THEN
               z <-- z - 5
               y <-- x
         END IF
     END IF
     IF (x <= 70) THEN
          z <-- z – 10
         y <-- x
     END IF
     OUTPUT(x, y, z)
END
Jika pengguna memasukkan  x = 32, y = 50, maka OUTPUT algoritma tersebut adalah?
Jawab: x: 32, y: 32, z: 42
32 32 42

















  1. Telusuri program dibawah ini:

Program Periksa_Semangat
Kamus
     x, y : integer
BEGIN ALGORITMA
     INPUT(x, y, x)
     IF (x = 1) THEN
          OUTPUT(“1. Visi (Mimpi) telah sesuai dengan langkah”)
     ELSE IF ((x >= 2) and ( x <= 4) THEN
          OUTPUT(“2. Pantang menyerah untuk meraih mimpi”)
     ELSE IF (x = y) THEN
          OUTPUT(“3. Jujur dan profesional dalam melangkah”)
     ELSE IF ( y > x) THEN
          OUTPUT(“4. Berdoa tanpa putus”)
     END IF
END ALGORITMA
Jika pengguna memasukkan  x = 4, y = 5, dan x = 1, maka outputnya adalah
Jawab: “1. Visi (Mimpi) telah sesuai dengan langkah”

  1. Telusuri program dibawah ini:

ALGORITMA Cari_Maksimum
Kamus
     dat1, dat2, dat3, dat4, big : integer
BEGIN
      INPUT(dat1, dat2, dat3, dat4)
      IF ((dat1 >= dat2) and (dat1 >= dat3) and (dat1 >= dat4)) THEN
           big <-- dat1
      ELSE IF ((dat2 >= dat1) and (dat2 >= dat3) and (dat2 >= dat4))
           big <-- dat2
      ELSE IF ((dat3 >= dat1) and (dat3 >= dat2) and (dat3 >= dat4))
           big <-- dat3
      ELSE
           big <-- dat4
    END IF
    OUTPUT(big)
END
Jika pengguna memasukkan  12, 3, 4, dan 5, maka OUTPUTnya adalah?
Jawab: 12
12



               
  1. Perhatikan penggalan algoritma dibawah ini:
     …….
     IF (a = 10 and b = 5) THEN
          c <-- 156
     ELSE
          c <-- 165
     END IF
    
Jika ternyata variabel  a  diberikan INPUT  5, maka nilai variabel  c  adalah?
Jawab: 165

26.   Telusuri algoritma dibawah ini:

ALGORITMA AllAboutboolean
KAMUS
     x, y, z : boolean
     a : integer
BEGIN
     INPUT(a)   
     x <-- false
     z <-- ((3 + (5 mod 3)) = 5)  
     y <-- (a <= 0)
     IF ((x and y) or (not(y or z))) THEN
          OUTPUT(“Telkom university is The Best”)
     ELSE IF ((y and (not z)) or (x and y)) THEN
          OUTPUT(“Telkom university is The Clean Campus”)
     END IF
     OUTPUT(“Telkom university is The Smart Campus”)
END

Jika pengguna memasukkan  -1, maka OUTPUT algoritma tersebut adalah?
Jawab: “Telkom university is The Smart Campus” is The Smart Campus











                               
  1. Diberikan potongan algoritma sbb :

IF d>0 THEN
                d <-- d + 1
ELSE
                d <-- 59
                IF (m < 0) THEN
                                m <-- m + 1  
                ELSE
                                m <-- 59
                                j <-- j + 1
                ENDIF
END IF
OUTPUT(j+m-d)

Jika secara berurutan nilai j, m dan d adalah 9, 0, dan 0,
maka tampilan akhir kode program diatas adalah?
Jawab: 1010
               
  1. Diberikan potongan algoritma sbb :

INPUT(N)
IF N>10 THEN
                N <-- N + 5
END IF
OUTPUT(N)

Jika dari perintah INPUT(N), dimasukkan data 5,
maka tampilan dari OUTPUT(N) adalah…
Jawab: 5

  1. Diberikan potongan algoritma sbb :
Kamus Data
                a : integer
                b : boolean
Begin
                input(a)
                b ß false
                if (( a  =  10 ) AND  b ) then
                                output(“First ”)
                else
                                output(“Second ”)
                end if
                output(“Third”)
End
Apakah keluaran dari kode program diatas jika pada input(a) dimasukkan nilai 10?
Jawab: “Third”d Third

  1. Jika y diinputkan nilai 16, apakah output dari algoritma di bawah ini:
     Kamus Data
             isFalse: Boolean
             y: Integer
     BEGIN
            Input(y)
            isFalse <-- True
          
            If (True) Then
                If ( ((y Mod 2) = 0) AND isFalse )        
                            y <-- y Div 3      
                Else      
                             y <-- y * y  
                       Endif
    
             Else   
                y <-- 100 
             Endif       
             output(y)
     END