09/02/19

Contoh Soal Pada Matkul Algoritma 2


Jawablah soal berikut ini dengan baik dan benar !

1.      Buatlah program dengan menggunakan array untuk menginput 10 nilai, bandingkan dan tampilkan nilai terbesar !

2.      Perhatikan program di bawah ini.
Ø  Buatlah algoritma dari program di bawah ini !
Ø  Apa output program di bawah ini dan jelaskan !
Program uts;
Uses crt;

Procedure Hitung(A,B,C: Integer);
begin
  C:=A+B mod 2;
  writeln;
  writeln(' A=',A,' B=',B,' C=',C);
end;

var
X,Y,Z : integer;
begin
 X:=4; Y:=8; Z:=0;
 hitung(X,Y,Z);
 writeln(' X=',X,' Y=',Y, ' Z=',Z);
end.

3.      Buatlah output program di bawah ini dan jelaskan !
program uts;
uses crt;
var n,p,m : integer;
function tambah(a,b : integer) : integer;
begin
            tambah := a + b * 0;
end;
function latihan(a,b,c : integer) : integer;
begin
            latihan := a + b * c;
end;
procedure cetak(a : integer; var b : integer);
var x : integer;
begin
            x := a * b mod 2;
            b := x * 2;
            writeln(x);
end;
begin
clrscr;
n := tambah(1,9);
p := latihan(3,n,0);
m := latihan(n, p, tambah(1,0));
cetak(333,n);
writeln(n);
writeln(p);
writeln(m);
readln;
end.


4.      Perhatikan Program berikut!
Program Luas_dan_Volume_Bola;
ConstPi = 3.14;
Var r : Integer; luas : real;
isi : real;
PROCEDURE Tanya_jari_jaril;
BEGIN
Write (‘Tuliskan jari-jari Bola : ‘);Readln (r);
END;
PROCEDURE Hitung_luas;
BEGIN
Luas := 4 * pi * r * r
END;
PROCEDURE Hitung_volume;
BEGIN
Isi := 4/3 * pi * r * r * rEND;
BEGIN
Tanya_jari_jari;
Hitung_luas;
Hitung_Volume;
Writeln (‘Luas Bola = ‘, luas);
Writeln (‘Volume Bola = ‘, Isi);
END.


a)      Buat algoritma program diatas !
b)      Sebutkan semua variable yang digunakan, beserta ruang lingkupnya !
c)      Dapatkah prosedur Tanya_jari_jari dipanggil dari prosedur hitung_luas ?
d)      Dapatkah prosedur Hitung_luas dipanggil dari Tanya_jari_jari







Jawab :
1.       program dengan menggunakan array untuk menginput 10 nilai, bandingkan dan tampilkan nilai terbesar

program array_10_input;
uses wincrt;
var
{pembuatan array}
  a:array[1..10]of integer;
  i,n,max:integer;
begin
{jumlah input }
  write('masukan bayak nilai =');readln(n);
  {proses input}
  for i:= 1 to n do
  begin
       write('masukan nilai array ',i,'=');readln(a[i]);
  end;

  {proses membandingkan}
   for i:= 1 to n do
  begin
       if max < a[i] then
       begin
       max:= a[i];
       end;
  end;
  {proses hasil}
      writeln ('setelah di bandingkan makan nilai terbesar adalah ', max);
  end.

2.      Perhatikan program
Ø  Buatlah dari program di bawah algoritma ini !

Algoritma
1.      X←4; Y←8; Z←0;
2.      hitung(X,Y,Z);
Algoritma procedur Hitung
3.      hitung(X,Y,Z);
4.C:=A+B mod 2;
5.  writeln(' A=',A,' B=',B,' C=',C);
Algoritma akhir procedur Hitung
6.  writeln(' X=',X,' Y=',Y, ' Z=',Z);

Ø  Apa output program di bawah ini dan jelaskan !
Output
A=4 B=8 C=4
X=4 Y=8 Z=0
Penjelanya ( proses)
1.      Deklarasikan Program uts
2.      Deklarasikan procedure hitung
3.      Deklarasikan variabel x,y,z
4.      Masuk program utama mengisi variabel x=4, y=8, Z=0
5.      Pemangilan procedur hitung dengan prameter (4,8,0)
6.      Dalam persedur hitung melakuan (C=4+8 mod 2) dan melakukan cetak (A=4 B=8 C=4)
7.       Kembali lagi ke program utama cetak X=4 Y=8 Z=0

3.      Fgdf
Output

1
2
3
4

Penjelasan
1.      Masuk Ke program utama bersihkan layar(clrscr)
2.      Pemagilan fungsi tambah(1,9) maka  mendapat nilai balikan untuk n
3.      Pemagilan fungsi latihan(3,1,0) maka mendapat nilai balikan p
4.      Pemagilan fungsi latihan(3,tambah(1,0),0) lalu pagil tambah(1,0), maka nilai balikan tambah dan m
5.      Pemagilan prosedur cetak(333,1)  mejalankan x=333*b mod 2 dan b=x*2
Cetak 1 kelayar
6.      Kembali lagi ke program utama
Cetak 2 kelayar
Cetak 3 kelayar
Cetak 4 kelayar

4.      Perhatikan Program berikut!
a)                  Buat algoritma program diatas !
Algoritma
1.      ConstPi3.14; r←0; luas←0; isi←0;
2.      Tanya_jari_jari();
Algoritma procedur Tanya_jari_jari;
3.      Write (‘Tuliskan jari-jari Bola : ‘);
4.      Readln (r);
Algoritma akhir procedur Tanya_jari_jari
5.      Hitung_luas();
Algoritma procedur Hitung_luas;
6.      Luas 4 * pi * r * r
Algoritma akhir procedur Hitung_luas
7.      Hitung_Volume ();
Algoritma procedur Hitung_Volume;
8.      Isi 4/3 * pi * r * r * r
Algoritma akhir procedur Hitung_Volume
9.      Writeln (‘Luas Bola = ‘, luas);
10.  Writeln (‘Volume Bola = ‘, Isi);

b)                  Sebutkan semua variable yang digunakan, beserta ruang lingkupnya !
Jawab:
Variable ConstPi  yang memiliki nilai 3.14;
Variabel r  ber tipe Integer;
Variabel luas ber tipe real;
Variabel isi ber tipe real;

c)                  Dapatkah prosedur Tanya_jari_jari dipanggil dari prosedur hitung_luas ?
Jawab: tidak dapat , karena untuk menjalankan proses di prosedur hitung_luas kita memeluhkan data Variabel r  terdapat pada prosedur Tanya_jari_jari


d)                  Dapatkah prosedur Hitung_luas dipanggil dari Tanya_jari_jari ?
Jawab :Dapat , karena hasil proses dari Tanya_jari_jari merupakan kealajutan utuk melakukan proses Prosedur Hitung_luas




VERSI 2

1.      Buatlah program dengan menggunakan array untuk menginput 10 nilai, bandingkan dan tampilkan nilai terbesar !

2.      Perhatikan program di bawah ini.
Ø  Buatlah algoritma dari program di bawah ini !
Ø  Apa output program di bawah ini dan jelaskan !
Program uts;
Uses crt;

Procedure Hitung(A,B,C: Integer);
begin
  C:=A+B mod 2;
  writeln;
  writeln(' A=',A,' B=',B,' C=',C);
end;

var
X,Y,Z : integer;
begin
 X:=4; Y:=8; Z:=0;
 hitung(X,Y,Z);
 writeln(' X=',X,' Y=',Y, ' Z=',Z);
end.

3.      Buatlah output program di bawah ini dan jelaskan !
program uts;
uses crt;
var n,p,m : integer;
function tambah(a,b : integer) : integer;
begin
            tambah := a + b * 0;
end;
function latihan(a,b,c : integer) : integer;
begin
            latihan := a + b * c;
end;
procedure cetak(a : integer; var b : integer);
var x : integer;
begin
            x := a * b mod 2;
            b := x * 2;
            writeln(x);
end;
begin
clrscr;
n := tambah(1,9);
p := latihan(3,n,0);
m := latihan(n, p, tambah(1,0));
cetak(333,n);
writeln(n);
writeln(p);
writeln(m);
readln;
end.


4.      Perhatikan Program berikut!
Program Luas_dan_Volume_Bola;
ConstPi = 3.14;
Var r : Integer; luas : real;
isi : real;
PROCEDURE Tanya_jari_jaril;
BEGIN
Write (‘Tuliskan jari-jari Bola : ‘);Readln (r);
END;
PROCEDURE Hitung_luas;
BEGIN
Luas := 4 * pi * r * r
END;
PROCEDURE Hitung_volume;
BEGIN
Isi := 4/3 * pi * r * r * rEND;
BEGIN
Tanya_jari_jari;
Hitung_luas;
Hitung_Volume;
Writeln (‘Luas Bola = ‘, luas);
Writeln (‘Volume Bola = ‘, Isi);
END.





a)      Buat algoritma program diatas !
b)      Sebutkan semua variable yang digunakan, beserta ruang lingkupnya !
c)      Dapatkah prosedur Tanya_jari_jari dipanggil dari prosedur hitung_luas ?
Dapatkah prosedur Hitung_luas dipanggil dari Tanya_jari_jari ?



Jawab :
1.      program dengan menggunakan array untuk menginput 10 nilai, bandingkan dan tampilkan nilai terbesar

program array_10_input;
uses wincrt;
var
{pembuatan array}
  a:array[1..10]of integer;
  i,n,max:integer;
begin
{jumlah input }
  write('masukan bayak nilai =');readln(n);
  {proses input}
  for i:= 1 to n do
  begin
       write('masukan nilai array ',i,'=');readln(a[i]);
  end;

  {proses membandingkan}
   for i:= 1 to n do
  begin
       if max < a[i] then
       begin
       max:= a[i];
       end;
  end;
  {proses hasil}
      writeln ('setelah di bandingkan makan nilai terbesar adalah ', max);
  end.

2.      Perhatikan program
Ø  Buatlah dari program di bawah algoritma ini !

Algoritma
1.      X←4; Y←8; Z←0;
2.      hitung(X,Y,Z);
Algoritma procedur Hitung
3.      hitung(X,Y,Z);
4.C:=A+B mod 2;
5.  writeln(' A=',A,' B=',B,' C=',C);
Algoritma akhir procedur Hitung
6.  writeln(' X=',X,' Y=',Y, ' Z=',Z);

Ø  Apa output program di bawah ini dan jelaskan !
Output
A=4 B=8 C=4
X=4 Y=8 Z=0
Penjelanya ( proses)
1.      Deklarasikan Program uts
2.      Deklarasikan procedure hitung
3.      Deklarasikan variabel x,y,z
4.      Masuk program utama mengisi variabel x=4, y=8, Z=0
5.      Pemangilan procedur hitung dengan prameter (4,8,0)
6.      Dalam persedur hitung melakuan (C=4+8 mod 2) dan melakukan cetak (A=4 B=8 C=4)
7.       Kembali lagi ke program utama cetak X=4 Y=8 Z=0

3.      Fgdf
Output

1
2
3
4

Penjelasan
1.      Masuk Ke program utama bersihkan layar(clrscr)
2.      Pemagilan fungsi tambah(1,9) maka  mendapat nilai balikan untuk n
3.      Pemagilan fungsi latihan(3,1,0) maka mendapat nilai balikan p
4.      Pemagilan fungsi latihan(3,tambah(1,0),0) lalu pagil tambah(1,0), maka nilai balikan tambah dan m
5.      Pemagilan prosedur cetak(333,1)  mejalankan x=333*b mod 2 dan b=x*2
Cetak 1 kelayar
6.      Kembali lagi ke program utama
Cetak 2 kelayar
Cetak 3 kelayar
Cetak 4 kelayar

4.      Perhatikan Program berikut!
a)                  Buat algoritma program diatas !
Algoritma
1.      ConstPi3.14; r←0; luas←0; isi←0;
2.      Tanya_jari_jari();
Algoritma procedur Tanya_jari_jari;
3.      Write (‘Tuliskan jari-jari Bola : ‘);
4.      Readln (r);
Algoritma akhir procedur Tanya_jari_jari
5.      Hitung_luas();
Algoritma procedur Hitung_luas;
6.      Luas 4 * pi * r * r
Algoritma akhir procedur Hitung_luas
7.      Hitung_Volume ();
Algoritma procedur Hitung_Volume;
8.      Isi 4/3 * pi * r * r * r
Algoritma akhir procedur Hitung_Volume
9.      Writeln (‘Luas Bola = ‘, luas);
10.  Writeln (‘Volume Bola = ‘, Isi);

b)                  Sebutkan semua variable yang digunakan, beserta ruang lingkupnya !
Jawab:
Variable ConstPi  yang memiliki nilai 3.14;
Variabel r  ber tipe Integer;
Variabel luas ber tipe real;
Variabel isi ber tipe real;

c)                  Dapatkah prosedur Tanya_jari_jari dipanggil dari prosedur hitung_luas ?
Jawab: tidak dapat , karena untuk menjalankan proses di prosedur hitung_luas kita memeluhkan data Variabel r  terdapat pada prosedur Tanya_jari_jari


d)                  Dapatkah prosedur Hitung_luas dipanggil dari Tanya_jari_jari ?
Jawab :Dapat , karena hasil proses dari Tanya_jari_jari merupakan kealajutan utuk melakukan proses Prosedur Hitung_luas




Tidak ada komentar:

Posting Komentar