BSI Salemba 22
0bjek dan property yang digunakan dan dirubah $
OB,EK PROPERT= NILAI
2/#324 6/.-;0C D/-/ M/G/S;S7/
2/#325 6/.-;0C C;M
2/#32> 6/.-;0C C/M/
2/#32B 6/.-;0C E%"%S/C
OB,EK PROPERT= NILAI
2/#32? 6/.-;0C E3C;S +32/M;C
2/#32( 6/.-;0C /2/M/-
2/#32F 6/.-;0C +0-/
2/#32@ 6/.-;0C C;M
-3I-4 C/M3 -I-E/M
-3I-5 C/M3
60C-"02S0%"63
-I-C;M
MGS.C;M
-3I-> C/M3
60C-"02S0%"63
-I-C/M/
MGS.C/M/
-3I-B C/M3
60C-"02S0%"63
-I-/2/M/-
MGS./2/M/-
60M#04 60C-"02S0%"63
"07S0%"63
MGS.+0-/
E/+/"-/,#/CD%CD,S%"/#/&/,
&0D&/+/"-/, 6;"3#0C
-3I-? C/M3 -I-6/";
-;M3"4 ;C-3"/2 4)))
0.-;0CD"0%.4 60C-"02S0%"63 MGS.EH+32
0.-;0C4 6/.-;0C 2/+;<2/+;
0.-;0C5 6/.-;0C .3"3M.%/C
2;S-4 60C-"02S0%"63
"07S0%"63
MGS.E%"%S/C
M/C/E3M3C
;CF0"M/-;+/,+0M.%-3"
/+%C-/CS;,-3+C;+
+0M.%-3",S3+"3-/";S,
#"0/D6/S-;CD
60MM/CD4 C/M3
6/.-;0C
6MD/DD
=M-/M#/G
60MM/CD5 C/M3 6MDG/.%S
55
BSI Salemba 22
6/.-;0C =MG/.%S
60MM/CD> C/M3
6/.-;0C
6MDS;M./C
=MS;M./C
60MM/CDB C/M3
6/.-;0C
6MD#"07S3
=M#"07S3
60MM/CD? C/M3
6/.-;0C
6MD-0.
=M-0.
60MM/CD( C/M3
6/.-;0C
6MD#/6+
=M#/6+
60MM/CDF C/M3
6/.-;0C
6MDC3I-
=MC3I-
60MM/CD@ C/M3
6/.-;0C
6MD#0--0M
=M#0--0M
60MM/CDA C/M3
6/.-;0C
6MD+32%/"
=M+32%/"
60MM/CD4) C/M3
6/.-;0C
6MD6/";
=M6/";
Ob(e)* ? F"%m1 P%")e3!%e ? A)*4a*e
S3- D323 0C
%S3 P'$=do'uments and settings=ti bsi=my do'uments=labHoHsore=foxpro=foxHuas=MGS.D#FP
FB!1a ses!a 3e+:a+ *em$a* $e+Dm$a+a+ *abel M>S a+3a
Ob(e)* ? F"%m1 P%")e3!%e ? be%s;
thisform.txtnim.!alueJPP
thisform.txtnama.!alueJPP
thisform.txtalamat.!alueJPP
thisform.optiongroup4.!alueJ)
thisform.list4.!alueJPP
Ob(e)* ? CM&BRO7SE P%")e3!%e ? CLICK
#ro,se
Ob(e)* ? CM&A&& P%")e3!%e ? CLICK
append blank
thisform.txtnim.!alueJPP
thisform.txtnama.!alueJPP
thisform.txtalamat.!alueJPP
thisform.optiongroup4.!alueJ)
thisform.list4.!alueJPP
thisform.txtnim.setfo'us
thisform.'ombo4.!alueJPP
Ob(e)* ? CM&>APUS P%")e3!%e ? CLICK
if re''ount()MJ )
5>
BSI Salemba 22
return
endif
pesanJmessagebox(Pbenar data akan dihapusP,>(,PkonfirmasiP)
if pesan J(
delete
pa'k
endif
thisform.refresh
Ob(e)* ? CM&SIMPAN P%")e3!%e ? CLICK
repla'e nim ,ith thisform.txtnim.!alue
repla'e nama ,ith thisform.txtnama.!alue
if thisform.optiongroup4.option4.!alueJ4
repla'e jHkel ,ith P2/+;<2/+;P
endif
if thisform.optiongroup4.option5.!alueJ4
repla'e jHkel ,ith P.3"3M.%/CP
endif
repla'e kota ,ith thisform.'ombo4.!alue
repla'e jurusan ,ith thisform.list4.!alue
go top
thisform.refresh
Ob(e)* ? CM&CARI P%")e3!%e ? CLICK
lo'ate for nimJ-";M(thisform.txt'ari.!alue)
if found()
thisform.refresh
else
messagebox(PD/-/ -;D/+ /D/ -%G...QQP,B@,P;CF0P)
thisform.txt'ari.!alueJPP
thisform.txt'ari.setfo'us
endif
Ob(e)* ? CM&NEXT P%")e3!%e ? CLICK
skip
if eof ()
go bottom
messagebox(Pini re'ord terakhirP,B?,PperhatianP)
endif
thisform.refresh
5B
BSI Salemba 22
Ob(e)* ? CM&KELUAR P%")e3!%e ? CLICK
thisform.release
Ob(e)* ? CM&BACK P%")e3!%e ? CLICK
skip<4
if #of ()
go -0.
messagebox(Pini re'ord a,alP,B?,PperhatianP)
endif
thisform.refresh
Ob(e)* ? CM&BOTTOM P%")e3!%e ? CLICK
go bottom
thisform.refresh
Ob(e)* ? CM&TOP P%")e3!%e ? CLICK
go top
thisform.refresh
Ob(e)* ? TIMER1 P%")e3!%e ? TIMER
thisform.txtjam.!alueJtime()
if thisform.lbl4.!isibleJ.t.
thisform.lbl4.!isibleJ.f.
else
thisform.lbl4.!isibleJ.t.
endif
5?
BSI Salemba 22
La*;a+ 6
6ontoh .rogram .engolahan data melalui form yang terdiri dari O$*"+ G%"!$@ C;e)1 B"#@
Tme%@ C"mb"B"# menggunakan full program (tanpa Data 3n!ironment)
Dengan struktur tabel sbb $
Cama tabel MA>ASIS7A.3b5
Nama Fel3 TD$e 73*; &e)mal I+3e# TD$e
Cim 6 ( /s'ending "eguler
Cama 6 4?
EnsHkel 6 4)
/lamat 6 5?
+ota 6 4?
beasis,a C 45 5
;nput data sebanyak >
#uatlah form seperti diba,ah ini kemudian /turlah .ropertiesnya
#uatlah method baru untuk dengan nama
4. -ampilData
5(
BSI Salemba 22
5. +ondisi0n
>. +ondisi0ff
K"3e P%":%am ?
F"%m1 A)*4a*e
set defa to Pmasukan dri!e penyimpanan file andaP
set delete on
use sis,a
thisform.tampildata
thisform.kondisioff
publi' isi R pembuatan !ariabel isi
isiJ.-.
Cm3Tamba; Cl)1
thisform.kondision
thisform.text4.!alueJPP
thisform.text5.!alueJPP
thisform.optiongroup4.option4.!alueJ4
thisform.text>.!alueJPP
thisform.'he'k4.!alueJ)
thisform.'he'k5.!alueJ)
thisform.textB.!alueJPP
thisform.textB.enabledJ.F.
thisform.text4.setfo'us
Cm3>a$!s Cl)1
if messagebox(PGapus "e'ordP,>5 8
4,P+onfirmasiP)J4
delete
pa'k
endif
thisform.tampildata
thisform.refresh
Cm3E3* Cl)1
Cm3T"$ Cl)1
go top
thisform.tampildata
thisform.kondisioff
thisform.refresh
Cm3Ne#* Cl)1
skip
if eof()
messagebox(P/,al "e'ordP,(B,P;nfoP)
go bottom
endif
thisform.tampildata
thisform.kondisioff
thisform.refresh
Cm3P%e4 Cl)1
skip <4
if bof()
messagebox(P/,al "e'ordP,(B,P;nfoP)
go top
endif
thisform.tampildata
thisform.kondisioff
thisform.refresh
Cm3Las* Cl)1
go bottom
thisform.tampildata
thisform.kondisioff
thisform.refresh
5F
BSI Salemba 22
isiJ.F.
thisform.text4.enabledJ.F.
thisform.kondision
thisform.text5.setfo'us
thisform.refresh
Cm3Sm$a+ Cl)1
if isiJ.-.
appe blan
repla'e nim ,ith thisform.text4.!alue
repla'e nama ,ith thisform.text5.!alue
if thisform.optiongroup4.option4.!alueJ4
repla'e jnsHkel ,ith P.riaP
else
thisform.optiongroup4.option5.!alueJ4
repla'e jnsHkel ,ith P7aniataP
endif
repla'e alamat ,ith thisform.text>.!alue
repla'e kota ,ith thisform.'ombo4.!alue
repla'e beasis,a ,ith thisform.textB.!alue
else
repla'e nim ,ith thisform.text4.!alue
repla'e nama ,ith thisform.text5.!alue
if
thisform.optiongroup4.option4.!alueJ4
repla'e jnsHkel ,ith P.riaP
else
thisform.optiongroup4.option5.!alueJ4
repla'e jnsHkel ,ith P7anitaP
endif
repla'e alamat ,ith thisform.text>.!alue
repla'e kota ,ith thisform.'ombo4.!alue
repla'e beasis,a ,ith thisform.textB.!alue
endif
thisform.kondisioff
thisform.refresh
F"%m1 K"+3sO+
thisform.text4.enabledJ.t.
thisform.text5.enabledJ.t.
thisform.optiongroup4.enabledJ.t.
Cm3Ca% Cl)1
set order to tag nim
if seek(trim(thisform.textF.!alue))
thisform.tampildata
endif
thisform.refresh
Tme%1 Tme%
thisform.text?.!alueJ date()
thisform.text(.!alueJ time()
F"%m1 Tam$&a*a
x J mahasi,a.jnsHkel
thisform.text4.!alueJmahasi,a.nim
thisform.text5.!alueJmahasi,a.nama
if x J P.riaP then
thisform.optiongroup4.option4.!alueJ4
thisform.optiongroup4.option5.!alueJ)
else
thisform.optiongroup4.option4.!alueJ)
thisform.optiongroup4.option5.!alueJ4
endif
thisform.text>.!alueJmahasi,a.alamat
thisform.'ombo4.!alueJmahasi,a.kota
thisform.textB.!alueJmahasi,a.beasis,a
if mahasi,a.beasis,a J ) then
thisform.'he'k5.!alueJ4
thisform.'he'k4.!alueJ)
else
thisform.'he'k4.!alueJ4
thisform.'he'k5.!alueJ)
endif
F"%m1 K"+3sO55
thisform.text4.enabledJ.F.
thisform.text5.enabledJ.F.
thisform.optiongroup4.enabledJ.F.
5@
BSI Salemba 22
thisform.text>.enabledJ.t.
thisform.'ombo4.enabledJ.t.
thisform.'he'k4.enabledJ.t.
thisform.'he'k5.enabledJ.t.
thisform.textB.enabledJ.t.
thisform.text>.enabledJ.F.
thisform.'ombo4.enabledJ.F.
thisform.'he'k4.enabledJ.F.
thisform.'he'k5.enabledJ.F.
thisform.textB.enabledJ.F.
Cm3Kel!a% Cl)1
thisform.release()
La*;a+ K
6ontoh .rogram .engolahan data melalui form yang terdiri dari O$*"+ G%"!$@ Ls*@ Tme%@
C"mb"B"# menggunakan full program
#uatlah -abel dengan struktur file Sbb$
Nama Fel3 TD$e 73*; I+3e# TD$e
Cim 6 4) /s'ending .rimary
Cama 6 >?
/lamat 6 >?
-gllhr D @
Ers 6 5?
+ota C 4)
7aktu 6 4>
EHkel 6 F
Del 6 B
/kademi 6 (
Sms C 4)
Spp C 4)
.ra C 4)
-otal C 4)
;nput data sebanyak >
#uatlah form seperti diba,ah ini kemudian /turlah .ropertiesnya
5A
BSI Salemba 22
#uatlah metode baru dengan nama $
4. bersih
5. kondisia,al
>. tampildata
Ob(e)* ? F"%m1 P%")e3!%e ? A)*4a*e
%S3 P'$=do'uments and settings=ti bsi=my do'uments=labHoHsore=foxpro=foxHuas=mhsbr.D#FP
S3- 0"D3" -0 -/D C;M
publi' judul,i
judulJthisform.label4.'aption
iJ)
-G;SF0"M.-/M.;2D/-/
-G;SF0"M.+0CD;S;/7/2
.%#2;6 ;S;
;S;J.-.
Ob(e)* ? F"%m1 P%")e3!%e ? L"a3
620S3 D/-/#/S3
620S3 /22
>)
BSI Salemba 22
Ob(e)* ? F"%m1 P%")e3!%e ? Be%s;
-G;SF0"M.C;M./2%3JPP
-G;SF0"M.C/M/./2%3JPP
-G;SF0"M.-D22G"./2%3JPP
-G;SF0"M./2/M/-./2%3JPP
-G;SF0"M.E"S./2%3JPP
-G;SF0"M.+0-/./2%3JPP
-G;SF0"M.EH+32./2%3J)
-G;SF0"M.D32./2%3J)
-G;SF0"M./+/D3M;./2%3J)
-G;SF0"M.SMS./2%3JPP
-G;SF0"M.S.../2%3JPP
-G;SF0"M.."/./2%3JPP
-G;SF0"M.-0-/2./2%3JPP
-G;SF0"M.C;M.3C/#23DJ.-.
-G;SF0"M.C/M/.3C/#23DJ.-.
-G;SF0"M.-D22G".3C/#23DJ.-.
-G;SF0"M./2/M/-.3C/#23DJ.-.
-G;SF0"M.E"S.3C/#23DJ.-.
-G;SF0"M.+0-/.3C/#23DJ.-.
-G;SF0"M.EH+32.3C/#23DJ.-.
-G;SF0"M.D32.3C/#23DJ.-.
-G;SF0"M./+/D3M;.3C/#23DJ.-.
-G;SF0"M.SMS.3C/#23DJ.-.
-G;SF0"M.S...3C/#23DJ.-.
-G;SF0"M.."/.3C/#23DJ.-.
-G;SF0"M.-0-/2.3C/#23DJ.-.
Ob(e)* ? F"%m1 P%")e3!%e ? 1"+3sa-al
-G;SF0"M.C;M.3C/#23DJ.F.
-G;SF0"M.C/M/.3C/#23DJ.F.
-G;SF0"M.-D22G".3C/#23DJ.F.
-G;SF0"M./2/M/-.3C/#23DJ.F.
-G;SF0"M.E"S.3C/#23DJ.F.
-G;SF0"M.+0-/.3C/#23DJ.-.
-G;SF0"M.EH+32.3C/#23DJ.F.
-G;SF0"M.D32.3C/#23DJ.F.
-G;SF0"M./+/D3M;.3C/#23DJ.F.
-G;SF0"M.SMS.3C/#23DJ.F.
-G;SF0"M.S...3C/#23DJ.F.
>4
BSI Salemba 22
-G;SF0"M.."/.3C/#23DJ.F.
-G;SF0"M.-0-/2.3C/#23DJ.F.
Ob(e)* ? F"%m1 P%")e3!%e ? *am$l3a*a
-G;SF0"M.C;M./2%3JMGS#".C;M
-G;SF0"M.C/M/./2%3JMGS#".C/M/
-G;SF0"M.-D22G"./2%3JMGS#".-D22G"
-G;SF0"M./2/M/-./2%3JMGS#"./2/M/-
-G;SF0"M.E"S./2%3JMGS#".E"S
-G;SF0"M.+0-/./2%3JMGS#".+0-/
-G;SF0"M.EH+32./2%3JMGS#".EH+32
-G;SF0"M.D32./2%3JMGS#".D32
-G;SF0"M./+/D3M;./2%3JMGS#"./+/D3M;
-G;SF0"M.SMS./2%3JMGS#".SMS
-G;SF0"M.S.../2%3JMGS#".S..
-G;SF0"M.."/./2%3JMGS#".."/
-G;SF0"M.-0-/2./2%3JMGS#".-0-/2
Ob(e)* ? Tme% P%")e3!%e ? Tme%
-G;SF0"M.E/M.alueJ-;M3()
Ob(e)* ? B%"-se P%")e3!%e ? CLICK
#ro,se
Ob(e)* ? Tamba; P%")e3!%e ? CLICK
append blank
thisform.bersih
thisform.nim.setfo'us
thisform.jrs.enabledJ.f.
thisform.+0-/.!alueJPP
-G;SF0"M.."/./2%3J4?))))
Ob(e)* ? >a$!s P%")e3!%e ? CLICK
if re''ount()MJ )
return
endif
pesanJmessagebox(Pbenar data akan dihapusP,>(,PkonfirmasiP)
if pesan J(
delete
>5
BSI Salemba 22
pa'k
endif
D0 -0.
-G;SF0"M.-/M.;2D/-/
thisform.refresh
Ob(e)* ? Sm$a+ P%")e3!%e ? CLICK
"3.2/63 C;M 7;-G -G;SF0"M.C;M./2%3
"3.2/63 C/M/ 7;-G -G;SF0"M.C/M/./2%3
;F ;S;J.F.
"3.2/63 -D22G" 7;-G 6-0D(-G;SF0"M.-D22G"./2%3)
32S3
"3.2/63 -D22G" 7;-G -G;SF0"M.-D22G"./2%3
3CD;F
"3.2/63 /2/M/- 7;-G -G;SF0"M./2/M/-./2%3
"3.2/63 E"S 7;-G -G;SF0"M.E"S./2%3
"3.2/63 +0-/ 7;-G -G;SF0"M.+0-/./2%3
if thisform.jHkel..";/.!alueJ4
repla'e jHkel ,ith P.";/P
endif
if thisform.jHkel..";/.!alueJ4
repla'e jHkel ,ith P7/C;-/P
endif
if thisform.D32.;.!alueJ4
repla'e D32 ,ith P;P
endif
if thisform.D32.;;.!alueJ4
repla'e D32 ,ith P;;P
endif
if thisform.D32.;;;.!alueJ4
repla'e D32 ,ith P;;;P
endif
if thisform.D32.;.!alueJ4
repla'e D32 ,ith P;P
endif
if thisform./+/D3M;./M;+.!alueJ4
>>
BSI Salemba 22
repla'e /+/D3M; ,ith P/M;+P
endif
if thisform./+/D3M;./SM.!alueJ4
repla'e /+/D3M; ,ith P/SMP
endif
if thisform./+/D3M;./#/.!alueJ4
repla'e /+/D3M; ,ith P/#/P
endif
if thisform./+/D3M;./+0M.!alueJ4
repla'e /+/D3M; ,ith P/+0MP
endif
;F -G;SF0"M.7/+-%../D;./2%3J4
"3.2/63 7/+-% 7;-G P./D;=S;/CDP
3CD;F
;F -G;SF0"M.7/+-%.M/2/M./2%3J4
"3.2/63 7/+-% 7;-G PS0"3=M/2/MP
3CD;F
"3.2/63 SMS 7;-G -G;SF0"M.SMS./2%3
"3.2/63 S.. 7;-G -G;SF0"M.S.../2%3
"3.2/63 ."/ 7;-G -G;SF0"M.."/./2%3
"3.2/63 -0-/2 7;-G -G;SF0"M.-0-/2./2%3
thisform.kondisia,al
Ob(e)* ? Ne#* P%")e3!%e ? CLICK
skip
if eof ()
go bottom
messagebox(Pini re'ord terakhirP,B?,PperhatianP)
endif
thisform.tampildata
Ob(e)* ? Kel!a% P%")e3!%e ? CLICK
thisform.release
Ob(e)* ? Ba)1 P%")e3!%e ? CLICK
skip<4
if #of ()
go -0.
messagebox(Pini re'ord a,alP,B?,PperhatianP)
>B
BSI Salemba 22
endif
thisform.tampildata
Ob(e)* ? B"**"m P%")e3!%e ? CLICK
go bottom
thisform.tampildata
Ob(e)* ? T"$ P%")e3!%e ? CLICK
go top
thisform.tampildata
Ob(e)* ? CM&>ITUNG P%")e3!%e ? CLICK
-G;SF0"M.-0-/2.alueJ-G;SF0"M.SMS.alue8-G;SF0"M.S...alue8-G;SF0"M.."/.alue
Ob(e)* ? R!ba; P%")e3!%e ? CLICK
-G;SF0"M.C;M.3C/#23DJ.-.
-G;SF0"M.C/M/.3C/#23DJ.-.
-G;SF0"M.-D22G".3C/#23DJ.-.
-G;SF0"M./2/M/-.3C/#23DJ.-.
-G;SF0"M.E"S.3C/#23DJ.F.
-G;SF0"M.+0-/.3C/#23DJ.-.
-G;SF0"M.EH+32.3C/#23DJ.-.
-G;SF0"M.D32.3C/#23DJ.-.
-G;SF0"M./+/D3M;.3C/#23DJ.-.
-G;SF0"M.SMS.3C/#23DJ.-.
-G;SF0"M.S...3C/#23DJ.-.
-G;SF0"M.."/.3C/#23DJ.-.
-G;SF0"M.-0-/2.3C/#23DJ.-.
Ob(e)* ? (%s P%")e3!%e ? CLICK
;F -G;SF0"M.E"S./2%3JP+0M.%-3";S/S; /+%C-/CS;P ./CD.
-G;SF0"M.7/+-%../D;./2%3J4
-G;SF0"M.SMS./2%3J@)))))
3CD;F
;F -G;SF0"M.E"S./2%3JP+0M.%-3";S/S; /+%C-/CS;P ./CD.
-G;SF0"M.7/+-%.M/2/M./2%3J4
-G;SF0"M.SMS./2%3JA@))))
>?
BSI Salemba 22
3CD;F
;F -G;SF0"M.E"S./2%3JPM/C/E3M3C ;CF0"M/-;+/P ./CD.
-G;SF0"M.7/+-%../D;./2%3J4
-G;SF0"M.SMS./2%3J@)))))
3CD;F
;F -G;SF0"M.E"S./2%3JPM/C/E3M3C ;CF0"M/-;+/P ./CD.
-G;SF0"M.7/+-%.M/2/M./2%3J4
-G;SF0"M.SMS./2%3JA@))))
3CD;F
;F -G;SF0"M.E"S./2%3JP-3+C;+ +0M.%-3"P ./CD. -G;SF0"M.7/+-%../D;./2%3J4
-G;SF0"M.SMS./2%3J@)))))
3CD;F
;F -G;SF0"M.E"S./2%3JP-3+C;+ +0M.%-3"P ./CD. -G;SF0"M.7/+-%../D;./2%3J4
-G;SF0"M.SMS./2%3JA@))))
3CD;F
D0 6/S3
6/S3 -G;SF0"M.E"S./2%3JPS3+"3-/";SP
-G;SF0"M.SMS./2%3JA?))))
6/S3 -G;SF0"M.E"S./2%3JPM/C/E3M3C /DM;C;S-"/S;P
-G;SF0"M.SMS./2%3J@)))))
6/S3 -G;SF0"M.E"S./2%3JP#/G/S/ ;CDD";SP
-G;SF0"M.SMS./2%3J@)))))
6/S3 -G;SF0"M.E"S./2%3JP+3G%M/S/C (.%#2;6 "32/-;0C)P
-G;SF0"M.SMS./2%3J@)))))
6/S3 -G;SF0"M.E"S./2%3JP.3C&;/"/C (#"0/D6/S-;CD)P
-G;SF0"M.SMS./2%3JA@))))
0-G3"7;S3
-G;SF0"M.SMS./2%3J@)))))
3CD6/S3
>(
BSI Salemba 22
MENENTUKAN AREA KER,A
isual Foxpro menyediakan >5F(F area kerja.
/rea kerja yang dipakai table dimulai dari nomor 4
#entuk %mum $
S3236- area kerja
isual Foxpro menyediakan mekanisme yang memungkinkan /nda tidak perlu menyebutkan
nomor area kerja se'ara eksplisit (langsung).
6ontoh $
S3236- )
%S3 S;S7/
S3236- 4
%S3 mtkul
>F
BSI Salemba 22
MO&UL 6
RELASI ONE TO MAN=
La*;a+ P ?
"elasi one to many pada program pembelian barang, mulai dari pembuatan database,
pembuatan tabel, form, report, sampai pembuatan menu utama.
#uat database PEMBELIAN.3b)
Struktur tabel $
1. -abel #arang BARANG.3b5
F;32D -&.3 7;D-G ;CD3I
kodebar 6hara'ter ( /s'ending, primary
namabar 6hara'ter >)
Garga Cumeri' @
jumbar numeri' >
2. -abel Supplier SUPPLIER.3b5
F;32D -&.3 7;D-G ;CD3I
kodesupp 6hara'ter ( /s'ending, primary
namasupp 6hara'ter >)
/lamat 6hara'ter 5?
-elepon 6hara'ter 45
B. -abel -M.#32; TMPBELI.3b5
F;32D -&.3 7;D-G ;CD3I
kodesupp 6hara'ter (
namasupp 6hara'ter >)
>@
BSI Salemba 22
Garga Cumeri' 4>
Emlbeli Cumeri' ?
-otalbeli Cumeri' 45
O. -abel .embelian PEMBELIAN.3b5
F;32D -&.3 7;D-G ;CD3I
CoHfaktur 6hara'ter 4B /s'ending, reguler
kodebar 6hara'ter ( /s'ending, reguler
kodesupp 6hara'ter ( /s'ending, reguler
Emlbeli Cumeri' ?
-otalbeli Cumeri' 45
-glbeli Date @
#uatlah form barang berikut ini $
OB,ECT ? FORM1 PROCE&URE ? ACTIVATE
S3- D323 0C
620S3 /22
%S3 P6$=D/-/=#/"/CD.D#FP
S3- 0"D3" -0 -/D +0D3#/"
-G;SF0"M.-I-+0D3#/".3C/#23DJ.-.
-G;SF0"M.-I-C/M/#/".3C/#23DJ.F.
-G;SF0"M.-I-G/"D/.3C/#23DJ.F.
-G;SF0"M.-I-E%M.3C/#23DJ.F.
-G;SF0"M.-I-+0D3#/"./2%3JP P
-G;SF0"M.-I-C/M/#/"./2%3JP P
-G;SF0"M.-I-G/"D/./2%3JP P
-G;SF0"M.-I-E%M./2%3JP P
>A
BSI Salemba 22
-G;SF0"M.6MDS/3.3C/#23DJ.F.
-G;SF0"M.6MD6/";.;S;#23J.-.
-G;SF0"M.6MDD32.3C/#23DJ.F.
-G;SF0"M.6MD3D;-.3C/#23DJ.F.
-G;SF0"M.6MD/DD.3C/#23DJ.F.
-G;SF0"M.-I-+0D3#/".S3-F06%S()
.%#2;6 ;S;
;S;J.-.
OB,ECT ? FORM1 PROCE&URE ? LOA&
620S3 ;CD3I
620S3 D/-/#/S3
%S3
OB,ECT ? FORM1 PROCE&URE ? ATUROB,ECT
./"/M3-3" +0CD;S;
-G;SF0"M.-I-+0D3#/".3C/#23DJ.C0-.+0CD;S;
-G;SF0"M.-I-C/M/#/".3C/#23DJ+0CD;S;
-G;SF0"M.-I-G/"D/.3C/#23DJ+0CD;S;
-G;SF0"M.-I-E%M.3C/#23DJ+0CD;S;
OB,ECT ? FORM1 PROCE&URE ? KON&ISIA7AL
-G;SF0"M./-%"0#E36-(.F.)
-G;SF0"M.-I-+0D3#/"./2%3JPP
-G;SF0"M.-I-C/M/#/"./2%3JPP
-G;SF0"M.-I-G/"D/./2%3JPP
-G;SF0"M.-I-E%M./2%3JPP
-G;SF0"M.6MDS/3.3C/#23DJ.F.
-G;SF0"M.6MD6/";.;S;#23J.-.
-G;SF0"M.-I-+0D3#/".S3-F06%S()
OB,ECT ? FORM1 PROCE&URE ? TAMPIL&ATA
-G;SF0"M.-I-+0D3#/"./2%3J#/"/CD.+0D3#/"
-G;SF0"M.-I-C/M/#/"./2%3J#/"/CD.C/M/#/"
-G;SF0"M.-I-G/"D/./2%3J#/"/CD.G/"D/
-G;SF0"M.-I-E%M./2%3J#/"/CD.E%M#/"
OB,ECT ? CM&CARI PROCE&URE ? CLICK
;F 3M.-&(-G;SF0"M.-I-+0D3#/"./2%3)
M3SS/D3#0I(P+0D3 G/"%S D;;S; P,B@,P.3"G/-;/CP)
-G;SF0"M.-I-+0D3#/".S3-F06%S
"3-%"C
3CD;F
;F S33+(-";M(-G;SF0"M.-I-+0D3#/"./2%3))
-G;SF0"M.-I-+0D3#/".3C/#23DJ.F.
-G;SF0"M.-I-C/M/#/".3C/#23DJ.F.
-G;SF0"M.-I-G/"D/.3C/#23DJ.F.
-G;SF0"M.-I-E%M2/G.3C/#23DJ.F.
-G;SF0"M.-/M.;2D/-/
-G;SF0"M.6MD3D;-.3C/#23DJ.-.
"3-%"C
3CD;F
-G;SF0"M./-%"0#E36-(.F.)
-G;SF0"M.-I-C/M/#/"./2%3JPP
-G;SF0"M.-I-G/"D/./2%3JPP
B)
BSI Salemba 22
-G;SF0"M.-I-E%M./2%3JPP
-G;SF0"M.6MDS/3.3C/#23DJ.F.
-G;SF0"M.6MD6/";.;S;#23J.-.
-G;SF0"M.-I-+0D3#/".S3-F06%S
-G;SF0"M./-%"0#E36-(.-.)
-G;SF0"M.6MD6/";.;S;#23J.-.
-G;SF0"M.6MDS/3.3C/#23DJ.-.
-G;SF0"M.6MD6/C632.3C/#23DJ.-.
-G;SF0"M.6MDD32.3C/#23DJ.F.
-G;SF0"M.6MD/DD.3C/#23DJ.F.
-G;SF0"M.-I-C/M/#/".S3-F06%S
OB,ECT ? CM&SAVE PROCE&URE ? CLICK
;F 3M.-&(-G;SF0"M.-I-C/M/#/"./2%3)
M3SS/D3#0I(PC/M/ G/"%S D;;S;P,B@,P.3"G/-;/CP)
-G;SF0"M.-I-C/M/#/".S3-F06%S
"3-%"C
3CD;F
;F 3M.-&(-G;SF0"M.-I-G/"D/./2%3)
M3SS/D3#0I(PG/"D/ G/"%S D;;S;P,B@,P.3"G/-;/CP)
-G;SF0"M.-I-G/"D/.S3-F06%S
"3-%"C
3CD;F
;F 3M.-&(-G;SF0"M.-I-E%M./2%3)
M3SS/D3#0I(PE%M2/G G/"%S D;;S;P,B@,P.3"G/-;/CP)
-G;SF0"M.-I-E%M.S3-F06%S
"3-%"C
3CD;F
;F ;S;J.-.
/..3CD #2/C+
"3.2 +0D3#/" 7;-G -G;SF0"M.-I-+0D3#/"./2%3
"3.2 C/M/#/" 7;-G -G;SF0"M.-I-C/M/#/"./2%3
"3.2 G/"D/ 7;-G /2(-G;SF0"M.-I-G/"D/./2%3)
"3.2 E%M#/" 7;-G /2(-G;SF0"M.-I-E%M./2%3)
32S3
"3.2 +0D3#/" 7;-G -G;SF0"M.-I-+0D3#/"./2%3
"3.2 C/M/#/" 7;-G -G;SF0"M.-I-C/M/#/"./2%3
"3.2 G/"D/ 7;-G -G;SF0"M.-I-G/"D/./2%3
"3.2 E%M#/" 7;-G -G;SF0"M.-I-E%M./2%3
3CD;F
-G;SF0"M.+0CD;S;/7/2
-G;SF0"M."3F"3SG
OB,ECT ? CM&CANCEL PROCE&URE ? CLICK
-G;SF0"M.+0CD;S;/7/2
OB,ECT ? CM&BRO7SE PROCE&URE ? CLICK
#"07S3
OB,ECT ? CM&&ELETE PROCE&URE ? CLICK
;F "3660%C-() MJ)
B4
BSI Salemba 22
"3-%"C
3CD;F
.3S/CJM3SS/D3#0I(P#3C/" D/-/ /+/C D;G/.%S 9P,>(,P+0CF;"M/S;P)
;F .3S/CJ(
D323
./6+
3CD;F
-G;SF0"M.-/M.;2D/-/
-G;SF0"M."3F"3SG
OB,ECT ? CM&E&IT PROCE&URE ? CLICK
;S;J.F.
-G;SF0"M.-I-+0D3#/".3C/#23DJ.F.
-G;SF0"M.-I-C/M/#/".3C/#23DJ.-.
-G;SF0"M.-I-G/"D/.3C/#23DJ.-.
-G;SF0"M.-I-E%M.3C/#23DJ.-.
-G;SF0"M.6MD/DD.3C/#23DJ.F.
-G;SF0"M.6MD6/";.3C/#23DJ.-.
-G;SF0"M.6MDS/3.3C/#23DJ.-.
-G;SF0"M.-I-C/M/#/".S3-F06%S
-G;SF0"M."3F"3SG
OB,ECT ? CM&A&& PROCE&URE ? CLICK
;S;J.-.
-G;SF0"M.-I-+0D3#/".3C/#23DJ.-.
-G;SF0"M.-I-C/M/#/".3C/#23DJ.F.
-G;SF0"M.-I-G/"D/.3C/#23DJ.F.
-G;SF0"M.-I-E%M.3C/#23DJ.F.
-G;SF0"M.-I-+0D3#/"./2%3JP P
-G;SF0"M.-I-C/M/#/"./2%3JP P
-G;SF0"M.-I-G/"D/./2%3JP P
-G;SF0"M.-I-E%M./2%3JP P
-G;SF0"M.6MD3D;-.3C/#23DJ.F.
-G;SF0"M.-I-+0D3#/".S3-F06%S
-G;SF0"M."3F"3SG
OB,ECT ? CM&EXIT PROCE&URE ? CLICK
-G;SF0"M."323/S3
OB,ECT ? CM&TOP PROCE&URE ? CLICK
-G;SF0"M.-I-+0D3#/".3C/#23DJ.F.
-G;SF0"M.6MDD32.3C/#23DJ.-.
-G;SF0"M.6MD3D;-.3C/#23DJ.-.
-G;SF0"M.6MD/DD.3C/#23DJ.-.
D0 -0.
-G;SF0"M.-/M.;2D/-/
-G;SF0"M."3F"3SG
OB,ECT ? CM&BACK PROCE&URE ? CLICK
B5
BSI Salemba 22
-G;SF0"M.-I-+0D3#/".3C/#23DJ.F.
-G;SF0"M.6MDD32.3C/#23DJ.-.
-G;SF0"M.6MD3D;-.3C/#23DJ.-.
-G;SF0"M.6MD/DD.3C/#23DJ.-.
S+;. <4
;F #0F()
D0 -0.
M3SS/D3#0I(PD/-/ S%D/G D;/7/2 "360"DP,B@,P;CF0"M/S;P)
3CD;F
-G;SF0"M.-/M.;2D/-/
-G;SF0"M."3F"3SG
OB,ECT ? CM&NEXT PROCE&URE ? CLICK
-G;SF0"M.-I-+0D3#/".3C/#23DJ.F.
-G;SF0"M.6MDD32.3C/#23DJ.-.
-G;SF0"M.6MD3D;-.3C/#23DJ.-.
-G;SF0"M.6MD/DD.3C/#23DJ.-.
S+;.
;F 30F()
D0 #0--0M
M3SS/D3#0I(PD/-/ S%D/G D;/+G;" "360"DP,B@,P;CF0"M/S;P)
3CD;F
-G;SF0"M.-/M.;2D/-/
-G;SF0"M."3F"3SG
OB,ECT ? CM&BOTTOM PROCE&URE ? CLICK
-G;SF0"M.-I-+0D3#/".3C/#23DJ.F.
-G;SF0"M.6MDD32.3C/#23DJ.-.
-G;SF0"M.6MD3D;-.3C/#23DJ.-.
-G;SF0"M.6MD/DD.3C/#23DJ.-.
D0 #0--0M
-G;SF0"M.-/M.;2D/-/
-G;SF0"M."3F"3SG
#%/-2/G -/M.;2/C F0"M &/CD S/M/ S3.3"-; F0"M #/"/CD %C-%+
6%S-0M3" D/C S%..2;3" QQ
%C-%+ +0D3 ."0D"/M 9QD/M./CD, S/M/ S3.3"-; F0"M #/"/CD.
#uatlah form -"/CS/+S; .3M#32;/C #3";+%- $
B>
BSI Salemba 22
OB,EK PROPERT= NILAI
60M#04 C/M3
60C-"02S0%"63
"07S0%"63
"07S0%"63-&.3
6M#+DHS%..
S%..2;3"
S%..2;3".+0D3S%..
5</2;/S
60M#05 C/M3
60C-"02S0%"63
"07S0%"63
"07S0%"63-&.3
6MD+DH#"D
#/"/CD
#/"/CD.+0D3#/"
5</2;/S
D";D4 "360"DS0%"63
"360"DS0%"63-&.3
-M.#32;
4</2;/S
BB
BSI Salemba 22
Ob(e)* ? F"%m1 P%")e3!%e ? A)*4a*e
thisform.kondisia,al
set date british
mtglJdate()
thisform.txttgl.!alueJmtgl
publi' isi
isiJ.t.
Ob(e)* ? F"%m1 P%")e3!%e ? L"a3
'lose all
sele 4
use Pd$=ta=data=barang.dbfP
set order to tag kodebar
sele 5
use Pd$=ta=data=supplier.dbfP
set order to tag kodesupp
sele >
use Pd$=ta=data=tmpbeli.dbfP
sele B
use Pd$=ta=data=pembelian.dbfP
set order to tag noHfaktur
set relation to kodebar into barang
set relation to kodesupp into supplier addi
sele >
dele all
pa'k
Ob(e)* ? F"%m1 P%")e3!%e ? Be%s;
thisform.txtfak.!alueJPP
thisform.'mbkdHsupp.!alueJPP
thisform.txtnmHsupp.!alueJPP
thisform.'mbkdHbar.!alueJPP
thisform.txt*ty.!alueJPP
thisform.txtnmHbar.!alueJPP
thisform.txthrg.!alueJPP
thisform.txtbyr.!alueJPP
Ob(e)* ? )m3a33 P%")e3!%e ? Cl)1
sele B
if empty(thisform.txtfak.!alue)
messagebox(PCo.Faktur Garus diisi
P,B@,P.erhatianP)
thisform.txtfak.setfo'us
return
endif
if seek(trim(thisform.txtfak.!alue))
messagebox(PCo.Faktur tersebut sudah
adaP,B@,P.erhatianP)
thisform.txtfak.setfo'us
return
else
thisform.'mbkdHsupp.enabledJ.t.
thisform.'mbkdHsupp.setfo'us
endif
Ob(e)* ? )m3)a+)el P%")e3!%e ? Cl)1
-hisform.kondisia,al
sele >
thisform.grid4.re'ordsour'eJP.embelianP
thisform.grid4.'olumn4.,idthJ4))
thisform.grid4.'olumn5.,idthJ4))
thisform.grid4.'olumn>.,idthJ4))
thisform.grid4.'olumnB.,idthJ>)
thisform.grid4.'olumn?.,idthJ4))
thisform.grid4.'olumn?.,idthJ4))
thisform.txtfak.!alueJPP
thisform.'mbkdHsupp.!alueJPP
thisform.txtnmHsupp.!alueJPP
thisform.txtfak.setfo'us
Ob(e)* ? )m3sa4e P%")e3!%e ? Cl)1
sele >
s'an
sele B
appen blank
repl noHfaktur ,ith thisform.txtfak.!alue
repl tglbeli ,ith thisform.txttgl.!alue
B?
BSI Salemba 22
Ob(e)* ? F"%m1 P%")e3!%e ? K"+3sa-al
thisform.bersih
thisform.txtfak.setfo'us
thisform.txtfak.!alueJPP
thisform.txtfak.enabledJ.t.
thisform.'mbkdHsupp.enabledJ.f.
thisform.txtnmHsupp.enabledJ.f.
thisform.'mbkdHbar.enabledJ.f.
thisform.txtnmHbar.enabledJ.f.
thisform.txt*ty.enabledJ.f.
thisform.txthrg.enabledJ.f.
thisform.txtbyr.enabledJ.f.
thisform.'mdsa!e.enabledJ.f.
thisform.'md'an'el.enabledJ.f.
thisform.'mdlagi.enabledJ.f.
Ob(e)* ? *#*5a1 P%")e3!%e ? L"s*F")!s
thisform.'mdadd.setfo'us
Ob(e)* ? )mb132ba% P%")e3!%e ? Cl)1
sele 4
if seek(thisform.'mbkdHbar.!alue)
thisform.txtnmHbar.!alueJnamabar
thisform.txthrg.!alueJharga
thisform.txt*ty.enabledJ.t.
thisform.txt*ty.setfo'us
else
messagebox(P#elum terdaftarP,B@,P.esanP)
endif
Ob(e)* ? )mb132s!$$ P%")e3!%e ? Cl)1
sele 5
if seek(thisform.'mbkdHsupp.!alue)
thisform.txtnmHsupp.!alueJnamasupp
thisform.'mbkdHbar.enabledJ.t.
thisform.'mbkdHbar.setfo'us
else
messagebox(P6ustomer tersebut tidak adaP,B@,P.esanP)
endif
Ob(e)* ? *#*Q*D P%")e3!%e ? L"s*F")!s
repl kodesupp ,ith thisform.'mbkdHsupp.!alue
repl kodebar ,ith tmpbeli.kdHbarang
repl jmlbeli ,ith tmpbeli.jmlbeli
repl totalbeli ,ith tmpbeli.totalbeli
sele 4
repl jumlah ,ith barang.jumlah8tmpbeli.jmlbeli
sele >
ends'an
sele >
dele all
pa'k
thisform.grid4.re'ordsour'eJPtmpbeliP
thisform.grid4.'olumn4.,idthJ4))
thisform.grid4.'olumn5.,idthJ4))
thisform.grid4.'olumn>.,idthJ4))
thisform.grid4.'olumnB.,idthJ4))
thisform.grid4.'olumn?.,idthJ4))
thisform.kondisia,al
thisform.refresh
Ob(e)* ? )m3la: P%")e3!%e ? Cl)1
sele >
appen blank
repl kodebar ,ith thisform.'mbkdHbar.!alue
repl namabar ,ith thisform.txtnmHbar.!alue
repl harga ,ith thisform.txthrg.!alue
repl jmlbeli ,ith !al(thisform.txt*ty.!alue)
repl totalbeli ,ith thisform.txtbyr.!alue
thisform.refresh
thisform.'mbkdHbar.!alueJPP
thisform.'mbkdHbar.setfo'us
thisform.txtnmHbar.!alueJPP
thisform.txthrg.!alueJPP
thisform.txt*ty.!alueJPP
thisform.txtbyr.!alueJPP
thisform.'mdlagi.enabledJ.f.
B(
BSI Salemba 22
m*tyJ!al(thisform.txt*ty.!alue)
mhargaJthisform.txthrg.!alue
thisform.txtbyr.!alueJm*tyRmharga
thisform.'mdlagi.enabledJ.t.
thisform.'mdsa!e.enabledJ.t.
Ob(e)* ? )m3e#* P%")e3!%e ? Cl)1
thisform.release
thisform.'mdsa!e.enabledJ.t.
thisform.'md'an'el.enabledJ.t.
Ob(e)* ? )m3b%"-se P%")e3!%e ? Cl)1
do form P'$=do'uments and settings=ti bsi=my
do'uments=labHoHsore=foxpro=ta=form=bro,sepe
mbelian.s'xP
BF
BSI Salemba 22
MO&UL K
REPORT
.embuatan report dalam modul ini menggunakan "eport Designer. /dapun tahapan dalam
pembuatan report akan dijelaskan seperti diba,ah ini $
4. /ktifkan proje't anda (pastikan database .3M#32;/C.db' beserta tabelnya telah ada)
5. Dari .roje't Manajer pilih tab Do'(men#"
>. +lik Re)or#! Ne! Ne Re)or#
B. 2alu akan tampil "eport Designer
B@
BSI Salemba 22
?. +lik kanan pada "eport Designer, lalu klik Data 3n!ironment
(. Add dari database .embelian, yaitu tabel pembelian, barang, dan supplier
F. 2alu drag Field" dari tabel .embelian ke Detail pada "eport Designer
Drag dari tabel #arang ke Detail, yaitu namabar, harga
Drag dari tabel Supplier ke Detail, yaitu namasupp
@. /tur tampilan seperti diba,ah ini, lalu pilih i'on Prin# Pre*ie atau klik kanan pada
"eport Designer, pilih Pre*ie
BA
BSI Salemba 22
A. Setelah memastikan hasil laporan benar, maka buatlah relasi pada data en!ironment
4). 2alu buat Data Drouping. +lik menu Re)or#, .ilih Da#a +ro()in,, atau klik kanan pada
"eport Designer, pilih Da#a +ro()in,.
44. .ada ,ro() e-)re""ion" double klik , lalu tampil jendela E-)re""ion" .(ilder. .ada
Field" 'ari pembelian.noHfaktur, double klik, sampai tampil di +ro() Re'ord" b/
E-)re""ion". 2alu 0+ dan 0+
?)
klik pada tombol ini
BSI Salemba 22
45. 2alu atur tampilan seperti diba,ah ini
?4
Fields
.i'ture//'ti!ex
#ound 6ontrol
"ounded "e'tangle
#utton 2o'k
"e'tangle
2abel 2;C3
BSI Salemba 22
4>. %ntuk .age Geader, gunakan Label, langsung ketik 2/.0"/C -"/CS/+S;
.3M#32;/C. %ntuk -anggal 6etak menggunakan 2abel, sedangkan untuk Date()
menggunakan fields. < +lik Field", letakkan disamping -anggal 6etak
< -ampil jendela Re)or# E-)re""ion"
< .ada E-)re""ion", double klik
< .ada Da#e, pilih D/-3(), lalu 0+, 0+
?5
BSI Salemba 22
4B. .ada +ro() Foo#er01no_2a3#(r, gunakan fields untuk totalbeli, lalu tampil jendela Re)or#
E-)re""ion"
4?. Double klik pada E-)re""ion", tampil jendela E-)re""ion" .(ilder.
Double klik pada .embelian.totalbeli, lalu 0+
?>
BSI Salemba 22
4(. .ada jendela Re)or# E-)re""ion", klik Cal'(la#ion", klik tombol S(m. 2alu 0+, 0+
4F. Pre*ie 2aporan untuk melihat hasilnya
?B
BSI Salemba 22
MO&UL P
MENU &ESIGNER
2angkah<langkah membuat Menu $
4. .ada .roje't Manajer klik tab O#$er, lalu pilih Men(" dan klik Ne
5. .ada jendela Men( De"i,ner, pilih In"er#. Maka pada Prom)# akan mun'ul Ne I#em
>. +etikkan berturut<turut menu yang akan mun'ul di menubar sebagai menu utama pada
kolom prompt.
B. 2alu lakukan pengisian seperti berikut
PROMPT RESULT
=MD/-/ S%#M3C% 6"3/-3
=M#/"/CD 60MM/CD do form P'$=barang.s'xP
=MS%..2;3" 60MM/CD Do form P'$=supplier.s'xP
??
BSI Salemba 22
Setelah selesai, pada Men( Le*el klik Menu #ar untuk kembali ke a,al. 2alu kembali
ke langkah > dan lakukan pengisian seperti berikut $
P%"m$* Res!l*
=M-"/CS/+S; S%#M3C% 6"3/-3
=M.3M#32;/C 60MM/CD do form P'$=pembelian.s'xP
Setelah selesai, pada Men( Le*el klik Menu #ar untuk kembali ke a,al. 2alu kembali
ke langkah > dan lakukan pengisian seperti berikut $
P%"m$* Res!l*
=M2/.0"/C S%#M3C% 6"3/-3
=M#/"/CD ."063D%"3 "3.0"- form P'$=barang.s'xP ."3;37
=MS%..2;3" ."063D%"3 "3.0"- form P'$=supplier.s'xP ."3;37
=M.3M#32;/C ."063D%"3 "3.0"- form P'$=pembelian.s'xP ."3;37
Setelah selesai, pada Men( Le*el klik Menu #ar untuk kembali ke a,al. 2alu kembali
ke langkah > dan lakukan pengisian seperti berikut $
P%"m$* Res!l*
=M+32%/" ."063D%"3 (ketikkan kode program seperti diba,ah)
?. Mengganti sistem menu yang ada.
+lik Vie pilih +eneral O)#ion". .ada Men( Code, klik Se#(), lalu 0+
?(
BSI Salemba 22
Maka akan mun'ul jendela, dan ketikkan kode programnya
-utup jendelanya dan klik Vie lagi, klik 6leanup, lalu 0+. +etikkan kode programnya
Setelah selesai, tutup jendelanya
(. 2alu pada Menu #ar M3C%, pilih +enera#e, dan simpan dengan nama M3C% %-/M/
?F
BSI Salemba 22
F. Setelah itu klik M3C% %-/M/ pada O#$er, 'oba "un program utamanya
?@