Pe nd e ka ta n ya ng d ila kuka n d a la m p e mb a c a a n p ro g ra m d e ng a n b e ntuk d o kume nta si ya ng b a ik p a d a umumnya a d a la h p e nd e ka ta n ‘ To p
Do wn’
Pe nd e ka ta n ya ng d ila kuka n d a la m p e mb a c a a n p ro g ra m d e ng a n b e ntuk d o kume nta si ya ng kura ng b a ik p a d a umumnya a d a la h
p e nd e ka ta n ‘ Bo tto m Up ’ a ta u ‘ Ste p wise Ab stra c tio n’
5.2.2 A lja b a r d a ri Pro g ra m Te rstruktur
•
Ap a b ila te rd a p a t P a d a la h sua tu p ro p e r sub p ro g ra m d a ri Q , d a n Ap a b ila p e ng g a ntia n P d ig a ntika n o le h P’ ma ka Q me ng ha silka n Q ’
[P] = [P’ ]
→
[Q ] = [Q ’ ]
•
Te rd a p a t d ua imp lika si p e nting d a ri a xio m te rse b ut 1.
Nila i ke b e na ra n d a ri p ro p o sisi a p a p un ya ng me lib a tka n [Q ] d irub a h a p a b ila P d ig a ntika n o le h P’
2. Prime p ro g ra m d a p a t d ia b stra ksika n se b a g a i func tio n no d e . Da n
func tio n no d e d a p a t d ip e rlua s me nja d i sua tu p rime p ro g ra m
Pe rtimb a ng ka n p ro c r
a b
c o rp p ro c r
while p
d o c
p ro c r while
p d o
f
o d d
e c o rp
g o d
if q
the n h
e lse I
fi e
c o rp
Pe mb a c a a n
Pe nulisa n
Va lid a si
•
Pe rtimb a ng ka n p ro g ra m b e rse rta a b stra ka sinya
if x 0
the n
y := -x e lse
y := x fi
y := a b sx
[if x 0 the n y := -x e lse y := x fi] = [y := a b sx]
•
Alja b a r d a ri sua tu p ro g ra m ya ng te rstruktur a d a la h p rinsip d a ri p e mb a c a a n sua tu p ro g ra m te rstruktur
5.2.3 Pe mb a c a a n sua tu p rime p ro g ra m
•
C a ra ya ng d a p a t d ila kuka n d a la m me mb a c a sua tu p ro g ra m a d a la h d e ng a n me mp e rha tika n Pa th ya ng a d a p a d a E-Tre e
•
Ya ng me nja d i o b ye k d a ri p e mb a c a a n sua tu p ro g ra m a ta u b a g ia nnya a d a la h untuk me ng e na li la ng sung a p a ya ng te rja d i
•
Ha sil ya ng d id a p a tka n a d a la h sua tu b e ntuk a b stra ksi ya ng me mb e rika n ke simp ula n d a ri ke mung kina n ha sil ke lua ra n p ro g ra m
d e ng a n sua tu p e rtimb a ng a n, tid a k me mp e rha tika n ‘ inte rna l c o ntro l struc ture ’ d a n ‘ d a ta o p e ra tio n’
•
C o nto h p e mb a c a a n p a d a PDL
Se q ue nc e
x := x - y y := x + y
Hub ung a n a nta ra d a ta ini d a p a t d itulis d e ng a n me ng g una ka n sub c rip t d ima na untuk
Sub c rip t 0 a d a la h untuk nila i a wa l Sub c rip t 1 untuk nila i ya ng me ng ikuti a ssig nme nt
Sub c rip t 2 untuk nila i a khir d a ta
c o nto h d a ri p ro g ra m d i a ta s
x1 = x0 - y0 y1 = x1 + y0
ke mud ia n
x2 = x1 = x0 - y0
d a n y2 = x1 + y0
= x0 + y0 + y0 = x0
Eq uiva le nt Se q ue nc e -fre e p ro g ra m d a p a t d ituliska n [ x := x - y; y := x + y] = [x,y := x - y, x]
Alte rna tio n
if x y
the n z := y
e lse z := x
fi
d inya ta ka n d a la m b e ntuk
1. C o nd itio na l a ssig nme nt [x y
→
x := y | true
→
z := x ] 2. Ab stra ksi
[if x y the n z := y e lse z := x fi] = [ z:= minx , y]
Ite ra tio n
While x 1
Do x := x - 2
O d
Pro g ra m func tio n [While x 1 Do x := x - 2 O d ] = [x := minx, O d d e ve nx]
BA B V KEBENA RA N PRO G RA M
6.1. O ve rvie w
•
Pa d a d a sa rnya ke b e na ra n d a ri sua tu p ro g ra m te rstruktur d ib uktika n d e ng a n me ng g una ka n te o ri fung si
•
Ke b e na ra n p ro g ra m p a d a p e mb a c a a n p ro g ra m a d a la h untuk me ng e ta hui inte rp re sta si d a ri sua tu p ro g ra m
•
Ke b e na ra n p ro g ra m p a d a p e nulisa n p ro g ra m a d a la h untuk me mb e ntuk p ro g ra m ya ng b e na r
•
Ke b e na ra n p ro g ra m p a d a sa a t va lid a si a d a la h untuk me ng e ta hui a p a ka h p ro g ra m me nja la nka n fung si d e ng a n b e na r
•
Ke b e na ra n p ro g ra m d ite ntuka n se b a g a i hub ung a n a nta ra se b ua h p ro g ra m d e ng a n fung si ya ng d iing inka n, ko nse p a lja b a r d ig una ka n untuk
me ng ura ng i ma sa la h p e ne ntua n ke b e na ra n p ro g ra m c o mp o und ke ma sa la h p e ne ntua n unsur p o ko k
•
Te knik ya ng d a p a t d ig una ka n untuk ini a d a la h Tra c e Ta b le d a n Disjo int Rule
6.2. Ve rifika si Pro g ra m Te rstruktur
6.2.1. Ke b e na ra n Ve rifika si d a la m Pe m b a c a a n d a n Va lid a si
•
Ve rifika si p a d a sa a t p e mb a c a a n p ro g ra m a d a la h untuk se tia p la ng ka h p rime p ro g ra m d a n d isimp ulka n d a la m b e ntuk d a ri se b ua h hip o te sa
untuk se b ua h p ro g ra m func tio n. C o nto h
if
p
the n
q
e lse
h
fi
f = [
if
p
the n
g
e lse
h
fi
]
•
Ve rifika si p a d a sa a t p e nulisa n p ro g ra m a d a la h untuk se tia p la ng ka h fung si ya ng d ib e rika n, d ike mb a ng ka n ke d a la m struktur p rime ya ng
se sua i, d a n ko mp o ne n func tio n d a n p re d ic a te d ite ntuka n d ima na hip o te sa a ka n me ng ha silka n se b ua h p ro g ra m func tio n ya ng id e ntik
d e ng a n fung si ya ng d ib e rika n
6.2.2. A lja b a r Ke b e na ra n Pro g ra m Te rstruktur
•
Ke b e na ra n p ro g ra m d ite ka nka n p a d a 2 ha l ya itu
1. Ap a ka h f = [p ] ? C o mp le te C o rre c tne ss c e nd e rung me nuju p a d a
d e fe nvise p ro g ra mming 2.
Ap a ka h f
⊂
[p ] ? Suffic ie nt C o rre c tne ss c e nd e rung me nuju p a d a e xe c p tio n p ro c e ssing
•
Pe rtimb a ng ka n untuk p ro g ra m d ib a wa h ini
f = x
≥ ∧
y
≥ →
x, y := x + y, 0
P1 =
while
y 0
do
x, y := x + 1, y - 1
o d
P2 =
while
y
≠
do
x,y := x + 1, y - 1
o d
f = x
≥ ∧
y
≥ →
x, y, z := x + y, 0, z |
true
→
x, y, z = x, y, “ e rro r” P3
=
if
x 0
∨
y 0
the n
z := “ e rro r”
e lse while
y 0
do
x, y := x + 1, y - 1
o d fi
•
Da la m me mb uktika n c o mp le te c o re c tne ss a ka n suka r untuk p ro g ra m d e ng a n b e ntuk c o mp o und p ro g ra m. C a ra ya ng d a p a t d ila kuka n
a d a ka h d e ng a n me ng hip o te sa fung si-fung si p o ko k, C o nto h
while
x 0
∧
y 0
do
x := x - 1 y := y - 1
o d if
y 0
the n
x := -y
fi fre e
y
SEQ :SUB
WDO :MAG IFE:SIG N fre e x
x 0
∧
y 0 SEQ :DEC R y 0 x := -y
x := x - 1 y := y - 1
Sub p ro ff
sub = [ma g ;sig n;
fre e
x ]
m a g = [
while
x 0
∧
y 0
do
d e c r
o d
] d e c r
= [x := x - 1; y := y - 1] sig n
= [
if
y 0
the n
x := -y
fi
]
a ta u
sub
⊂
[m a g ;sig n;
fre e
x] m a g
⊂
[
while
x 0
∧
y 0
do
d e c r
o d
] d e c r
⊂
[x := x - 1; y := y - 1] sig n
⊂
[
if
y 0
the n
x := -y
fi
]
6.3. Ke b e na ra n Pro g ra m - p ro g ra m Prim e
6.3.1. Pro g ra m Te rm ina si
•
Te rmina si p a d a p ro g ra m ya ng te rb e ntuk d a ri b e ntuka n ko mp o sisi fung si te rte ntu ya ng tite ntuka n o le h sa tu linta sa n p a d a e -c ha rt d e ng a n ta mp a
a d a p e ng ula ng a n a ma tla h mud a h d ite ntuka n d ima na d a la m e va lua sinya [P] a d a la h f, d a n f me rup a ka n ko mp o si fung si
•
Te rmina si p a d a p ro g ra m ya ng me ng a nd ung p e ng ula ng a n a ma t suka r d ite ntuka n. Ha l ini d ise b a b ka n a d a nya sua tu ke a d a a n ya ng tid a k d a p a t
d ip e rkira ka n untuk me ng a khiri sua tu p ro g ra m
6.3.2. Ite ra tio n Re c ursio n Le m m a
•
Ve rifika si untuk sua tu p ro g ra m d e ng a n a d a nya p e ng ula ng a n d a p a t d ila kuka n d e ng a n me rub a h p ro g ra m ke d a la m b e ntuk re c ursive
p =
while
p
do
g
o d
q =
if
p
the n
q ; f
fi
d ima na f b e rhe nti unutk se mua a rg ume nt f d a n f a d a la h p ro g ra m func tio n d a ri ifthe n ya ng tid a k me miliki p e ng ula ng a n
C o nto h p =
while
v 0
do
u,v := u+1,v-1
o d
d a ri p ro g ra m tsb d id a p a t f = u, v := u+v, 0
o le h ka re na itu d id a p a tka n
q =
if
v 0
the n
u,v := u+1,v-1; u, v := u+v,0
fi
•
De ng a n ha l te rse b ut ma ka
while do
f = [
while
p
do
g
o d
]
↔
te rm f,
while
p
do
g
o d
∧
f = [
if
p
the n
g ; f
fi
]
do until
f = [
do
g
until
p
o d
]
↔
te rm f,
do
g
until
p
o d
∧
f = [g ; if ~p the n f fi]
do while do
f = [
do 1
g
while
p
do 2
h
o d
]
↔
te rm f,
do 1
g
while
p
do 2
h
o d
∧
f = [g ;
if
p
the n
h; f
fi
]
6.3.3. Te o re m a Ke b e na ra n
•
Te o re ma ke b e na ra n ha nya me ne ntuka n re la si-re la si himp una n a p a ya ng ha rus d ive rifika si unutk me mb uktika n ke b e na ra n d a ri sua tu p ro g ra m
•
Te o re ma Ke b e na ra n me nunjuka n b a hwa sua tu sisi d a ri p e rta nya a n- p e rta nya a n te rmina si se mua p ro g ra m-p ro g re a m te rstruktur ya ng
d inya ta ka n d a la m p rime -p rime sa mp a i p a d a se b ua h p re d ic a te ya ng d a p a t d ive rifika si ha nya o le h p e ng g una me to d e -me to d e b e ra la sa n ya ng
d ib utuhka n o le h p ro g ra m se q ue nc e d a n ifthe n, p e mb uktia n mung kin me mb utuhka n ke sa b a ra n d ib a nd ing d e ng a n p e ng e ta hua n
•
Untuk fung si f d a n p ro g ra m p ke b e na ra n d ite ntuka n o le h se b ua h ko nd isi c untuk
C o mp le te c o rre c tne ss f = [p ] te rm f, p
∧
f = {x, y | c x , y}
Suffic ie nt c o re c tne ss f
⊂
[p ] te rm f, p
∧
f
⊂
{x, y | c x , y}
g ; h y = h
•
g x
fo r
I
∈
Li:n
do
g
o d
y =
g
Ln
•
. . .
•
g
L1
if
p
the n
g
fi
p x
→
y = g x
∧
~p x
→
y = x
if
p
the n
g
e lse
h
fi
p x
→
y = g x
∧
~p x
→
y = hx
c ase
p
part
C L1: g ...
part
C ln: h
e lse
t
e sac
p x
∈
C L1
→
y = g x
∧
. . . p x
∈
C Ln
→
y = hx
∧
p x
∉
C L1. . .C ln
→
y = tx
while
p
do
g
o d
p x
→
y = f
•
g x
∧
~p x
→
y = x
do
g
until
p
o d
p
•
g x
→
y = g x
∧
~p
•
g x
→
y = f
•
g x
do 1
g
while
p
do 2
h
o d
p
•
g x
→
y = f
•
h
•
g x
∧
~p
•
g x
→
y = g x
•
C o nto h p
= if
p
the n
g
fi
d itunjuka n f = [p ]
↔
te rm f , p
∧
f = {x , y | c x , y} a ta u
f
⊂
[p ]
↔
te rm f , p
∧
f = {x , y | c x , y} d ima na
c x,y = p x
→
y = g x
∧
~p x
→
y = x
6.3.4. C o rre c tne ss p ro ff synta x
•
Pe mb uktia n ke b e na ra n d a ri p rime p ro g ra m me mb utuhka n sua tu b e ntukka n ya ng b a ju d a la m p e no ta sia nnya . Ha l ini d ila kuka n a g a r d a la m
d o kume nta si d a n ko munika si d a p a t d ila kuka n d e ng a n b a ik. O le h ka re na itu d ib utuhka n ke ywo rd -ke ywo rd ya ng d ig una ka n d a la m ko munika si
a nta ra la in
1 func tio n : me nya ta ka n a ta u me ng a c u p a d a fung si ya ng d i-ing inka n 2 p ro g ra m : me nya ta ka n a ta u me ng a c u p a d a b a g ia n p ro g ra m
3 p ro o f : me nya ta ka n a ta u me ng a c u p a d a p e mb uktia n
4 re sult : p a ss
, a ta u fa il, suff a ta u c o mp
•
c o nto h
c x,y = p x
→
y = g x
∧
~p x
→
y = hx ka re na y = fx d a la m c x,y m a ka d a p a t d ina ya ta ka n se b a g a i
c x,fx = p x
→
fx = g x
∧
~p x
→
fx = hx imp lika si b e rikut
p x
→
fx = g x a tura n-a tura n ko nd isi
p x
→
fx =p x
→
g x a ta u le b ih se d e rha na
p
→
f =p
→
g ha l ini me ng a ra h ke p a d a p ro o f untuk
ifthe ne lse ifthe n
true
p ro o fp
→
f = p
→
g
ifthe n false
p ro o f~p
→
f = ~p
→
h
6.4. Te knik- te knik untuk Pe m b uktia n Ke b e na ra n
6.4.1. Tra c e Ta b le
•
Me to d e ini d e ng a n me ng g una ka n se b ua h ta b e l d ima na b a ris me nunjuka n hub ung a n ke se tia p b a g ia n p ro g ra m se q ue nc e d a n ko lo m
me nunjuka n se tia p ite m d a ta ya ng d ib e rika n d a la m se q ue nc e
•
C o nto h x
:= x + y x
:= x + y x
:= x - y
Pa rt x y
x := x + y
x := x + y
x
1
= x + y
x
2
= x
1
y
1
= y y
2
= x
1
- y
1
x := x - y
x
3
= x
2
- y
2
y
3
= y
2
Ke mung ka ina n se c a ra ma te ma tis
x
3
= x
2
- y
2
= x
1
- x
1
- y
1
= y
1
= y y
3
= y
2
= x
1
- y
1
= x + y
- y = x
ma ka d id a p a t x
, y := y, x
6.4.2. Disjo int Rule
•
Disjo int rule d ig una ka n d a la m me nja b a rka n p e rta mb a ha n se tia p p re d ic a te ne g a si d a ri se mua p re d ic a te te rd a hulu
•
c o nto h sua tu c o nd itio na l rule
x 0
→
z := ma xx, y | y 0
→
z := minx, y d a p a t d ina ya ta ka n se b a g a i
x0
→
xy
→
z :=x | true
→
z :=y | y0
→
xy
→
z :=x | true
→
z := y d iko nve rsika n ke d a la n Disjo int Rule a d a la h
x 0
→
x y
→
z := x | x
≤ →
z := y | x
≤ ∧
y0
→
xy
→
z := x | x
≥
y
→
z := y a ka n sa ma ha lnya
x 0
∧
x y
→
z := x | x 0
∧
x
≤
y
→
z := y | x
≥ ∧
y 0
∧
x y
→
z := x | x
≥ ∧
y 0
∧
x
≥
y
→
z := y Pre d ic a te te ra khir a d a la h fa lse untuk x,y o le h ka re na itu
x
≤ ≤
y
∧
x
≥
y d a p a t d iha p us d a ri d isjo int rule . sisa d a ri rule d a p a t d ig a mb a rka n d a la m
b e ntuk
•
C a se Struc ture Tra c e Ta b le
•
C o nto h x
≥ →
x := x + y | true
→
y := y + x y 0
→
y := x - y | true
→
x := y - x x
≥ →
x := x - y | true
→
y := y - x d a p a t d iko nve rsika n
x
≥ →
x := x + y | x 0
→
y := y + x y 0
→
y := x - y | y 0
→
x := y - x x
≥ →
x := x - y | x 0
→
y := y - x te rd a p a t 8 ka sus d ima na se tia p ka sus me lib a tka n tra c e ta b le
Ka sus 1,1,1 Pa rt Ko nd isi
x y
x := x + y y := x - y
x
≥
y
1
≥
x
1
= x + y
x
2
= x
1
y
1
= y y
2
= x
1
- y
1
x := x - y x
2
≥
x
3
= x
2
+ y
2
y
3
= y
2
ko nd isi x
≥ ∧
y
1
≥ ∧
x
2
≥
0 = x
≥ ∧
y
≥ ∧
x
1
≥
= x
≥ ∧
y
≥ ∧
x +y
≥
= x
≥ ∧
y
≥
a ssig nme nt x
= x
2
- y
2
= x
1
- x
1
- y
1
= y
1
= y y
3
= y
2
= x
1
- y
1
= x + y
- y = x
Ka sus 1,1,2 Pa rt Ko nd isi
x y
x := x + y y := x - y
y := x - y x
≥
y
1
≥
x
2
x
1
= x + y
x
2
= x
1
x
3
= x
2
y
1
= y y
2
= x
1
- y
1
y
3
= y
2
- x
2
ko nd isi x
≥ ∧
y
1
≥ ∧
x
2
0 = x
≥ ∧
y
≥ ∧
x
1
= x
≥ ∧
y
≥ ∧
x + y
= fa lse Assig me nt : Tid a k p e rlu
Ka sus 1,2,1 Pa rt Ko nd isi
x y
x := x + y x
≥
x
1
= x + y
y
1
= y
x := y - x x := x - y
y
1
x
2
≥
x
2
= y
1
- x
1
x
3
= x
2
- y
2
y
2
= y
1
y
3
= y
2
ko nd isi x
≥ ∧
y
1
∧
x
2
≥
0 = x
≥ ∧
y
∧
y
1
- x
1
≥
= x
≥ ∧
y
∧
y - x
+ y
≥
= x
≥ ∧
y
∧
x
≤
= x = 0
∧
y a ssig nme nt
x
3
= x
2
- y
2
= x
1
- y
1
- y
1
= -x
1
= - x - y
y
3
= y
2
= y
1
= y
Ka sus 1,2,2 Pa rt Ko nd isi
x y
x := x + y x := y - x
y := y - x x
≥
y
1
x
2
x
1
= x + y
x
2
= y
1
- x
1
x
3
= x
2
y
1
= y y
2
= y
1
y
3
= y
2
- x
2
ko nd isi x
≥ ∧
y
1
∧
x
2
0 = x
≥ ∧
y
∧
y
1
- x
1
= x
≥ ∧
y
∧
y - x
+ y = x
≥ ∧
y
∧
x = x
∧
y a ssig nme nt
x
3
= x
2
= y
1
- x
1
= y - x
+ y = - x
y
3
= y
2
- x
2
= y
1
- y
1
- x
1
= x
1
= x + y
Ka sus 2,1,1 Pa rt Ko nd isi
x y
y := y + x y := x - y
x := x - y x
y
1
≥
x
2
≥
x
1
= x x
2
= x
1
x
3
= x
2
- y
2
y
1
= y + x
y
2
= x
1
- y
1
y
3
= y
2
ko nd isi x
∧
y
1
≥ ∧
x
2
≥
0 = x
∧
y + x
≥ ∧
x
1
≥
= x
∧
y + x
≥ ∧
x
≥
= fa lse a ssig nme nt tid a k p e rlu
Ka sus 2,1,2 Pa rt Ko nd isi
x y
y := y + x y := x - y
y := y - x x
y
1
≥
x
2
x
1
= x x
2
= x
1
x
3
= x
2
y
1
= y + x
y
2
= x
1
- y
1
y
3
= y
2
- x
2
ko nd isi x
∧
y
1
≥ ∧
x
2
0 = x
∧
y + x
≥ ∧
x
1
= x
∧
y + x
≥ ∧
x
= x
∧
y + x
≥
a ssig nme nt x
3
= x
2
= x
1
= x y
3
= y
2
- x
2
= x
1
- y
1
- x
1
= - y
1
= - y - x
Ka sus 2,2,1 Pa rt Ko nd isi
x y
y := y + x x := y - x
x := x - y x
y
1
x
2
≥
x
1
= x x
2
= y
1
- x
1
x
3
= x
2
- y
2
y
1
= y + x
y
2
= y
1
y
3
= y
2
ko nd isi x
∧
y
1
∧
x
2
≥
0 = x
∧
y + x
∧
y
1
- x
1
≥
= x
∧
y + x
∧
y + x
- x
≥
= x
∧
y + x
∧
y
≥
a ssig nme nt x
3
= x
2
- y
2
= y
1
- x
1
- y
1
= - x
1
= - x y
3
= y
2
= y
1
= y + x
Ka sus 2,2,2 Pa rt Ko nd isi
x y
y := y + x x
x
1
= x y
1
= y + x
x := y - x y := y - x
y
1
x
2
x
2
= y
1
- x
1
x
3
= x
2
y
2
= y
1
y
3
= y
2
- x
2
ko nd isi x
∧
y
1
∧
x
2
0 = x
∧
y + x
∧
y
1
- x
1
= x
∧
y + x
∧
y + x
- x = x
∧
y + x
∧
y = x
∧
y a ssig nme nt
x
3
= x
2
= y
1
- x
1
= y + x
- x = y
y
3
= y
2
- x
2
= y
1
- y
1
- x
1
= x
1
= x
Ma ka fung si ya ng d id a p a tka n a d a la h
x
≥ ∧
y
≥ →
x, y := y, x | x = 0
∧
y 0
→
x, y := - x - y, y | x 0
∧
y 0
→
x, y := - x, x + y | x 0
∧
x + y
≥ →
x, y := x, - x - y | x 0
∧
x + y 0
∧
y
≥ →
x, y := - x, x + y | x 0
∧
y 0
→
x, y := y, x
BAB VII PENULISAN PRO G RAM TERSTRUKTUR
7.1. O ve rvie w
•
Ste p wise Re fine me nt a d a la h me rup a ka n p ro se s p e rlua sa n d a ri fung si- fung si ke d a la m b e ntuka n p rime p ro g ra m d a n fung si ya ng le b ih
se d e rha na . Pe nd e ka ta n ini me rup a ka n stra te g i To p -Do wn
•
Pe me riksa a a n ke b e na ra n d ila kuka n d e ng a n “ d e vid e , c o nne c tm d a n c he c k”
•
Ste p wise Re o rg a niza tio n a d a la h p ro se s ya ng d ib e rika n te rha d a p p ro g ra m
7.2. Da sa r- d a sa r p e nulisa n 7.2.1. Pe ne m ua n Pro g ra m Te rstruktur
•
Pe nulisa n p ro g ra m te rstruktur a d a la h sua tu p ro se s me nta l kre a tif ya ng me mb utuhka n stud i d a n la tiha n untuk p ro fe si.
•
Pe rtimb a ng ka n
x
≥ ∧
y
≥ →
x, y := x - y, fre e
d ia sumsika n tid a k a d a o p e ra si p e ng ura ng a n d a n p e ng ura ng a n ha rus d ig una ka n, d a la m ha l ini d a p a t d ib e rika n d iskrip si ve rb a l se b a g a i so lusi.
Kura ng ka n x d a n y d e ng a n 1 sa mp a i sa la h sa tu sa ma d e ng a n 0. Ke mud ia n ha sil d a ri p e ng ura ng a n, tid a k te rma suk ta nd a nya , a d a la h
va ria b e l la in :
jika y a d a la h 0, ma ka x a d a la h ha silnya te ta p i jika x a d a la h o , ma ka -y a d a la h ha sil ya ng d ib utuhka n.
•
Pe rta nya a n ya ng mung kin munc ul a d a la h me nta l d a n d isp lin ya ng b a g a ima na ya ng me ng a ra h p a d a p e nye le sa ia n ya ng te rstruktur.
•
Pe ne mp a ta n no d e func tio n d a n p re d ic a te se c a ra ind ivid u, d ig a b ung ka n ke d a la m struktur p e ng a wa sa n ya ng te ra tur
•
Da ri p e nje la sa n ve rb a l p a d a ka sus d i a ta s d a p a t d inya ta ka n se b a g a i 3 sub ma sa la h:
1. Me ng hitung inti d a ri p e rb e d a a n a nta ra x d a n y 2. Me ne ntuka n ta nd a p e rb e d a a n
3. Me mb e b a ska n y se hig g a PDL ya ng d id a p a tka n a d a la h
[Me ng hitung inti d a ri x - y]
while
x 0
∧
y 0
do
x, y = x - 1, y - 1 o d
[Me ne ntuka n ta nd a ]
if
y 0 the n
x := -y fi
fre e
y
7.2.2. Disip lin Pe ng e m b a ng a n Fung si