MIKROKONTROLER ATMEGA-16
SKRIPSI
Disusun Oleh :
Hermayadi
08650010
YOGYAKARTA
2013
PROTOTIPE SISTEM PARKIR OTOMATIS BERBASIS
MIKROKONTROLER ATMEGA-16
SKRIPSI
Disusun Oleh :
Hermayadi
08650010
YOGYAKARTA
2013
i
ii
iii
iv
KATA PENGANTAR
shalawat dan salam semoga tercurah kepada Nabi Muhammad Sholallahu ‘alaihi
16”. Sebuah prototipe sistem yang dirancang untuk memudahkan proses parkir
kendaraan.
Penulis mengucapkan terima kasih kepada semua pihak yang telah ikut
membantu memberikan sumbangan dan sarannya sehingga tugas akhir ini dapat
1. Allah SWT karena atas limpahan rahmat dan hidayah-Nya, penulis dapat
menyelesaikan tugas akhir ini dengan lancar tanpa suatu hambatan yang
berarti.
2. Ayahanda Ruspendi dan Ibunda Yayat Priyati atas doa yang tiada henti
dengan baik.
v
4. Bapak Agus Mulyanto, S.Si, M.Kom. selaku ketua Program Studi Teknik
Informatika.
5. Para Dosen Program Studi Teknik Informatika UIN Sunan Kalijaga yang
ini.
9. Keluarga besar "Wisma Fajar" yang telah menjadi teman setia penulis
Wibowo.
10. Keluarga besar "Loosing Memories Band" ; Elvin, Santosa, Missi, dan
Ranto yang telah menemani penulis dan selalu memberikan dukungan bagi
vi
11. Teman - teman "Kaskuser" dan "Karangvaganza" semua yang telah
12. Semua pihak yang telah memberikan bantuan dan dukungan selama
tugas akhir ini yang tidak dapat disebut satu persatu. Terima kasih.
pahala kebaikan atas segala bantuan dan dukungan yang telah diberikan kepada
Penulis
vii
HALAMAN PERSEMBAHAN
viii
HALAMAN MOTTO
Boleh jadi kamu membenci sesuatu, padahal ia amat baik bagimu, dan boleh
jadi (pula) kamu menyukai sesuatu, padahal ia amat buruk bagimu; Allah
mengetahui, sedang kamu tidak mengetahui.
Bila orang mulai dengan kepastian, dia akan berakhir dengan keraguan. Jika
orang mulai dengan keraguan, dia akan berakhir dengan kepastian.
(Francis Bacon)
Ulah taluk pedah jauh, tong hoream pedah anggang, jauh kudu dijugjug,
anggang kudu diteang
(Pepatah Sunda)
Bijak bukan berarti tak pernah salah. Kaya bukan berarti tak pernah susah.
Sukses bukan berarti tak pernah lelah.
(Hermayadi)
ix
DAFTAR ISI
x
2.2 Landasan Teori .................................................................................. 8
xi
3.3.2 Bahan Penelitian ..................................................................... 48
A. Motor Servo…......................................................... 66
B. LCD………………. ................................................ 67
xii
4.3.2.2 Perangkat Lunak Antarmuka (GUI)…… ........................ 80
LAMPIRAN ....................................................................................................... 95
xiii
DAFTAR GAMBAR
xiv
Gambar 3.3 Skema Penempatan Sistem ............................................................... 55
xv
DAFTAR TABEL
Tabel 4.4 Keterangan Jalur Hubungan Push button dan Mikrokontroler ............. 66
Tabel 4.5 Keterangan Jalur Komunikasi Motor Servo dan Mikrokontroler ........ 67
xvii
PROTOTIPE SISTEM PARKIR OTOMATIS BERBASIS
MIKROKONTROLER ATMEGA-16
Hermayadi
NIM. 08650010
INTISARI
xviii
PROTOTYPE OF AUTOMATIC PARKING SYSTEM BASED ON
ATMEGA-16 MICROCONTROLLER
Hermayadi
NIM. 08650010
ABSTRACT
The method used in this research is the design and analysis of experiments
to design a prototype automated parking systems based microcontroller ATMega-
16. As this study used a tool such as hardware and software components as well as
the use of electronic materials.
xix
BAB I
PENDAHULUAN
sosial di masyarakat menjadi sulit untuk dihilangkan. Hal semacam ini tentunya
tentunya menjadi nilai tambah tersendiri jika sistem pengamanan di area parkir
pusat perbelanjaan tersebut memiliki tingkat pengamanan yang bagus. Hal ini
masih menggunakan cara manual. Petugas harus mencatat nomor polisi dari setiap
kendaraan yang memasuki area parkir, mencatat jumlah orang dari kendaraan
tersebut, dan mencatat jumlah helm yang dibawa saat masuk area parkir oleh
kendaraan tersebut.
Masalah duplikasi karcis juga menjadi salah satu alasan penulis merancang
sistem parkir otomatis ini. Kasus duplikasi karcis bisa menjadi masalah yang
besar jika terjadi di area parkir. Pelaku kejahatan duplikasi karcis akan
1
2
menciptakan sebuah sistem parkir otomatis yang diharapkan bisa bermanfaat bagi
kendaraan.
1. Menghasilkan sebuah prototipe sistem parkir yang murah dan hemat biaya.
3. Memberikan solusi yang praktis bagi area parkir yang masih menerapkan
Negeri Sunan Kalijaga Yogyakarta. Penelitian dengan tema sistem parkir pernah
4
dilakukan di kampus lain, hanya saja metode dan bahan yang digunakan berbeda
5.1 Kesimpulan
5.2 Saran
dikembangkan, antaralain :
1. Melengkapi sistem dengan sistem scan gambar otomatis pada saat keluar
area parkir.
91
92
93
94
Putra, Agfianto Eko. 2010. Mikrokontroller AT89 Dan AVR. Yogyakarta: Gava
Media.
LAMPIRAN A
uses SampleGrabber1:
TSampleGrabber;
Windows, Messages, SysUtils,
Variants, Classes, Graphics, Filter1: TFilter;
Controls, Forms,
Timer_memo: TTimer;
Dialogs, CPort, Menus,
StdCtrls, ExtCtrls, DSPack, Label10: TLabel;
DirectShow9, jpeg,
Memo1: TMemo;
DSutil, CPortCtl, ComCtrls, DB,
IBDatabase, ShellAPI, ComObj, PageControl1: TPageControl;
Mask,
TabSheet1: TTabSheet;
DBCtrls, EDBImage, QuickRpt,
TabSheet2: TTabSheet;
QRCtrls, Grids, DBGrids,
SMDBGrid, Calendar,
Shape1: TShape;
SMCalendar;
Shape2: TShape;
Shape3: TShape;
type
ComLed1: TComLed;
TForm1 = class(TForm)
Label6: TLabel;
MainMenu1: TMainMenu;
Label7: TLabel;
Menu1: TMenuItem;
Label8: TLabel;
Setting1: TMenuItem;
Label9: TLabel;
Port1: TMenuItem;
VideoWindow1: TVideoWindow;
ComPort1: TComPort;
Label5: TLabel;
Timer_waktu: TTimer;
StatusBar1: TStatusBar;
Laporan1: TMenuItem;
TabSheet3: TTabSheet;
Exit1: TMenuItem;
Database1: TMenuItem;
TestKoneksi1: TMenuItem;
EDBImage1: TEDBImage;
est1: TMenuItem;
DBEdit1: TDBEdit;
Connect1: TMenuItem;
DBEdit2: TDBEdit;
Kamera1: TMenuItem;
DBEdit3: TDBEdit;
95
96
procedure
Button3Click(Sender: TObject); var
procedure
Edit3KeyPress(Sender: TObject;
implementation
var Key: Char);
uses dm_parkir,u_laporan_park;
procedure
Button6Click(Sender: TObject); {$R *.dfm}
procedure
Button7Click(Sender: TObject);
procedure
procedure TForm1.Timer_waktuTimer(Sender:
Button8Click(Sender: TObject); TObject);
procedure var
Button9Click(Sender: TObject);
sekarang : TDateTime;
procedure
Button10Click(Sender: TObject); tanggal,bulan,tahun : Word;
procedure begin
Laporan1Click(Sender: TObject);
Label1.Caption:=timetostr(now);
procedure Edit2Change(Sender:
TObject);
public Label4.Caption:=inttostr(tahun);
{ Public declarations }
99
StatusBar1.Panels[2].Text:=label1 ComPort1.Connected:=False;
.Caption;
ComPort1.Port:='';
StatusBar1.Panels[3].Text:=label1
1.Caption;
end; Shape1.Brush.Color:=clMaroon;
Shape2.Brush.Color:=clMaroon;
procedure Shape3.Brush.Color:=clMaroon;
TForm1.TestKoneksi1Click(Sender:
TObject);
begin forcedirectories('C:\Program
Files\Sistem Parkir\temp\');
if Shape3.Brush.Color=clMaroon
then setcurrentdir('C:\Program
Files\Sistem Parkir\temp\');
begin
comport1.WriteStr('t'); //+
#13#10 Laporan1.Enabled:=false;
end TestKoneksi1.Enabled:=False;
else end;
Shape3.Brush.Color:=clMaroon;
end; procedure
TForm1.Connect1Click(Sender:
TObject);
procedure begin
TForm1.Port1Click(Sender:
TObject); try
begin if (ComPort1.Connected=false)
and (ComPort1.Port<>'') then
ComPort1.ShowSetupDialog;
begin
end;
ComPort1.Connected:=True;
procedure Connect1.Caption:='Disconnect
TForm1.FormCreate(Sender: Mikro';
TObject);
begin Shape1.Brush.Color:=clGreen;
CapEnum:=
TSysDevEnum.Create(CLSID_VideoInp TestKoneksi1.Enabled:=True;
utDeviceCategory);
end
100
else if
ComPort1.Connected=True then Filter1.BaseFilter.Moniker:=capen
um.GetMoniker(0);
begin
FilterGraph1.Active:=true;
Connect1.Caption:='Connect
Mikro'; Renderstream(@PIN_CATEGORY_PREVIE
W, nil,
SampleGrabber1 as
TestKoneksi1.Enabled:=False; IBaseFilter,
end; VideoWindow1 as
IbaseFilter);
except
filtergraph1.Play;
Abort;
end;
end; Kamera1.Caption:='Disconnect
Kam';
procedure Shape2.Brush.Color:=clGreen;
TForm1.Kamera1Click(Sender:
TObject); end
begin else
try
Shape2.Brush.Color:=clMaroon;
if FilterGraph1.Active=False
then end;
begin except
FilterGraph1.ClearGraph; abort;
FilterGraph1.Active := end;
false;
end;
101
end; var
str_in,ID : string;
begin comport1.ReadStr(str_in,100);
capenum.Free; //memo1.Text:=memo1.Text +
str_in;
filtergraph1.ClearGraph;
filtergraph1.Active:=false;
if str_in='b' then
end;
//Memo1.Lines.Clear;
begin
procedure
TForm1.FormClose(Sender: TObject; for i:=0 to 0 do
var Action: TCloseAction);
begin
begin
SpVoice :=
Shape1.Brush.Color:=clMaroon; CreateOleObject('SAPI.SpVoice');
SpVoice.Speak('ada,
kendaraan baru, yang masuk');
if dm.IBTransaction1.Active=false
then Set8087CW(SavedCW);
//nop; end;
else if
dm.IBTransaction1.Active=True samplegrabber1.GetBitmap(image1.P
then icture.Bitmap);
begin jpg_1:=TJPEGImage.Create;
dm.IBTransaction1.CommitRetaining jpg_1.Assign(image1.Picture.Bitma
; p);
end; jpg_1.SaveToFile('C:\Program
Files\Sistem
end; Parkir\temp\kendaraan.jpg');
procedure
TForm1.ComPort1RxChar(Sender:
TObject; Count: Integer); begin
102
if (num>=10000) and
dm.IBQuery_ID.Active:=False; (num<100000) then
dm.IBQuery_ID.Close; ID:='00'+IntToStr(num);
dm.IBQuery_ID.SQL.Add('SELECT ID:='0'+IntToStr(num);
COUNT(TB_PARKIR.URUT) AS URUT');
if (num>=1000000) then
dm.IBQuery_ID.SQL.Add('FROM
TB_PARKIR'); ID:=IntToStr(num);
dm.IBQuery_ID.Open; }
dm.IBQuery_ID.Active:=true;
end; ID:='PRK-'+IntToStr(num);
//ID
if not dm.IBQuery_parkir.Active:=false;
(dm.IBQuery_ID.FieldByName('URUT'
).IsNull) then dm.IBQuery_parkir.Close;
dm.IBQuery_parkir.SQL.Clear;
num:=strtoint(dm.IBQuery_ID.Field
ByName('URUT').Value) + 1
dm.IBQuery_parkir.SQL.Add('INSERT
else INTO TB_PARKIR');
num:=1;
dm.IBQuery_parkir.SQL.Add('(ID_PA
RKIR,TGL_MASUK,JAM_MASUK,FOTO,BIA
YA,FLAG,URUT)');
{
dm.IBQuery_parkir.ParamByName('PF dm.IBDatabase1.Connected:=True;
OTO').LoadFromFile('C:\Program
Files\Sistem
Parkir\temp\kendaraan.jpg',dm.IBT dm.IBTransaction1.Active:=True;
able_parkirFOTO.BlobType);
dm.IBTable_parkir.Active:=True;
dm.IBQuery_parkir.ParamByName('PB
IAYA').AsFloat:=1500;
dm.IBTable_parkir_out.Active:=Tru
e;
dm.IBQuery_parkir.ParamByName('PF
LAG').AsString:='0';
database1.Caption:='Disconnect
DB';
dm.IBQuery_parkir.ParamByName('PU
RUT').AsInteger:=num;
Shape3.Brush.Color:=clGreen;
dm.IBQuery_parkir.Open;
Laporan1.Enabled:=true;
dm.IBQuery_parkir.Active:=true; MessageDlg('Berhasil
terkoneksi ke
database',mtInformation,[mbOK],0)
end
dm.IBTransaction1.CommitRetaining
; else if
dm.IBDatabase1.Connected=True
dm.IBTable_parkir.Refresh; then
begin
dm.IBTable_parkir.Last;
dm.IBDatabase1.Connected:=False;
QuickRep1.Print;
end; dm.IBTransaction1.Active:=False;
end;
dm.IBTable_parkir.Active:=false;
procedure dm.IBTable_parkir_out.Active:=Fal
TForm1.Database1Click(Sender: se;
TObject);
try
Shape3.Brush.Color:=clMaroon;
if
dm.IBDatabase1.Connected=false Laporan1.Enabled:=false;
then
end;
begin
104
except
Abort; if not
(dm.IBQuery_ID.FieldByName('URUT'
end; ).IsNull) then
end;
num:=strtoint(dm.IBQuery_ID.Field
ByName('URUT').Value) + 1
procedure else
TForm1.Button1Click(Sender:
TObject); num:=1;
begin
dm.IBTable_parkir.Last; {
end; ID:='000000'+IntToStr(num);
ID:='0'+IntToStr(num);
dm.IBQuery_ID.SQL.Add('SELECT
COUNT(TB_PARKIR.URUT) AS URUT'); if (num>=1000000) then
dm.IBQuery_ID.SQL.Add('FROM ID:=IntToStr(num);
TB_PARKIR');
}
dm.IBQuery_ID.Open;
dm.IBQuery_ID.Active:=true;
ID:='PRK-'+inttostr(num);
end; //ID;
105
dm.IBQuery_parkir.Active:=false; dm.IBQuery_parkir.Active:=true;
dm.IBQuery_parkir.Close;
dm.IBQuery_parkir.SQL.Clear;
dm.IBTransaction1.CommitRetaining
;
dm.IBQuery_parkir.SQL.Add('INSERT
INTO TB_PARKIR'); dm.IBTable_parkir.Refresh;
end;
dm.IBQuery_parkir.SQL.Add('(ID_PA
RKIR,TGL_MASUK,JAM_MASUK,FOTO,BIA
YA,FLAG,URUT)');
procedure
TForm1.Exit1Click(Sender:
dm.IBQuery_parkir.SQL.Add('VALUES TObject);
(:PID_PARKIR,:PTGL_MASUK,:PJAM_MA
SUK,:PFOTO,:PBIAYA,:PFLAG,:PURUT) begin
');
if dm.IBTransaction1.Active=false
then
dm.IBQuery_parkir.ParamByName('PI
Close
D_PARKIR').AsString:=ID;
else if
dm.IBTransaction1.Active=True
dm.IBQuery_parkir.ParamByName('PT
then
GL_MASUK').AsDate:=StrToDate(labe
l11.Caption);
begin
dm.IBQuery_parkir.ParamByName('PJ
dm.IBTransaction1.CommitRetaining
AM_MASUK').AsTime:=StrToTime(labe
;
l1.Caption);
Close;
dm.IBQuery_parkir.ParamByName('PF end;
OTO').LoadFromFile('C:\Program
Files\Sistem end;
Parkir\temp\kendaraan.jpg',dm.IBT
able_parkirFOTO.BlobType);
procedure
dm.IBQuery_parkir.ParamByName('PB TForm1.Button3Click(Sender:
IAYA').AsFloat:=1500; TObject);
begin
dm.IBQuery_parkir.ParamByName('PF
LAG').AsString:='0';
dm.SMDBFindDialog1.ShowDialog:=Fa
lse;
dm.IBQuery_parkir.ParamByName('PU
RUT').AsInteger:=num;
dm.SMDBFindDialog2.ShowDialog:=Fa
dm.IBQuery_parkir.Open; lse;
106
dm.SMDBFindDialog1.FindValue:=Edi
t4.Text+edit3.Text; jam_db:=0;
menit_db:=0;
dm.SMDBFindDialog2.FindValue:=Edi
t4.Text+edit3.Text; tanggal_db:=0;
dm.SMDBFindDialog1.Execute; bulan_db:=0;
dm.SMDBFindDialog2.Execute; tahun_db:=0;
end; jam_htg:=0;
menit_htg:=0;
procedure tanggal_htg:=0;
TForm1.Button4Click(Sender:
bulan_htg:=0;
TObject);
tahun_htg:=0;
var
ID : string;
uang:=0;
jam_now,menit_now,tanggal_now,bul
an_now,tahun_now,
id:=Edit1.Text+edit2.Text;
jam_db,menit_db,tanggal_db,bulan_
db,tahun_db,
jam_now:=StrToInt(label1.Caption[
jam_htg,menit_htg,tanggal_htg,bul 1]+label1.Caption[2]);
an_htg,tahun_htg,
jam : TTime;
tanggal_now:=StrToInt(label11.Cap
tion[4]+label11.Caption[5]);
begin
Label15.Caption:='0';
bulan_now:=StrToInt(label11.Capti
on[1]+label11.Caption[2]);
jam_now:=0;
tahun_now:=StrToInt(label11.Capti
menit_now:=0; on[7]+label11.Caption[8]+label11.
Caption[9]+label11.Caption[10]);
tanggal_now:=0;
bulan_now:=0;
tahun_now:=0; jam_db:=StrToInt(DBEdit3.Text[1]+
DBEdit3.Text[2]);
107
end;
menit_db:=StrToInt(DBEdit3.Text[4
]+DBEdit3.Text[5]); if (tanggal_htg>=1) and
(bulan_htg<=0) and (tahun_htg<=0)
then
tanggal_db:=StrToInt(DBEdit2.Text
[4]+DBEdit2.Text[5]); begin
uang:=15000;
bulan_db:=StrToInt(DBEdit2.Text[1
]+DBEdit2.Text[2]); end;
if (tanggal_htg>=2) and
tahun_db:=StrToInt(DBEdit2.Text[7 (bulan_htg<=0) and (tahun_htg<=0)
]+DBEdit2.Text[8]+DBEdit2.Text[9] then
+DBEdit2.Text[10]);
begin
uang:=25000;
jam_htg:=jam_now-jam_db;
end;
menit_htg:=menit_now-menit_db;
if (tanggal_htg>=3) and
tanggal_htg:=tanggal_now- (bulan_htg<=0) and (tahun_htg<=0)
tanggal_db; then
bulan_htg:=bulan_now-bulan_db; begin
tahun_htg:=tahun_now-tahun_db; uang:=55000;
end;
uang:=1500 begin
uang:=2500 end;
uang:=4500
label15.Caption:=FloatToStr(uang)
else if (jam_htg>3) then ;
uang:=6500;
108
dm.IBQuery_parkir.Active:=false; dm.IBQuery_parkir.SQL.Add('INSERT
INTO TB_PARKIR_OUT');
dm.IBQuery_parkir.Close;
dm.IBQuery_parkir.SQL.Clear; dm.IBQuery_parkir.SQL.Add('(ID_PA
RKIR,TGL_KELUAR,JAM_KELUAR)');
dm.IBQuery_parkir.SQL.Add('UPDATE
TB_PARKIR'); dm.IBQuery_parkir.SQL.Add('VALUES
(:PID_PARKIR,:PTGL_KELUAR,:PJAM_K
dm.IBQuery_parkir.SQL.Add('SET ELUAR)');
FLAG = 1, BIAYA = :PBIAYA');
dm.IBQuery_parkir.ParamByName('PI
dm.IBQuery_parkir.SQL.Add('WHERE D_PARKIR').AsString:=ID;
ID_PARKIR = '''+ID+'''');
dm.IBQuery_parkir.ParamByName('PT
dm.IBQuery_parkir.ParamByName('PB GL_KELUAR').AsDate:=StrToDate(lab
IAYA').AsFloat:=uang; el11.Caption);
dm.IBQuery_parkir.Open;
dm.IBQuery_parkir.ParamByName('PJ
dm.IBQuery_parkir.Active:=true;
AM_KELUAR').AsTime:=StrToTime(lab
el1.Caption);
dm.IBQuery_parkir.Open;
dm.IBQuery_parkir.Active:=false;
dm.IBQuery_parkir.Active:=true;
dm.IBQuery_parkir.Close;
dm.IBQuery_parkir.SQL.Clear;
dm.IBTransaction1.CommitRetaining
;
dm.IBQuery_parkir.SQL.Add('DELETE
FROM TB_PARKIR_OUT');
dm.IBQuery_parkir.SQL.Add('WHERE
dm.SMDBFindDialog1.ShowDialog:=Fa
ID_PARKIR = '''+ID+'''');
lse;
dm.IBQuery_parkir.Open;
dm.SMDBFindDialog1.FindValue:=Edi
dm.IBQuery_parkir.Active:=true;
t1.Text+edit2.Text;
dm.SMDBFindDialog1.Execute;
end;
dm.IBQuery_parkir.Active:=false;
dm.IBQuery_parkir.Close;
procedure
dm.IBQuery_parkir.SQL.Clear;
TForm1.Edit2KeyPress(Sender:
TObject; var Key: Char);
109
var
dm.IBQuery_parkir.SQL.Add('UPDATE
num : Integer; TB_PARKIR');
begin dm.IBQuery_parkir.SQL.Add('SET
FLAG = 0, BIAYA = 1500');
if key=#13 then
try dm.IBQuery_parkir.SQL.Add('WHERE
ID_PARKIR = '''+ID+'''');
begin
dm.IBQuery_parkir.Open;
Label15.Caption:='0';
dm.IBQuery_parkir.Active:=true;
Button4.Click;
Button4.Click;
end;
dm.IBQuery_parkir.Active:=false;
except
dm.IBQuery_parkir.Close;
MessageDlg('Data tidak
dm.IBQuery_parkir.SQL.Clear;
ada',mtWarning,mbOKCancel,0);
Label15.Caption:='0';
dm.IBQuery_parkir.SQL.Add('DELETE
FROM TB_PARKIR_OUT');
Abort;
end;
dm.IBQuery_parkir.SQL.Add('WHERE
end; ID_PARKIR = '''+ID+'''');
dm.IBQuery_parkir.Open;
procedure dm.IBQuery_parkir.Active:=true;
TForm1.Button5Click(Sender:
TObject);
var
dm.IBTransaction1.CommitRetaining
ID : string; ;
begin
id:=Edit1.Text+edit2.Text;
dm.SMDBFindDialog1.ShowDialog:=Fa
lse;
dm.IBQuery_parkir.Active:=false; dm.SMDBFindDialog1.FindValue:=Edi
t1.Text+edit2.Text;
dm.IBQuery_parkir.Close;
dm.SMDBFindDialog1.Execute;
dm.IBQuery_parkir.SQL.Clear;
Label15.Caption:='0';
110
end; dm.IBTable_parkir.First;
dm.IBTable_parkir_out.First;
procedure if
TForm1.Edit3KeyPress(Sender: dm.IBTable_parkirFLAG.Value='0'
TObject; var Key: Char); then
begin begin
begin DBEdit8.Text:='';
end;
dm.SMDBFindDialog1.ShowDialog:=Fa
lse; end;
dm.SMDBFindDialog2.ShowDialog:=Fa
lse; procedure
TForm1.Button7Click(Sender:
TObject);
dm.SMDBFindDialog1.FindValue:=Edi
t4.Text+edit3.Text; begin
dm.IBTable_parkir.Prior;
dm.SMDBFindDialog2.FindValue:=Edi
dm.IBTable_parkir_out.Prior;
t4.Text+edit3.Text;
if
dm.SMDBFindDialog1.Execute;
dm.IBTable_parkirFLAG.Value='0'
dm.SMDBFindDialog2.Execute; then
if begin
dm.IBTable_parkirFLAG.Value='0'
DBEdit7.Text:='';
then
DBEdit8.Text:='';
begin
end;
DBEdit7.Text:='';
end;
DBEdit8.Text:='';
end;
procedure
end;
TForm1.Button8Click(Sender:
end; TObject);
begin
procedure dm.IBTable_parkir.Next;
TForm1.Button6Click(Sender:
dm.IBTable_parkir_out.Next;
TObject);
begin
111
if DBEdit7.Text:='';
dm.IBTable_parkirFLAG.Value='0'
then DBEdit8.Text:='';
begin end;
DBEdit7.Text:=''; end;
DBEdit8.Text:='';
end; procedure
TForm1.Laporan1Click(Sender:
end; TObject);
begin
procedure form3.show;
TForm1.Button9Click(Sender:
TObject); end;
begin
dm.IBTable_parkir.Refresh; procedure
TForm1.Edit2Change(Sender:
dm.IBTable_parkir_out.Refresh; TObject);
if begin
dm.IBTable_parkirFLAG.Value='0'
then Label15.Caption:='0';
begin end;
DBEdit7.Text:='';
DBEdit8.Text:=''; procedure
TForm1.Edit2Click(Sender:
end; TObject);
end; begin
Label15.Caption:='0';
procedure end;
TForm1.Button10Click(Sender:
TObject); procedure
TForm1.TabSheet3Enter(Sender:
begin TObject);
dm.IBTable_parkir.Last; begin
dm.IBTable_parkir_out.Last; if dm.IBTransaction1.Active=True
then
if
dm.IBTable_parkirFLAG.Value='0' begin
then
dm.IBTable_parkir.Refresh;
begin
112
if dm.IBTransaction1.Active=True
dm.IBTable_parkir_out.Refresh; then
end; begin
end; dm.IBTable_parkir.Refresh;
dm.IBTable_parkir_out.Refresh;
procedure
TForm1.TabSheet3Exit(Sender: end;
TObject);
end;
begin
end.
LAMPIRAN B
$baud = 9600
'Portb = &B11111111
Const Servo_min = 30
Config Portb.2 = Input
Const Servo_max = 120
113
Servo(2) = Servo_min
'################################ Do
#################################
############## Data_masuk = Inkey()
'############################MAIN
PROGRAM##########################
############# Ldr = Getadc(7)
'################################
#################################
If Ldr < 300 Then
##############
Set Lampu
Else
'Set Lampu
Reset Lampu
'Set Relay
End If
Selamat:
Cls
If Pinb.2 = 0 Then
Cursor Off Noblink
Set Portb.2
Upperline
Set Lampu
Lcd "Tes Board"
Cls
Lowerline
Upperline
Lcd "Hermayadi"
Lcd "Selamat Datang"
Wait 2
Lowerline
Lcd ">>>...>>>.."
Main:
Wait 2
Cls
Cls
Upperline
Upperline
Lcd "System Ready.."
Lcd "Silahkan Ambil"
Lowerline
Lowerline
Lcd "Tekan Tbl.Hijau"
Lcd "Struk Parkir"
Start Adc
Print "b"
114
Set Lampu
Waitms 500
Reset Lampu
Waitms 500
Return
Tes:
Set Lampu
Waitms 500
Reset Lampu
Waitms 500
Set Lampu
Waitms 500
Reset Lampu
Waitms 500
Set Lampu
115
LAMPIRAN C
Nama : Hermayadi
Kewarganegaraan : Indonesia
Agama : Islam
No Hp : 082328664146
E-mail : hew_adinugraha@yahoo.co.id
A. Pendidikan Formal