Thursday, November 1, 2012
Teori Bahasa & Automata : Contoh Mesin DFA (part 3)
Teori bahasa dan Automata : Contoh Mesin Deterministic Finite Automata (DFA) ( part 3 )
- Buat teman-teman yang mengambil kuliah Teori Bahasa dan Automata, kalau di part 1 dan part 2 kita membuat program untuk membuat file dan memasukkan datanya, serta untuk menampilkan isi file tersebut maka pada bagian ini kita membuat program untuk mengecek apakah isi file tersebut diterima atau ditolak oleh mesin yang sudah kita rancang.
- Menggunakan program pascal.
- Bila dijalankan maka akan tampil seperti gambar diatas. Bagian yang di kotakin warna kuning adalah input masukan berupa nama file dan lokasi penyimpanannya.
- Apabila ada yang kurang jelas silahkan hubungi email /FB/YM saya. Insya Allah,saya bantu.
- Semoga bermanfaat.
program dfa;
type
sigma='A'..'C';
state=(s0,s1,s2);
var
transitiontable : array[state,sigma] of state;
finalstate : set of state;
fileteks : text;
namafile : string[64];
isibaris : string;
function delta(s:state; c:sigma) : state;
begin
delta := transitiontable[s,c];
end;
function deltabar(s:state) : state;
var
t : state;
i,k : integer;
begin
t :=s;
i :=1;
k :=length(isibaris);
for i:=1 to k do
begin
t :=delta(t,isibaris[i]);
read(isibaris[i]);
end;
deltabar :=t;
end;
function accept : boolean;
begin
accept := deltabar(s0) in finalstate
end;
procedure initialize;
begin
finalstate := [s2];
transitiontable[s0,'A'] := s1;
transitiontable[s0,'B'] := s0;
transitiontable[s0,'C'] := s2;
transitiontable[s1,'A'] := s2;
transitiontable[s1,'B'] := s0;
transitiontable[s1,'C'] := s0;
transitiontable[s2,'A'] := s0;
transitiontable[s2,'B'] := s0;
transitiontable[s2,'C'] := s1;
end;
begin
write('Masukkan Nama File : '); read(namafile);
assign(fileteks,namafile);
reset(fileteks);
writeln('Isi File Tersebut Adalah sbb : ');
while not eof(fileteks) do
begin
readln(fileteks,isibaris);
writeln(isibaris);
end;
close(fileteks);
readln;
writeln ('Apakah Diterima [ ENTER ]: ');
initialize;
if accept then
write( 'ACCEPTED ( DITERIMA )')
else
write('REJECTED (DITOLAK ) ') ;
readln;
readln;
end.
Lihat Juga :
- Mesin DFA (Part 1 ) : Membuat File penyimpanan bertipe teks dan mengisi file dengan input masukan menggunakan Pascal
- Mesin DFA ( Part 2 ) : Melihat Isi File Bertipe Teks Menggunakan Pascal
Stay cool in Gudang Hikmah
Labels:
Bahan Kuliah,
TBA
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment