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: linux-programming-unsubscr...@linux.or.id
Arsip dan info: http://linux.or.id/milis

Kirim email ke