Hallo juga Muntaz,
Saya akan coba mengoreksi dan maap jika ada yang salah.
Saya rasa permasalahan utama terletak pada variabel kata yang terletak
pada prosedure isi dan proses. Kedua variable tersebut bersifat lokal, jadi
isi variabel kata pada prosedur isi tidak akan tertransfer ke dalam variabel
kata yang terletak pada prosedur proses, MESKIPUN nama variabelnya sama.
Pertama, coba keluarkan variabel kata menjadi variabel global, baru kemudian
masukkan ke dalam prosedur isi dan proses sebagai parameter by reference.
Saya coba modifikasi:
uses crt;
type
TArrayKata = array[1..100] of string[50];
procedure isi(var n :byte;var aArray:TArrayKata);
var
a : byte;
begin
write('Jumlah array ?');
readln(n);
for a := 1 to n do begin
write('kata array ke-', a, '-> ');
readln(aArray[a]);
end;
end;
procedure proses(var n, v, k :byte; var vok, kon :string; var
aArray:TArrayKata);
var
huruf : array[1..100] of string[1];
tkata : string;
a,b,l : byte;
begin
vok := '';
kon := '';
v := 0;
k := 0;
writeln(n);
for a := 1 to n do begin
tkata := '';
tkata := aArray[a];
l := 0;
l := length(aArray[a]);
for b := 1 to l do begin
huruf[b] := tkata[b];
if (huruf[b]='a') or (huruf[b]='i') or
(huruf[b]='u') or (huruf[b]='e') or
(huruf[b]='o') then begin
inc(v);
vok := vok+huruf[b];
end
else begin
inc(k);
kon := kon+huruf[b];
end;
end;
end;
end;
procedure tampil(var v, k :byte; var vok, kon :string);
begin
writeln;
writeln('vokal = ', v, '-> ', vok);
writeln('konsonan = ', k, '-> ', kon);
end;
var vok, kon : string;
h, i, j : byte;
kata : TArrayKata;
begin
clrscr;
isi(h, kata);
proses(h, i, j, vok, kon, kata);
tampil(i, j, vok, kon);
readln;
end.
--
Berhenti langganan: [email protected]
Arsip dan info: http://linux.or.id/milis