Aplikasi Finite State Automata (FSA) dengan delphi: - Finite Automata adalah mesin abstrak berupa sistem model matematika dengan masukan dan keluaran diskrit yang dapat mengenali bahasa paling sederhana dan dapat di implementasikan secara nyata dimana sistem dapat berada disalah datu sejumlah berhingga konfigurasi intenral disebut state.
Untuk kali ini saya akan berbagi Aplikasi Finite State Automata (FSA) yang menggunakan bahasa pemograman Delphi, dan semoga bermanfaat aplikasi ini bagi temen temen yang lagi menempuh mata kuliah TBO (Teori Bahasa Automata)
Gambar Aplikasi Finite State Automata |
Procedure TForm1.FSAfungsi(state:string;transisi:string);
var
i:integer;
begin
if(state='q0')and (transisi='a')then
begin
state:=StringGrid1.Cells[1,1];
end;
if(state='q0')and (transisi='b')then
begin
state:=StringGrid1.Cells[2,1];
end;
if(state='q1')and (transisi='a')then
begin
state:=StringGrid1.Cells[1,2];
end;
if(state='q1')and (transisi='b')then
begin
state:=StringGrid1.Cells[2,2];
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
jumlahstring : integer;
i:integer;
state,stateawal,statehasil,stateakhir:string;
begin
if Edit1.Text = '' then
ShowMessage('Masukkan Input String!!!')
else begin
if Edit2.Text = '' then
ShowMessage('Tentukan State Awal!!!')
else begin
if Edit3.Text = '' then
begin
ShowMessage('Tentukan State Akhir!!!');
exit;
end;
statehasil:=state;
stateawal:=edit2.Text;
stateakhir:=edit3.Text;
jumlahstring:=0;
for i:=1 to Length(Trim(edit1.Text))do
begin
FSAfungsi(stateawal,Edit1.Text[i]);
Memo1.Lines.Add('('+stateawal+','+Edit1.Text[i]+')='+statehasil);
stateawal:=statehasil;
Inc(jumlahstring);
end;
if (statehasil=stateakhir)and (jumlahstring=Length(edit1.text)) then
begin
Memo1.lines.add('String diterima');
end
else
Memo1.lines.add('String ditolak');
end;
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if MessageDlg('Ulangi????',
mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Memo1.Text:='';
end;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
if MessageDlg('ANDA YAKIN INGIN KELUAR DARI APLIKASI INI?',
mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
application.Terminate;
end;
end;
procedure TForm1.formshow(Sender: TObject);
begin
StringGrid1.Cells[0,1]:='q0';
StringGrid1.Cells[0,2]:='q1';
StringGrid1.Cells[1,0]:='a';
StringGrid1.Cells[2,0]:='b';
StringGrid1.Cells[1,1]:='q0';
StringGrid1.Cells[1,2]:='q0';
StringGrid1.Cells[2,1]:='q1';
StringGrid1.Cells[2,2]:='q1';
end;
0 Response to Aplikasi Finite State Automata (FSA) dengan delphi
Post a Comment