Tra c e Ta b le Disjo int Rule

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