BAB VI KESIMPULAN DAN SARAN
6.2. Saran
1. Aplikasi untuk ke depannya dapat digunakan untuk pengontrolan semua peralatan listrik contohnya AC, pompa air dan lain-lain.
2. Dapat menggunakan telepon seluler dengan SMS untuk mematikan atau menyalakan listrik
3. Pemantauan jadwal tanpa menggunakan PC, jadi langsung melalui mikrokontroler.
Budioko, totok, belajar dengan mudah dan cepat pemrograman bahasa dengan
SDCC pada mikrokontroler Atmega 8/16/32 Teori, Simulasi, Aplikasi, penerbit
gava media yogyakarta 2005.
http://www.mytutorialcafe.com
Anonim ,Applikasi Notes,delta-elektronic, www.delta-elektronic.com , 2006 Mavino, (1991) Dasar-dasar Elektronika, Erlangga.
www.atmel\mcs51.com
www.widodo\artikelltronika.com
Atmel, 2009, “Datasheet Product”, pada www.atmel.com, Diakses (online) pada tanggal: 5 November 2009
Malik, I, 2003, Belajar Mikrokontroler Atmel Atmega 16, PT. gava media. Yogyakarta
Wahyudin, D, 2007, Belajar Mudah Mikrokontroler Dengan Bahasa Pemrograman Delphi, Andi Offset, Yogyakarta
Wasito, 1983, Kumpulan Data Penting Komponen, Erlangga, Jakarta.
Source Code Login Operat or unit Unit 3;
int erface uses
Window s, Messages, SysUt ils, Var iant s, Classes, Gr aphics, Cont r ols, For m s, Dialogs, St dCt r ls, sCom boBox, sEdit , sBut t on, sLabel, Ext Ct r ls, sPanel, But t ons, sSpeedBut t on, sBit Bt n, acPNG, DB, ADODB, Gr ids, DBGr ids; t ype
TFor m Login = class( TFor m ) sPanel1: TsPanel; sLabel2: TsLabel; sLabel3: TsLabel; UserEdit : TsEdit ; PasswEdit : TsEdit ; Bt nOk: TsBit Bt n; Bt nCncl: TsBit Bt n; I m age1: TI m age; Label1: TLabel;
pr ocedur e Bt nCnclClick( Sender : TObj ect ) ; pr ocedur e Bt nOkClick( Sender : TObj ect ) ; pr iv at e
{ Pr ivat e declar at ions } public
{ Public declar at ions } end;
var
For m Login: TFor m Login; im plem ent at ion
uses Unit 1; { $R * .dfm }
pr ocedur e TFor m Login.Bt nCnclClick( Sender : TObj ect ) ; begin
label ulang; begin
if User Edit .Text = '' t hen begin
Applicat ion.MessageBox ( 'User I D Belum diisi','Peringat an',MB_OK or MB_I CONEr r or ) ;
got o ulang; end;
if Passw Edit .Text = '' t hen begin
Applicat ion.MessageBox ( 'Passw ord Belum diisi','Peringat an',MB_OK or MB_I CONEr r or ) ;
got o ulang; end;
var
For m 1: TFor m 1;
st at : ar r ay[ 1..8] of Boolean; st at x: ar r ay[ 1..8] of int eger ; ADOQ: ar r ay[ 1..8] of TADOQuer y; I m age: ar r ay[ 1..8] of TI m age; w akt u,st r: st r ing;
bps: ar r ay[ 1..8] of Boolean; t 1,t 2: st r ing;
im plem ent at ion
uses unit 2,unit 3,unit 4,unit 14,unit 6,St r Ut ils; { $R * .dfm }
pr ocedur e TFor m 1.Bt nLoginClick( Sender : TObj ect ) ; label ulang;
begin
if Bt nLogin.Capt ion= 'Login' t hen For m Login.ShowModal
else begin
if Applicat ion.MessageBox ( 'Logout ','Peringat an',MB_YESNO or MB_I CONQUESTI ON) = m r No t hen
got o ulang;
Bt nLogin.Capt ion: = 'Login'; Bt nLogin.Visible: = Tr ue; Panel1.Visible: = False; Panel2.Visible: = False; Panel1.Left : = 120; sBit Bt n1.Capt ion: = ''; sBit Bt n1.Enabled: = false;
ulang: end;
pr ocedur e TFor m 1.sBit Bt n1Click( Sender : TObj ect ) ; begin
/ / For m 1.Close; Bt nLogin.Click ;
/ / sBit Bt n1.Visible: = False; end;
pr ocedur e TFor m 1.sSpeedBut t on8Click( Sender : TObj ect ) ; begin
For m 14.ShowModal; end;
pr ocedur e TFor m 1.sSpeedBut t on2Click( Sender : TObj ect ) ; begin
Tim er 2.Enabled: = false; For m 2.Show Modal; end;
pr ocedur e TFor m 1.sSpeedBut t on1Click( Sender : TObj ect ) ; begin
For m 4.Show Modal; end;
pr ocedur e TFor m 1.sSpeedBut t on6Click( Sender : TObj ect ) ; begin
For m 6.Show Modal; end;
pr ocedur e TFor m 1.Tim er1Tim er ( Sender : TObj ect ) ; begin
sLabel2.Capt ion: = Form at Dat eTim e( 'dddd',now ) ; sLabel1.Capt ion: = Tim eToSt r ( t im e) ;
end;
pr ocedur e TFor m 1.Tim er2Tim er ( Sender : TObj ect ) ; var har i,Tim eA,Tim eB: st r ing;
ruang,i: int eger; dat ax: int eger; begin
if sLabel2.Capt ion= 'Monday' t hen har i: = 'Senin'; if sLabel2.Capt ion= 'Tuesday' t hen har i: = 'Selasa'; if sLabel2.Capt ion= 'Wednesday't hen har i: = 'Rabu'; if sLabel2.Capt ion= 'Thur sday ' t hen hari: = 'Kam is'; if sLabel2.Capt ion= 'Fr iday' t hen har i: = 'Jum at ';
for i: = 1 t o 8 do st at x[ i] : = 0; for r uang: = 1 t o 8 do begin if bps[ r uang] = false t hen begin Applicat ion.Pr ocessMessages; ADOQ[ r uang] .SQL.Clear ; ADOQ[ r uang] .Close;
ADOQ[ r uang] .SQL.Add( 'select * fr om R'+ I nt ToSt r( r uang) + ' w here Har i= " '+ hari+ '" ') ;
ADOQ[ r uang] .Open; ADOQuer y9.SQL.Clear ; ADOQuer y9.Close;
ADOQuer y9.SQL.Add( 'select * fr om izin w here Tanggal= : t gl and Ruang= : rng') ;
ADOQuer y9.Par am et er s.Par am ByNam e( 't gl') .Value: = Dat e; ADOQuer y9.Par am et er s.Par am ByNam e( 'r ng') .Value: = r uang; ADOQuer y9.Open;
w ak t u: = Tim eToSt r ( t im e) ; I m age[ ruang] .Visible: = False; ADOQuer y9.First ;
while not ADOQuery9.Eof do begin
Tim eA: = Tim eToSt r ( ADOQuer y9Tim e_on.Value) ; Tim eB: = Tim eToSt r ( ADOQuer y9Tim e_off.Value) ; if ( Tim e> = St r ToTim e( Tim eA) ) and
( Tim e< = St r ToTim e( Tim eB) ) t hen begin I m age[ r uang] .Visible: = Tr ue;
st at x [ r uang] : = 1; break ;
end;
ADOQuer y 9.Next ; end;
Tim eA: = Tim eToSt r ( ADOQ[ r uang] .FieldValues[ 'Tim eOn_1'] ) ; Tim eB: = Tim eToSt r ( ADOQ[ r uang] .FieldValues[ 'Tim eOff_1'] ) ; if ADOQ[ ruang] .FieldValues[ 'Jdw l_1'] = 1 t hen begin
if ( Tim e> = St r ToTim e( Tim eA) ) and
( Tim e< = St r ToTim e( Tim eB) ) t hen begin I m age[ r uang] .Visible: = Tr ue;
st at x[ r uang] : = 1; end;
end;
Tim eA: = Tim eToSt r ( ADOQ[ r uang] .FieldValues[ 'Tim eOn_2'] ) ; Tim eB: = Tim eToSt r ( ADOQ[ r uang] .FieldValues[ 'Tim eOff_2'] ) ;
I m age[ r uang] .Visible: = Tr ue; st at x[ r uang] : = 1;
end; end;
Tim eA: = Tim eToSt r ( ADOQ[ r uang] .FieldValues[ 'Tim eOn_3'] ) ; Tim eB: = Tim eToSt r ( ADOQ[ r uang] .FieldValues[ 'Tim eOff_3'] ) ; if ADOQ[ ruang] .FieldValues[ 'Jdw l_3'] = 1 t hen begin
if ( Tim e> = St r ToTim e( Tim eA) ) and
( Tim e< = St r ToTim e( Tim eB) ) t hen begin I m age[ r uang] .Visible: = Tr ue;
st at x[ r uang] : = 1; end; end; end; end; dat ax: = st at x[ 8] * 128 + st at x[ 7] * 64 + st at x[ 6] * 32 + st at x[ 5] * 16 + st at x[ 4] * 8 + st at x[ 3] * 4 + st at x[ 2] * 2 + st at x[ 1] ;
if Com Por t 1.Connect ed= t r ue t hen Com Port 1.Wr it eSt r ( chr ( dat ax) ) ;
end;
pr ocedur e TFor m 1.Com Por t 1RxChar ( Sender : TObj ect ; Count : I nt eger ) ; var st r x: st r ing;
dat a: byt e; i: int eger; begin
Com Por t 1.ReadSt r ( st r x,Count ) ; st r : = st r+ st r x;
if pos( '# ',st r ) > 0 t hen begin
st r: = MidSt r( st r,1,lengt h( st r) - 1) ; dat a: = 0;
if pos( '# ',st r ) = 0 t hen dat a: = St rToI nt ( st r ) ; st r: = '';
Mem o1.Lines.Add( I nt ToSt r( dat a) ) ; for i: = 1 t o 8 do I m age[ i] .Visible: = false; I m g_R4.Visible: = False;
I m g_R8b.Visible: = False;
I m age[ 4] .Visible: = t rue; I m g_R4.Visible: = t r ue; end;
if dat a and 16 = 16 t hen I m age[ 5] .Visible: = t r ue; if dat a and 32 = 32 t hen I m age[ 6] .Visible: = t r ue; if dat a and 64 = 64 t hen I m age[ 7] .Visible: = t r ue; if dat a and 128 = 128 t hen begin
I m age[ 8] .Visible: = t rue; I m g_R8b.Visible: = t r ue; end;
end; end;
pr ocedur e TFor m 1.Com boBox1Change( Sender: TObj ect ) ; var r ng: int eger ;
begin rng: = 1;
if Com boBox1.Text = 'Ruang 1' t hen r ng: = 1; if Com boBox1.Text = 'Ruang 2' t hen r ng: = 2; if Com boBox1.Text = 'Ruang 3' t hen r ng: = 3; if Com boBox1.Text = 'Ruang 4' t hen r ng: = 4; if Com boBox1.Text = 'Ruang 5' t hen r ng: = 5; if Com boBox1.Text = 'Ruang 6' t hen r ng: = 6; if Com boBox1.Text = 'Ruang 7' t hen r ng: = 7; if Com boBox1.Text = 'Ruang 8' t hen r ng: = 8; if bps[ rng] = t rue t hen begin
CheckBox1.Checked: = t r ue; But t on1.Enabled: = t r ue; But t on2.Enabled: = t r ue; end
else begin
CheckBox1.Checked: = false; But t on1.Enabled: = false; But t on2.Enabled: = false; end;
For m 1.Capt ion: = I nt ToSt r ( r ng) ; end;
pr ocedur e TFor m 1.But t on1Click( Sender : TObj ect ) ; var r ng: int eger ;
dat ax: int eger; begin
if Com boBox1.Text = 'Ruang 2' t hen r ng: = 2; if Com boBox1.Text = 'Ruang 3' t hen r ng: = 3; if Com boBox1.Text = 'Ruang 4' t hen r ng: = 4; if Com boBox1.Text = 'Ruang 5' t hen r ng: = 5; if Com boBox1.Text = 'Ruang 6' t hen r ng: = 6; if Com boBox1.Text = 'Ruang 7' t hen r ng: = 7; if Com boBox1.Text = 'Ruang 8' t hen r ng: = 8; st at x[ r ng] : = 1;
I m age[ rng] .Visible: = t r ue;
dat ax: = st at x[ 8] * 128 + st at x[ 7] * 64 + st at x[ 6] * 32 + st at x[ 5] * 16 + st at x[ 4] * 8 + st at x[ 3] * 4 + st at x[ 2] * 2 + st at x[ 1] ;
if Com Por t 1.Connect ed= t r ue t hen Com Port 1.Wr it eSt r ( chr ( dat ax) ) ; end;
pr ocedur e TFor m 1.But t on2Click( Sender : TObj ect ) ; var r ng: int eger ;
dat ax: int eger; begin
rng: = 1;
if Com boBox1.Text = 'Ruang 1' t hen r ng: = 1; if Com boBox1.Text = 'Ruang 2' t hen r ng: = 2; if Com boBox1.Text = 'Ruang 3' t hen r ng: = 3; if Com boBox1.Text = 'Ruang 4' t hen r ng: = 4; if Com boBox1.Text = 'Ruang 5' t hen r ng: = 5; if Com boBox1.Text = 'Ruang 6' t hen r ng: = 6; if Com boBox1.Text = 'Ruang 7' t hen r ng: = 7; if Com boBox1.Text = 'Ruang 8' t hen r ng: = 8; st at x[ r ng] : = 0;
I m age[ rng] .Visible: = false;
dat ax: = st at x[ 8] * 128 + st at x[ 7] * 64 + st at x[ 6] * 32 + st at x[ 5] * 16 + st at x[ 4] * 8 + st at x[ 3] * 4 + st at x[ 2] * 2 + st at x[ 1] ;
if Com Por t 1.Connect ed= t r ue t hen Com Port 1.Wr it eSt r ( chr ( dat ax) ) ; end;
unit Unit 14; int erface uses
Window s, Messages, SysUt ils, Var iant s, Classes, Gr aphics, Cont r ols, For m s, Dialogs, St dCt r ls, But t ons, sBit Bt n, sEdit , acPNG, Ext Ct rls, sLabel,
sPanel; t ype
TFor m 14 = class( TFor m ) sPanel1: TsPanel; sLabel2: TsLabel; sLabel3: TsLabel; I m age1: TI m age; Label1: TLabel; UserEdit : TsEdit ; PasswEdit : TsEdit ; Bt nOk: TsBit Bt n; Bt nCncl: TsBit Bt n; sEdit 2: TsEdit ; sLabel4: TsLabel; sEdit 1: TsEdit ; sLabel1: TsLabel; sLabel5: TsLabel; sEdit 3: TsEdit ;
pr ocedur e Bt nOkClick( Sender : TObj ect ) ; pr ocedur e Bt nCnclClick( Sender : TObj ect ) ;
pr iv at e
{ Pr ivat e declar at ions } public
{ Public declar at ions } end;
var
For m 14: TFor m 14; im plem ent at ion uses Unit 1;
{ $R * .dfm }
pr ocedur e TFor m 2.sSpeedBut t on3Click( Sender : TObj ect ) ; begin
pr ocedur e TFor m 2.sSpeedBut t on4Click( Sender : TObj ect ) ; begin
if ruang< > 0 t hen sBit Bt n1.Click ; ruang: = 4;
sBit Bt n3.Click ; end;
pr ocedur e TFor m 2.sSpeedBut t on8Click( Sender : TObj ect ) ; begin
if ruang< > 0 t hen sBit Bt n1.Click ; ruang: = 5;
sBit Bt n3.Click ; end;
pr ocedur e TFor m 2.sSpeedBut t on7Click( Sender : TObj ect ) ; begin
if ruang< > 0 t hen sBit Bt n1.Click ; ruang: = 6;
sBit Bt n3.Click ; end;
pr ocedur e TFor m 2.sSpeedBut t on6Click( Sender : TObj ect ) ; begin
if ruang< > 0 t hen sBit Bt n1.Click ; ruang: = 7;
sBit Bt n3.Click ; end;
pr ocedur e TFor m 2.sSpeedBut t on5Click( Sender : TObj ect ) ; begin
if ruang< > 0 t hen sBit Bt n1.Click ; ruang: = 8;
sBit Bt n3.Click ; end;
pr ocedur e TFor m 2.Tim er1Tim er ( Sender : TObj ect ) ; v ar i: int eger;
begin
for i: = 1 t o 21 do begin
if cbox[ i] .Checked= t r ue t hen begin j am _on[ i] .Enabled: = t rue;
j am _off[ i] .Enabled: = t rue; end
else begin
j am _on[ i] .Enabled: = False; j am _off[ i] .Enabled: = False; end;
pr ocedur e TFor m 2.sBit Bt n2Click( Sender : TObj ect ) ; begin
ruang: = 0; For m 2.Close; end;
pr ocedur e TFor m 2.For m Show ( Sender : TObj ect ) ; begin
Tim er 2.Enabled: = t r ue;
For m 1.Tim er 2.Enabled: = false; count : = 0;
end;
pr ocedur e TFor m 2.For m Close( Sender : TObj ect ; var Act ion: TCloseAct ion) ; begin
For m 1.Tim er 2.Enabled: = t rue; end;
pr ocedur e TFor m 2.Tim er2Tim er ( Sender : TObj ect ) ; begin
I nc( count ) ;
if count > 1 t hen begin ruang: = 0;
sSpeedBut t on1.Click ; Tim er 2.Enabled: = false;
end; end;
pr ocedur e TFor m 2.sBit Bt n4Click( Sender : TObj ect ) ; var i,har i: int eger ;
j am x,m nt x,dat a: st r ing; begin
Label32.Capt ion: = 'Ruang '+ I nt ToSt r ( r uang) ; For m 2.Capt ion: = I nt ToSt r ( r uang) ;
ADOQ[ r uang] .Close;
ADOQ[ r uang] .Connect ionSt r ing: = For m 1.ADOConnect ion2.Connect ionSt r ing; ADOQ[ r uang] .SQL.Clear ;
ADOQ[ r uang] .SQL.Add( 'select * fr om R'+ I nt ToSt r ( r uang) ) ; ADOQ[ r uang] .Open;
adoQ[ ruang] .Fir st ; for i: = 0 t o 6 do begin
if adoQ[ r uang] .FieldByNam e( 'Jdw l_1') .Value= '1' t hen cbox[ 1+ i* 3] .Checked: = Tr ue
else cbox[ 1+ i* 3] .Checked: = false;
if adoQ[ r uang] .FieldByNam e( 'Jdw l_2') .Value= '1' t hen cbox[ 2+ i* 3] .Checked: = Tr ue
else cbox[ 3+ i* 3] .Checked: = false;
j am _on[ 1+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOn_1') .Value; j am _on[ 2+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOn_2') .Value; j am _on[ 3+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOn_3') .Value; j am _off[ 1+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOff_1') .Value; j am _off[ 2+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOff_2') .Value; j am _off[ 3+ i* 3] .Value: = adoQ[ r uang] .FieldByNam e( 'Tim eOff_3') .Value; adoQ[ ruang] .Next ;
end;
ADOQ[ r uang] .Close;
ADOQ[ r uang] .Connect ionSt r ing: = For m 1.ADOConnect ion1.Connect ionSt r ing; ADOQ[ r uang] .Open;
end; end.
Source Code Form Perizinan unit Unit 4;
int erface uses
Window s, Messages, SysUt ils, Var iant s, Classes, Gr aphics, Cont r ols, For m s, Dialogs, St dCt r ls, sEdit , sSpinEdit , But t ons, sBit Bt n, Ex t Ct r ls, sPanel,
Gr ids, DBGr ids, sGr oupBox, DB, ADODB, sRadioBut t on, acPNG, sCom boBox, DBCt r ls, sLabel, Mask, sMaskEdit , sCust om Com boEdit , sTooledit , sMem o; t ype
TFor m 4 = class( TFor m ) PnlSisw a: TsPanel; Label1: TLabel; I m age1: TI m age; Bt nHps: TsBit Bt n; Bt nOk: TsBit Bt n; GBoxSet Kls: TsGr oupBox; sLabel1: TsLabel; sLabel2: TsLabel; sLabel4: TsLabel; sLabel5: TsLabel; sLabel6: TsLabel; sLabel3: TsLabel;
sTim ePicker 1: TsTim ePicker ; sTim ePicker 2: TsTim ePicker ; sEdit 1: TsEdit ;
Tim er 1: TTim er ;
pr ocedur e Bt nHpsClick( Sender : TObj ect ) ; pr ocedur e Bt nOkClick( Sender : TObj ect ) ; pr ocedur e Tim er 1Tim er ( Sender : TObj ect ) ; pr ocedur e For m Show ( Sender : TObj ect ) ; pr iv at e
{ Pr ivat e declar at ions } public
{ Public declar at ions } end;
var
For m 4: TFor m 4; m enux: int eger ; st at us: st r ing; im plem ent at ion uses unit 1;
{ $R * .dfm }
pr ocedur e TFor m 4.Bt nHpsClick( Sender : TObj ect ) ; begin
For m 4.Close; end;
pr ocedur e TFor m 4.Bt nOk Click( Sender : TObj ect ) ; var no: int eger ;
label ulang; begin
if sEdit 3.Text = '' t hen begin
Applicat ion.MessageBox ( 'Penanggung Jawab Belum diisi','Per ingat an',MB_OK or MB_I CONEr r or ) ;
got o ulang; end;
if sCom boBox1.Text = '' t hen begin
Applicat ion.MessageBox ( 'Ruang Belum diisi','Per ingat an',MB_OK or MB_I CONEr r or ) ;
got o ulang; end;
if sMem o1.Text = '' t hen begin
Applicat ion.MessageBox ( 'Ket erangan Belum diisi','Peringat an',MB_OK or MB_I CONEr r or ) ;
For m 1.ADOQuer y9.Close;
For m 1.ADOQuer y9.SQL.Add( 'select * fr om izin') ; For m 1.ADOQuer y9.Open;
{ no: = 0;
For m 1.ADOQuer y9.Fir st ;
w hile not For m 1.ADOQuer y9.Eof do begin I nc( no) ;
For m 1.ADOQuer y9.Next ; end; }
pr ocedur e TFor m 4.Tim er1Tim er ( Sender : TObj ect ) ; begin
sEdit 1.Tex t : = Dat eToSt r ( Dat e) ; end;
pr ocedur e TFor m 4.For m Show ( Sender : TObj ect ) ; begin
sEdit 3.Tex t : = For m 1.sLabel4.Capt ion; sCom boBox1.Text : = '';
sTim ePicker 1.Text : = '00: 00: 00'; sTim ePicker 2.Text : = '00: 00: 00'; sMem o1.Text : = '';
end; end.
Source Code Form Cet ak Laporan unit Unit 6;
int erface uses
Window s, Messages, SysUt ils, Var iant s, Classes, Gr aphics, Cont r ols, For m s, Dialogs, Grids, DBGr ids, sBut t on, Mask, sMaskEdit , sCust om Com boEdit , sTooledit , St dCt r ls, sCom boBox, sEdit , sLabel, sGr oupBox, But t ons, sBit Bt n, acPNG, Ext Ct rls, sPanel, DB, ADODB, sRadioBut t on, sCheckBox, RpRave, RpDefine, RpCon, RpConDS;
var
For m 6: TFor m 6; im plem ent at ion uses unit 1;
begin
I f sRadioBut t on2.Checked= t r ue t hen begin
sDat eEdit 1.Enabled: = t rue; sDat eEdit 2.Enabled: = t rue; end;
end;
pr ocedur e TFor m 6.sRadioBut t on1Click( Sender : TObj ect ) ; begin
I f sRadioBut t on1.Checked= t r ue t hen begin
sDat eEdit 1.Enabled: = False; sDat eEdit 2.Enabled: = False; end
end;
pr ocedur e TFor m 6.sBit Bt n2Click( Sender : TObj ect ) ; begin
For m 6.Close; end;
pr ocedur e TFor m 6.sRadioBut t on4Click( Sender : TObj ect ) ; begin
if sRadioBut t on4.Checked= t r ue t hen begin sRadioBut t on2.Enabled: = Tr ue;
sRadioBut t on1.Enabled: = Tr ue; end;
end;
pr ocedur e TFor m 6.sRadioBut t on3Click( Sender : TObj ect ) ; begin
if sRadioBut t on3.Checked= t r ue t hen begin sRadioBut t on2.Enabled: = false;
sRadioBut t on1.Enabled: = false; end;
end;
pr ocedur e TFor m 6.sBit Bt n3Click( Sender : TObj ect ) ; begin
if sRadioBut t on3.Checked= t r ue t hen begin Rv Pr oj ect 1.Execut e;
Rv Pr oj ect 1.Execut eRepor t ( 'RUANG.r av') ; end;
if( sRadioBut t on4.Check ed= t rue) and
( sRadioBut t on1.Check ed= t rue) t hen begin ADOQuery1.Close;
RvPr oj ect 2.Execut e;
RvPr oj ect 2.Execut eRepor t ( 'I ZI N.r av') ; end;
if( sRadioBut t on4.Check ed= t rue) and
( sRadioBut t on2.Check ed= t rue) t hen begin ADOQuery1.Close;
ADOQuer y1.SQL.Clear ;
ADOQuery1.SQL.Add( 'SELECT * FROM izin WHERE t anggal> = : p1 and t anggal< = : p2') ;
ADOQuer y1.Par am et er s.Par am Values[ 'p1'] : = sDat eEdit 1.Dat e; ADOQuer y1.Par am et er s.Par am Values[ 'p2'] : = sDat eEdit 2.Dat e; ADOQuery1.Open;
RvPr oj ect 2.Execut e;
RvPr oj ect 2.Execut eRepor t ( 'I ZI N.r av') ; end;
end; end.