Minggu, 28 Desember 2008

Perkalian Matriks

program kalimatriks

kamus
x : array[1..3,1..4] of integer
y : array[1..4,1..3] of integer
hslkli : array[1..4,1..3] of integer
hsl:array[1..4,1..3] of integer
i,j : integer
procedure input_data(output a : array[1..3,1..4] of integer,b : array[1..4,1..3] of integer)
procedure kali(input a : array[1..3,1..4] of integer,b : array[1..4,1..3] of integer;output c : array[1..3,1..4] of integer)

Algoritma
input_data(x[i,j],y[i,j])
kali(x[i,j], y[j,i], hslkali[i,j])
{end of program}

procedure input_data(output a : array[1..3,1..4] of integer,b : array[1..4,1..3] of integer)
{F.S : isi dari variabel a dan b masih kosong}
{I.S : variabel a dan b sudah ada isinya}

kamus lokal

Algoritma
i traversal [1..3] begin
j traversal [1..4] begin
output('Matriks 1 (',i,',',j,' ) : ')
input(a[i,j])
end
end

i traversal [1..4] begin
j traversal [1..3] begin
output('Matriks 2 (',i,',',j,' ) : ')
input(b[i,j])
end
end
{end of procedure}

procedure kali(input a : array[1..3,1..4] of integer,b : array[1..4,1..3] of integer;output c : array[1..3,1..4] of integer)
{F.S : diberikan nilai dari variabel a dan b}
{I.S : didapatkan hasil perkalian a dan b}

kamus lokal

Algoritma
hsl<--0
i traversal [1..4] begin
j traversal [1..3] begin
c[i,j]<--a[i,j] * b[j,i]
hsl[i,j] <-- c[i,j] + hsl[i,j]
output(hsl[i,j])
end
end
{end of procedure}

Pengurangan Matriks

program kurang_matriks
kamus
x:array[1..4,1..4] of integer
y:array[1..4,1..4] of integer
hsl : array[1..4,1..4] of integer
i,j : integer
procedure input
procedure kurang

algoritma
input
kurang
{end Of program}

procedure input
kamus lokal

algoritma
i traversal [1..4] do begin
j traversal [1..4] do begin
output('matriks1 ',i,',',j,' : ')
input(x[i,j])
end
end

i traversal [1..4] do begin
j traversal [1..4] do begin
output('matriks2 ',i,',',j,' : ')
input(y[i,j])
end
end
{end of procedure}

procedure kurang
kamus

algoritma
i traversal [1..4] do begin
j traversal [1..4] do begin
hsl[i,j]<--x[i,j] - y[i,j]
output('hasil ',i,',',j,' : ',hsl[i,j])
end
end
{end of procedure}

Penjumlahan Matriks

program jumlah_matriks
kamus
x:array[1..4,1..4] of integer
y:array[1..4,1..4] of integer
jmlh : array[1..4,1..4] of integer
i,j : integer
procedure input
procedure jumlah

algoritma
input
jumlah
{end Of program}

procedure input
kamus lokal

algoritma
i traversal [1..4] do begin
j traversal [1..4] do begin
output('matriks1 ',i,',',j,' : ')
input(x[i,j])
end
end

i traversal [1..4] do begin
j traversal [1..4] do begin
output('matriks2 ',i,',',j,' : ')
input(y[i,j])
end
end
{end of procedure}

procedure jumlah
kamus

algoritma
i traversal [1..4] do begin
j traversal [1..4] do begin
jmlh[i,j]<--x[i,j] + y[i,j]
output('jumlah ',i,',',j,' : ',jmlh[i,j])
end
end
{end of procedure}

cari "and" versi 2

program cari_and2

kamus
cc : char
pitaChar:string
ci,jumand:integer
cek : boolean
procedure start
procedure adv

algoritma
input(pitaChar)
start
cek<--false
jumand<--0
while (cc<>'.')do begin
if cc='a' then begin
cek<--true
adv
if (cc='n' and cek) then begin
adv
if cc='d' then
jumand<--jumand + 1
end
end
adv
end
output(jumand)
{end of program}

procedure start
{I.S.:-}
{F.S.:nilai dari variabel ci adalah 0, dan cc bernilai pita char ke-0}
Kamus lokal

Algoritma
begin

ci<--0
cc<--pitaChar[ci]
end

procedure adv
{I.S.:nilai dari variabel ci adalah 0, dan cc bernilai pita char ke-0}
{F.S.:nilai dari variabel ci bertambah 1, dan cc bernilai pitachar ke ci+1}
Kamus Lokal

Algoritma
begin

ci<--ci + 1
cc<--pitaChar[ci]
end

Cari "and"

program cari_and

kamus
c1,c2,cc : char
pitaChar:string
ci,jumand:integer
procedure start_couple
procedure adv_couple

algoritma
input(pitaChar)
start_couple
jumand<--0
while (cc<>'.')do begin
if (c1='a' and c2 ='n') then begin
adv_couple
if c2='d' then
jumand<--jumand + 1
end
adv_couple
end
output(jumand)
{end of program}

procedure start_couple
{I.S : semua variabel yang digunakan kosong}
{F.S : semua variabel terisi kecuali c1}
kamus lokal

algoritma
ci<--1
cc<--pitaChar[ci]
c1<--''
c2<--cc
{end of procedure}

procedure adv_couple
{I.S : semua variabel terisi kecuali c1}
{F.S : semua variabel terisi}

kamus lokal

algoritma
ci<--ci + 1
cc<--pitaChar[ci]
c1<--c2
c2<--cc
{end of procedure}

Rabu, 03 Desember 2008

Hitung kata asik

Hitunglah berapa banyak kata "asik" yang muncul!

jawab :
program hitung_asik
kamus

cc:char
ci:integer
pitaChar:string
jumlah:integer
procedure start
procedure adv


Algoritma

begin
input(pitaChar)
jumlah<--0 while (cc <> '.') do
begin
if (cc='a') then
begin
adv
if (cc='s') then
begin
adv
if (cc='i')then
begin
adv
if (cc='k') then
begin
jumlah<--jumlah + 1
adv
end
end
end
end
else
adv
end
output('Jumlah kata asik yang muncul adalah ',jumlah)
end


procedure start
{I.S.:-}
{F.S.:nilai dari variabel ci adalah 0, dan cc bernilai pita char ke-0}
Kamus lokal

Algoritma
begin

ci<--0
cc<--pitaChar[ci]

end

procedure adv
{I.S.:nilai dari variabel ci adalah 0, dan cc bernilai pita char ke-0}
{F.S.:nilai dari variabel ci bertambah 1, dan cc bernilai pitachar ke ci+1}
Kamus Lokal

Algoritma
begin

ci<--ci + 1
cc<--pitaChar[ci]

end