• Tidak ada hasil yang ditemukan

e-Books |

N/A
N/A
Protected

Academic year: 2017

Membagikan "e-Books |"

Copied!
109
0
0

Teks penuh

(1)

BA B I

KETELITIA N DA LA M PEMRO G RA MA N

1.1

Pe m o g ra m a n d a la m ukura n ke c il

1.1.1

Ba g a im a na m e nulis p ro g ra m - p ro g ra m ya ng b e na r d a n m e ng e ta huinya

• Pa nd a ng a n la ma te nta ng sua tu p e mo g ra ma n a d a la h :

1. Pe mo g ra ma n c e nd e rung a ka n me miliki ke sa la ha n 2. Pe nd e ka ta n ya ng d ila kuka n a d a la h “ C ut-a nd -Try”

• Pa nd a ng a n b a ru te nta ng sua tu p e mo g ra ma n a d a la h

1. Kita d a p a t me mp e la ja ri p e mo g ra ma n ya ng p e ra nc a ng a n ya ng ko nsiste n d a n p e nulisa n p ro g ra m ya ng b e na r d a ri a wa l

2. Da p a t me mb e rika n “ e rro r fre e ” p a d a uji c o b a nya d a n p e ng g una a n b e rikutnya

• De ng a n b e rla tih me ne ra p ka n p rinsip -p rinsip p e mo g ra ma n te rstruktur d a n ma te ma tika nya kita d iha ra p ka n d a p a t me nulis p ro g ra m ya ng b e na r d a n me ya kinka n p a d a kita d a n o ra ng la in b a hwa p ro g ra m ya ng d ituliska n a d a la h b e na r me nurut lo g ika d a n a ka l, d ib a nd ing d e ng a n “ Tria l d a n Erro r”

• Se ka lip un jika kita sud a h me ne muka n “ la st e rro r” ya ng te rsisa d a la m p ro g ra m , kita tid a k d a p a t me ma stika n a p a ka h ha l te rse b ut a d a la h ya ng ke sa la ha n ya ng te ra khir

• Me ning ka tka n p e ng a la ma na n d a la m p e nulisa n p ro g ra m ya ng b e na r, d imula i d a ri p ro g ra m ya ng ke c il, ke mud ia n ya ng b e sa r, a ka n me mb e rika n sua tu b a sis se c a ra p syko lo g i b a ru untuk me nunja ng d a la m p e mo g ra ma n

• Me to d e Pe mo g ra ma n Te rstruktur a ka n me mb e rika n kita untuk me nulis rib ua n b a ris p ro g ra m d a la m d ua p uluh la ng ka h d a ri lima p uluh, tid a k se b a g a i sub p ro g ra mn ya ng te rp isa h, te ta p i se b a g a i p e rlua sa n ya ng te rus me ne rus d a n p e la ksa na a n p ro g ra m se c a ra b a g a ia n p e r b a g ia n

(2)

• Sua tu p ro g ra m ya ng b e na r me nd e finisika n sua tu p ro se d ur untuk sua tu ke te ta p a n p e mro se sa n ya ng d itujuka n untuk me me nuhi sua tu sp e sifika si ya ng d ite ta p ka n

• Pro g ra m d a p a t sa ja b e rub a h-ub a h ya ng d ise b a b ka n ka re na

1. Pe rub a ha n sp e sifika si 2. Ke sa la ha n p e mo g ra ma n 3. Pe rb e d a a n p e mro se sa n

• Pe nulisa n p ro g ra m ya ng b e na r tid a k b e ra rti b a hwa p ro g ra m-p ro g ra m d a p a t d itulis se ka li d a n se la ma nya . Ini a rtinya b a hwa p ro g ra m he nd a knya d itulis te p a t d e ng a n ya ng d iha ra p ka n.

Pe m b uktia n d a ri ke b a na ra n sua tu p ro g ra m

• De ng a n me ne ra p ka n p rinsip -p rinsip p e mo g ra ma n te rstruktur se c a ra ma te ma tis p a d a p e nulisa n p ro g ra m se c a ra ko nsiste n ma ka d imung kinka n se o ra ng p ro g ra mme r d a p a t d ib a ntu d a la m p e nulisa n se b ua h p ro g ra m

• Pe mb uktia n se c a ra ma te ma tika a d a la h d e ng a n me la kuka n se ra ng ka ia n p e rc o b a a n untuk me nja wa b a ta s hito p te sa ya ng kita b e rika n se nd iri

• No ta si ma te ma tika

1 Me mb e rika n ke se mp a ta n untuk me ng g una ka n p e nsil d a n ke rta s d a la m me lua ska n p e mikira n

2 Me mb e rika n ke se mp a ta n ke p a d a ma nusia untuk se tuju p a d a a tura n-a turn-a n untuk ke se p n-a tn-a kn-a n te rhn-a d n-a p kln-a im p e mb uktin-a n

• Ma te ma tika me mb e rika n sua tu b e ntuk b a ha sa d a n p ro se d ur untuk p o la p ikir kita

II.4 Sua tu p e nd e ka ta n intuisi (Intuitive A p p ro a c h) m e nuju Ke b e na ra n Pro g ra m

• Dika ta ka n p e nd e ka ta n intuisi ka re na p e nd e ka ta n ini b e rhub ung a n la ng sung d e ng a n o p e ra si d a ri p ro g ra m d a n tid a k me ng g una ka n b e ntuk a lja b a r d a ri p e mo g ra ma n te rstruktur

(3)

p e mb uktia n d a ri ke b e na ra n p ro g ra m a d a la h mung kin d ila kuka n

(4)

Y := 0

in : [X > 0]

out : [ X tidak berubah and Y2 < X < Y (Y+1)2]

Decision Yes

Y := Y + 1

No

init : [X > 0 and Y = 0]

loop : [Y2 < X] cont : [Y2 < X]

yes : [(Y+1)2 < X]

Pe m o g ra m a n d a la m ukura n b e sa r Inte g rita s se c a ra ko nse p

• Inte g rita s se c a ra ko nse p (C o nc e p tua l Inte g rity) a d a la h ha l ya ng te rp e nting d a la m p e rtimb a ng a n p a d a p e ra nc a ng a n syste m

Pe rb e d a a n a nta ra “He uristic De sig nd a nRig o ro us De sig n

• Ra nc a ng a n :

1. He uristic De sig n 2. Rig o ro us De sig n

He uristic De sig n me rujuk p a d a "Tria l a nd Erro r"

Rig o ro us De sig n me nye rta ka n sua tu sta te m a c hine ya ng me nd e finisika n sua tu himp una n te rtutup d a ri tra nsisi syste m, a ta u

(5)

Rig o ro us De sig n me nja d i b a sis d a la m me ra wa t inte g rita s d a la m p e ng e mb a ng a n p e ra ng ka t luna k

Pe m ro g ra m a n Te rstuktur d a n Pe ra nc a ng a n ya ng b a ik

• Pe mro g ra ma n Te rstruktur d itulis untuk o ra ng la in ya ng me mb a c a d a n untuk d ime ng e rti.

• Pe ra nc a ng a n ya ng b a ik b e ra rti p e ne mua n so lusi ya ng b a ik p a d a se b ua h p e rma sa la ha n ya ng se ring te rd e finisika n

• La ng ka h-la ng ka h ya ng d ila kuka n

1. De finisika n sua tu p e rma sa la h ya ng b e na r 2. Te muka n so lusi ya ng b a ik

• Sua tu p e mo g ra ma n te rstruktur tid a k me nja min p e ra nc a ng a n ya ng b a ik, me la inka n ha nya me mb e rika n sua tu ke mung kina n te rha d a p p e ra nc a na n ya ng b a ik

• Sua tu p e ra c a ng a n ya ng b a ik d id a sa rka n a ta s d a la mnya ke se d e rha na a n p a d a sua tu tug a s lo g ika ya ng ko mp le ks

1.2.4 Pe rb e d a a n a nta ra Pe nd e ta ila n d a n Pe ra nc a ng a n

• Sua tu p ro g ra m ko mp ute r tid a k me mb utuhka n ra nc a ng a n, te ta p i “c o d e” , d ima na a p a b ila ko d e b e na r ma ka ko mp ute r a ka n me ng ha silka n se sua tu ya ng b e na r

• Te rd a p a t sa tu ke suka ra n d e ng a n p e rnya ta a n d i a ta s; wa la up un lo g ika ya ng d ib e rika n “ b e na r” te ta p i musta hil se se o ra ng d a p a t me mb a ng un sua tu p ro g ra m ya ng ko mp le ks d a n b e sa r ta mp a te rja d i sua tu b e ntuk ma sa la h

• Pa d a ke nya ta a nnya istila h p e ra nc a ng a n d ig una ka n d a la m p e mo g ra ma n, te ta p i istila h p e nd e ta ila n a d a la h le b ih c o c o k

• Pe ra nc a ng a n me ng ha silka n De ta il-d e ta il, te ta p i p e nd e ta ila n tid a k me ng ha silka n ra nc a ng a n

1.2.5 Va lid a si Pe ra nc a ng a n d e ng a n Pe ng e m b a ng a n To p - Do wn

(6)

• Pa d a Pe ng e mb a g a n Bo tto m-Up d ima na “ Lo w Le ve l c o d e ” d itulis te rle b ih d a hulu d a la m p e ng inte g ra sia n d ila kuka n ke mud ia n.

• Ra nc a ng a n ya ng kura ng b a ik a ka n te rliha t p a d a sa a t d ila kukka nnya p e ng inte g ra sia n

• Se b a liknya , p a d a p e ng e mb a ng a n To p -Do wn, p ro g ra m-p ro g ra m ko ntro l ya ng me ng inte g ra sika n se c a ra fung sio na l d a ri ko d e , d itulis d a n d i te st te rle b ih d a hulu, d a n func tio na l c o d e d ita mb a hka n d e ng a n b e rg e ra k ma ju.

• Pa d a Siste m So ftwa re , p e ng e mb a ng a n To p -Do wn d imula i d e ng a n ra nc a ng a n se c a ra lo g ika untuk me nye la ra ska n ko o p e ra si d a ri b e b e ra p a p ro g ra m me la lui a kse s te rha d a p b e b e ra p a himp una n “ sha re d d a ta ”

• Pe rma sa la ha n ya ng ya ng a d a p a d a p e mng e mb a ng a n To p -Do wn a d a la h tid a k ha nya b a g a ima na b e ntuk a khir d a ri siste m , te ta p i jug a b a g a ima na b e ntuk d a ri siste m se la ma p e ng e mb a ng a n

1.2.6 Da sa r d a ri “So ftwa re Re lia b lility” a d a la h p a d a p e ra nc a ng a n b uka n p a d a uji c o b a

• De ng a n te sting tid a k mung kin so fttwa re d a p a t d ib ua t re lia b le

• Ra nc a ng a n d a p a t

1. me ng ura ng i ukura n d a ri siste m 2. me ng ura ng i inte rko ne ksi

3. me ng ura ng i ko mp le ksita s sp e sifika si p ro g ra m

(7)

BA B II

ELEMEN- ELEMEN EKSPRESI LO G IKA 1. O ve rvie w

• Pe mo g ra ma n a d a la h sua tu b e ntuk khusus d a ri kre a tifita s p e ra nc a ng a n

• Pa d a a wa lnya p ro g ra m d ib ua t ha nya untuk d ime ng e rti o le h me sin, p a nd a ng a n te rse b ut sa a t ini b e rub a h, b a hwa sua tu p ro g ra m d ib ua t a d a la h jug a untuk d ime ng e rti o le h ma nusia

• Da sa r d a la m me mb e ntuk sua tu b e ntuk p e mo g ra ma n ya ng b a ik me nc a kup e le me n ya itu Eng lish (Ba ha sa ), ma te ma tika , b e ntuk-b e ntuk e ksp re si lo g ika

2. Ba ha sa ya ng b a ik

• Be ntuk b a ha sa ya ng b a ik d a la m me nd e srip sika n sua tu p e mo g ra ma n a d a la h d e ng a n me mb e ntuk b a ha sa ya ng te rstruktur

• Pse ud o c o d e a d a la h sa la h sa tu b e ntuk b a ha sa ya ng te rstruktur (Eng lish Struc ture )

3. Fo rm a l Lo g ic

3.1 Lo g ic a l Pro p o sitio ns

• Fo rma l Lo g ic b e rhub ung a n d e ng a n ko munika si ma nusia d a n sua tu b e ntuk ya ng d a p a t me ya kinnya d i a nta ra ma nusia te nta ng sua tu ke b e na ra n d a ri sua tu p e rnya ta a n

(8)

• Dua mo d e l fo rma l lo g ic a d a la h

1. Pro p o tio na l C a lc ulus 2. Pre d ic a te C a lc ulus

• Sua tu p e rnya ta a n d ise b ut lo g ic a l p ro p o sitio n a p a b ila te rd a p a t sua tu nila i ya ng me nya ta ka n ke b e na ra n te rha d a p p e rnya ta a n te rse b ut

• Nila i a d a la h True d a n Fa lse

3.2 Pro p o sitio na l C a lc ulus

• Pa d a sa a t sua tu kump ula n p e rnya ta a n d i ka ta ka n se b a g a i p ro p o sitio n, d e ng a n p e nya ta a n b e na r se mua nya , Pro p o sitio na l C a lc ulus me mb e rika n sua tu himp una n ya ng te ta p d a ri b e rb a g a i c a ra p e ng ko mb ina sia n p ro p o sitio n la ma ke d a la m b e ntuk b a ru

• Pro p o sito na l C a lc ulus me mb e rika n c a ra -c a ra b a g a ima na me la kuka n “ Bre a king Do wn” sua tu p ro p o sitio n ya ng ko mp le ks ke d a la m b e ntuk ya ng se d e rha na

• Ko mb ina si d a ri p ro p o sitio n d ise b ut sua tu lo g ic a l e xp re ssio n

• Tip e umum d a ri lo g ic a l e xp re sio n a d a la h

1. no t ; sua tu p ro p o sitio n p, p e no la ka n, d ita nd a i ~p

2. a nd ; d ua p ro p o sitio n p,q, p e rnya ta a n d a ri ke d ua -d ua nya , d ita nd a i d e ng a n no ta si p

q

3. o r ; d ua p ro p o sitio n p,q, p e rnya ta a n untuk se tid a k-tid a knya sa tu, d ita nd a i p

q

4. e q ua l ; d ua p ro p o sitio n p,q, p e rnya ta a n ya ng p d a n q me miliki nila i lo g ika ya ng sa ma , d ita nd a i p

q

5. imp lie s ; d ua p ro p o sitio n p, q, p e rnya ta a n d ima na jika p a d a la h b e na r ma ka q p a sti b e na r, d ita nd a i d e na n p

q

• Nila i ke b e na ra n p a d a sua tu e ksp re si te rg a ntung p a d a nila i se tia p p ro p o stio n d a n ke mud ia n d ite ra p ka n p a d a ta b e l ke b e na ra n

(9)

Rule p q ~p p

q p

q p

q p

q

1 T T F T T T T

2 T F F F T F F

3 F T T F T F T

4 F F T F F T T

(10)

• c o nto h

(F ∧ (~T)) ∨ ((F → T) ∨ (T ↔ T))

(F ∧ F ) ∨ ((F → T) ∨ (T ↔ T)) no t, o le h a tura n 1 F ∨ ((F → T) ∨ (T ↔ T)) a nd, o le h a tura n 4 F ∨ ( T ∨ (T ↔ T)) imp lie s, o le h a tura n 3 F ∨ ( T ∨ T ) e q ua ls, o le h a tura n 1 F ∨ T o r, o le h a tura n 1

T o r, o le h a tura n 3

a . Pre d ic a te C a lc ulus

• Pro p o sio na l c a lc ulus me nc a kup a na lisa d a ri p ro p o sitio n ya ng d ip e c a h me nja d i p ro p o sitio n ya ng se d e rha na ; d ima na b e ntuk ya ng p a ling se d e rha na sud a h tid a k d a p a t d ib a g i la g i

• Bia r b a g a ima na p un, me liha t p ro p o sitio n ya ng se d e rha na me rup a ka n sua tu b e ntuk struktur sub ye k d a n p re d ika t, d a n khususnya sua tu p e rnya ta a n ya ng sub ye knya tid a k d ike ta hui

• Be ntuk ini d ika ta ka n se b a g a i Pre d ic a te C a lc ulus

• Sua tu p e rnya ta a n te rd iri d a ri

1. va ria b le 2. p re d ic a te

P(x) a d a la h sua tu p re d ic a te ya ng me nja d i sua tu p ro p o sitio n p a d a sa a a t x d ib e rika n sua tu ke mung kina n nila i.

(11)

b a ru

te rd a p a t b e b e ra p a (∃x)

Existe ntia l q ua ntifie r

p(x) = true

d itulis ∃xp(x), a ta u ∃x(p(x)), a ta u (∃x)(p(x))

untuk se mua (∀x) Unive rsa l q ua tifie r

p(x) = true

d itulis ∀xp(x), a ta u ∀x(p(x)), a ta u (∀x)(p(x))

• Pe rtimb a ng ka nla h d ua e ksp re si lo g ika d i b a wa h ini, a p a ka h me rup a ka n p ro p o sitio n ?

x(p(x,y))

x(p(x)) ∧q(x)

• Te rd a p a t d ua je nis sko p e d a ri va ria b e l

1. Bo und

2. Fre e

• Pe rtimb a ng ka n d ua e ksp e rsi lo g ika d i b a wa h ini, a p a ka h me rup a ka n p ro p o sitio n ?

y(∃x(p(x,y)))

y (∃x(p(x)) ∧q(x))

• C o nto h

xy r(x,y) ↔∀yxr(x,y)

∀x(~(p(x) ∨q(x)) ↔ ~p(x) ∧ ~q(x))

a . Him p una n d a n Fung si

(12)

• Sua tu himp una n a d a la h se kump ula n o b ye k ya ng te rd e finisi d e ng a n je la s

• Kump ula n o b ye k p a d a sua tu himp una n d ise b ut a ng g o ta (me mb e r) a ta u e le me n (e le me nt)

• Re la si a nta ra ke a ng g o ta a n a nta ra sa tu a ng g o ta m d a n himp una n S

d inya ta ka n

mS

• Jika m a d a la h b uka n a ng g o ta d a ri S, d inya ta ka n

mS

• Himp una n ta mp a a ng g o ta d ika ta ka n se b a g a i himp una n ko so ng d e ng a n no ta si

• Himp una n d ika ta ka n sa ma jika a ng g o ta -a ng g o ta ya ng a d a p a d a d ua himp una n a d a la h sa ma d e ng a n ta mp a me mp e rha tika n d up lika si ya ng a d a p a d a a ng g o ta nya

• Jumla h e le me n p a d a himp una n S, d i no ta sika n se b a g a i |S|

• Sua tu himp una d a p a t d ib e rika n a tura n (rule ) untuk me ng e ne ra te a ng g o ta d a ri sua tu himp una d e ng a n me ng g una ka n sua tu Se t Build e r c o nto h

fruit = {x | x = a p p le o r x = g ra p e o r x = o ra ng e }

• Unio n AB ; AB = BA = { x | xAxB }

• Inte rse c tio n AB ; AB = BA = { x | xAxB }

• Diffe re nc e A - B ; A - B = { x | xAxB }

• Jika se mua a ng g o ta d a ri himp una A me nja d i a ng g o ta d a ri himp una n

B ma ka d ika ta ka n A a d a la h sub se t d a ri B d e ng a n no ta si AB, ma ka :

AAB, ABA, A - BA

(13)

A1 x A2 x ... x An = {(a 1,a 2,...a n) | a 1A1a 2A2a nAn}

ii. Re la si

• Sua tu re la si a d a la h sua tu himp una n ya ng me miliki a ng g o ta (jika a d a ) d ima na se mua me rup a ka n p a sa ng a n ya ng b e ruruta n

• Pa d a himp una n, a ng g o ta p e rta ma untuk se tia p p a sa ng d ise b ut d o ma in d a ri sua tu re la si r d ino ta sika n d e ng a n D(r)

• Ang g o ta d a ri D(r) d ise b ut a rg ume n d a ri r

• Pa d a himp una n a ng g o ta ke d ua untuk se tia p p a sa ng d ise b ut ra ng e d a ri sua tu re la si r d ino ta sika n d e ng a n R(r)

• Ang g o ta d a ri R(r) d ise b ut nila i d a ri r

• Re la si d a p a t d ikla sifika si p a d a b e b e ra p a c a ra

1. r a d a la h re fle xive jika xD(r) me nunjuka n (x,x) ∈ r, d ima na , r

me rup a ka n re la si “ a d a la h sa ma se p e rti”

2. r a d a la h sym m e tric jika (x,y) ∈ r me nunjuka n (y,x) ∈ r, d ima na r

me rup a ka n re la si “ a d a la h ke b a lika n d a ri”

3. r a d a la h tra nsitive jika (x,y) ∈r, (y,z) ∈r me nunjuka n (x,z) ∈r, d ima na

r me rup a ka n re la si “ a d a la h p ind a ha n d a ri”

• Pe rtimb a ng ka n untuk c o nto h d ib a wa h ini

e q ua l {(x,y) | x = y} le ss tha n {(x,y) | y < x} o p p o site sig n {(x,y) | x * y , 0 } kita me liha t

e q ua l a d a la h sua tu re fle xive re la tio n ( 7 = 7 a d a la h true)

(14)

e q ua l a d a la h sua tu symme tric re la tio n ((2/ 4 = 1/ 2) → (1/ 2 = 2/ 4)) le ss tha n b uka n sua tu symme tric re la tio n ((2 < 7) → (7 < ) fa lse) le ss tha n a d a la h tra nsitive re la tio n (((2 < x) ∧ ( x < y )) → (2 < y ))

(15)

1.2.7 Fung si

• Sua tu fung si a d a la h sua tu re la si, ka ta ka n f , d i ma na untuk se tia p xD(f) te rd a p a t sua tu e le me n ya ng unik (x,y) ∈ f, se ring d itulis se b a g a i y =

f(x).

• Untuk me nd e finisika n sua tu fung si f d e ng a n p e mb e ria n d o ma in, D(f) d a n sua tu rule (a tura n) untuk p e ng hitung a n nila i ko re sp o nd e nsi untuk se tia p a rg ume n p a d a d o ma in

• Pe rtimb a ng ka n c o nto h d i b a wa h ini

f = {(x,y) | x∈ {0,1}, y = x2+3x+2}

d i ma na (x ∈ {0,1}) me rup a ka n d o ma in d a n (y = x2+3x+2) me na nd a i rule

(a tura n), se hing g a d a p a t me mb e rika n sua tu p e mb ila ng a n d e ng a n b e ntuk

f = {(0,2),(1,6)}

• Fung si d e ng a n “Dummy Va ria b le” a d a la h se b a g a i b e rikut

f = {(x,y)|x(x-1)=0, y-x2-3x-2=0}

• Jika f d a n g a d a la h fung si ma ka {(x,y)|y=f(g(x))}

d ise b ut “ func tio n c o mp o sitio n” d a ri g d a n f, d i no ta sika n se b a g a i fg

• Sua tu fung si f a d a la h re fle ksif d ise b ut “id e ntity func tio n” d ima na f(x) = x

untuk se tia p xD(F)

• Jika p e rtuka ra n sua tu fung si f a d a la h fung si, ma ka f t(f(x)= f(f t(x)) = x

d a n f t d ika ta ka n se b a g a i “inve rse func tio n” d a ri f

• Jika ra ng e d a ri sua tu fung si f a d a la h ha nya b e risi 1 e le me n ma ka fung si te rse b ut d ika ta ka n se b a g a i “c o nsta nt func tio n

• Jika ra ng e d a ri sua tu fung si a d a la h sub se t tid a k ko so ng d a ri {true,

fa lse}, d ise b ut sua tu “p re d ic a te func tio n” c o nto h

(16)

• Pre d ic a te func tio n b ia sa d ig una ka n untuk me nya ta ka n sua tu ko nd isi a tura n d e ng a n b e ntuk (p re d ic a terule) d e ng a n b e ntuk se b a g a i b e rikut ( p 1r1 | p 2r2 | . . . | p nrn )

c o nto h

f = {(x,y) | xD, (x d a p a t d ib a g i o le h 2 →y = x/ 2 |

x d a p a t d ib a g i o le h 3 →y = x/ 3 | true →y = x }

2.4.4 Re c ursive Func tio n

• Re c ursive func tio n (Fung si Re kursif) a d a la h sua tu fung si ya ng d id e finisika n d e ng a n me ng g una ka n fung si itu se nd iri

• Pe rtimb a ng ka n

o d d e ve n = {(x,y) | (x∈ {0,1} →y = x |

x > 1 →y = o d d e ve n(x-2) |

x < 0 →o d d e ve n(x+2))}

2.4.5 Dig ra p h

• Sua tu re la si g jug a d ise b ut d ig ra p h. d id e finisika n se b a g a i sua tu himp una n d a ri g a ris la ng sung , d ima na se tia p g a ris me ng ko ne ksika n sua tu a ng g o ta d a ri D(g) ke a ng g o ta d a ri R(g)

• Pe rtimb a ng ka n

(17)

D

R

2.4.6 Sta te m a c hine

• Sua tu sta te ma c hine a d a la h sua tu fung si ya ng me miliki a ng g o ta se b a g a i "o rd e re d p a ir" d a ri "o rd e re d p a irs", ya ng d ino ta sika n se b a g a i

m = {((sta te,inp ut),(ne wsta te,o utp ut))}

• Pe rtimb a ng ka n

inp ut

sta te b la nk no nb la nk

e xc e ss no ne xc e s s

e xc e ss, λ e xc e ss, inp ut

(18)

excess

nonexcess

blank /

nonblank / input

blank / input

nonblank / input

2.5 List d a n String

2.5.1 Struktur List

• Sua tu list a d a la h sua tu uruta n d a ri ite m

• O p e ra si ya ng d a p a t d ila kuka n p a d a list a d a la h

1. Me na mb a hka n ite m b a ru, a + L

2. Me ng g a b ung ka n d ua List, L + M

• Pe mb a ng un list +, p e na mb a ha n sua tu ite m p a d a he a d d a ri sua tu list d e ng a n no ta si

a + ( L + M)

• Pe rha tika n c o nto h b e rikut

(19)

ma ka

a p p le .1.1.2 = "C a nta lo up e "

a p p le (2:3) = ("Mc Into sh","Wine sa p ")

2.5.2 String d a n La ng ua g e

• Ba ha sa a d a la h me rup a ka n himp una n d a ri string

• Sua tu fo rma l la ng ua g e a d a la h me rup a ka n himp una n string ya ng d id e finisika n se c a ra e kslusif o le h se kump ula n himp una n o p e ra si d a n re la si ta mp a te rd a p a t sua tu b e ntuk a la mi

• Pe rtimb a ng ka n

D={0,1,2,3,4,5,6,7,9}

I = D∪ ( D x D ) ∪ (D x D x D) ∪ . . . .

• Se tia p d e finisi d ise b ut sua tu Pro d uc tio n

• Na ma himp una n ya ng d id e finisika n d ise b ut Phra se

• Simb o l d a ri b a ha sa d ise b ut Te rmina l symb o ls

• Phra se khusus ya ng me nd e finisika n se luruh b a ha sa d ise b ut “Disting uise d p hra se ”

• La ng ua g e p ro d uc t d id e finisika n se b a g a i

A xx B = {x | aA, bB, x = a || b}

• Ya ng me mb e d a ka n a nta ra A x B d a n A xx B

• Pe rtimb a ng ka n jika

(20)

ma ka

( a || b ) ∈A xx B te ta p i ( a || b ) ∉A x B

d a n

( a , b ) ∈A x B te ta p i ( a , b ) ∉ A xx B

2.5.3 Fo rm a l G ra m m a r

• No ta si ya ng se ring d ig una ka n untuk fo rma l g ra mma r a d a la h Ba c kus Na ur Fo rm (BNF), ya ng d a p a t d isimp ulka n se b a g a i b e rikut

1 O p e ra si La ng ua g e p ro d uc t d ino ta sika n d e ng a n "Juxta p o sting p hra se s" 2 "Juxta p o sting Phra se " ha rus d ip isa hka n d a ri d irinya se nd iri d e ng a n me ng g una ka n ta nd a b ra c ke t (<>), c o nto h <a p p le>

3 Ang g o ta d a ri La ng ua g e Alp ha b e t d i no ta sika n d e ng a n lite ra l simb o lnya

4 De finisi p hra se me ng g una ka n no ta si ::= c o nto h <inte g e r> ::= <d ig it> 5 Simb o l Unio n (∪) d ig a ntika n d e ng a n no ta si ve rtic a l b a r |

6 Jika sua tu p hra se te rd a p a t d ua d e finisi ma ka d ig una ka n ta nd a | , c o nto h

<inte g e r> ::= <d ig it>

<inte g e r> ::= <d ig it><d ig it> ma ka

<inte g e r> ::= <d ig it> | <d ig it><d ig it>

7. O p e ra si ite ra tive la ng ua g e d ino ta sika n d e ng a n me mb e rika n a wa la n *,+

(21)

<na m e> ::= (a p a p un b e ntuk e ksp re si b a ha sa) d ise b ut “c o nte xt fre e g ra mma r

c o nto h

<c lo c ktime> ::= <ho ur> : <m inute>

<ho ur> ::= 0<d ig it> | 1<d ig it> | 2<d ig it to 3> <m inute> ::= <d ig it to 5><d ig it>

<d ig it to 3> ::= 0| 1| 2| 3

<d ig it to 5> ::= <d ig it to 3>| 4| 5 <d ig it> ::= <d ig it to 5>| 6| 7| 8| 9

• Re g ula r g ra mma r me miliki b e ntuk <na me> ::= x <na m e l>

• Sinta x Dia g ra m me nd e finisi sua tu b a ha sa d a la m b e ntuk d ia g ra m c o nto h

2.5.4 Re g ula r Exp re ssio n

• Re g ula r e xp re sio n a d a la h b a g ia n se b e la h ka na n d a ri sua tu p ro d uc tio n tung g a l ya ng me nd e finisika n sua tu b a ha sa d e ng a n o p e ra si c o nc a te na tio n (la ng ua g e p ro d uc t), unio n, ite ra tio n

• No ta si d a ri re g ula r e xp re sio n me ng ijinka n b e b e ra p a a lte rna tive untuk me re p re se nta sika n b a ha sa se c a ra id e ntik, ya ng ma na sua tu p e nye d e rha na a n d ib utuhka n, d e ng a n ke te ntua n

+(A)*(A) = *(A)+(A) = +(A) *(A)*(A) = *(A)

(22)

A∅ = ∅A = A *(*(A)) = *(A)

A(B|C ) = (AB)|(AC ), (B|C )A = (BA)|(C A)

A(BC ) = (AB)C +(A)| ∅ = *(A)

• Imp le me nta si re g ula r e ksp re ssio n d a la m p e mg o g ra ma n d a p a t d ig a mb a rka n sb b

A

B

A

B

A

A

A

A

B

AB

A|0

A|B

*(A)

+(A)

A+(A|B)

(23)

B

p

C

A

A

q

A

q

A

((BA)| (C A))(+(A)|∅) = ((BA|(C A))*(A) = ((B|C )A)*(A) = (B|C )(A*(A)) = (B|C )+(A)

B

p

C

q

(24)

BA B III

ELEMEN- ELEMEN EKSPRESI PRO G RA M

3.1. O ve rvie w

• Pe mb a ha sa n p a d a b a g ia n ini a d a la h untuk me ng e na lka n b e ntuk b a ha sa untuk p e mb ua ta n e ksp e rsi ya ng te p a t d a n ring ka s p a d a p e ra nc a ng a n p ro g ra m

• Be ntuk b a ha sa te rse b ut d ib e d a ka n ke d a la m o ute r synta x d a n Inne r synta x

• O ute r synta x me mb a ha s te nta ng struktur ko ntro l d a n struktur d a ta d a n struktur mo d ul

• Inne r synta x me mb a ha s o p e ra si-o p e ra si d a n te st te rha d a p d a ta

3.2. Pro c e ss De sig n La ng ua g e

3.2.1. Id e d a ri PDL

• De ng a n a d a nya p e ng e mb a ng a n d a n e vo lusi te rha d a p p e ra ng ka t luna k ma ka d ip e rluka n se sua tu ya ng d a p a t d ig una ka n untuk me nje la ska n te nta ng ra nc a ng a n sua tu p ro g ra m

• Ba ha sa p e mo g ra ma tid a k b a ik d ig una ka n untuk me nd e skrip sika n sua tu p ro g ra m, ha l ini d ise b a b ka n ka re na sua tu b a ha sa p e mo g ra ma n me mb e rika n b e ntuk d e skrip si ya ng te r-sp e sia lisa si

(25)

• PDL d a p a t me mb e rika n d e skrip si d a ri sisi lo g ika hing g a b e ntuk a khir p a d a me d ia p e nyimp a na n d a ta nya

3.2.2 O ute r Synta x d a n Inne r Synta x p a d a PDL

• O ute r Synta x me nje la ska n b a g a ima na o p e ra si-o p e ra si d ib e rla kuka n d a n d iko ntro l, b a g a ima na d a ta d i-o rg a nisa sika n, d ia kse s d a n d i‘ a ssig n’ , d a n b a g a ima na p ro g ra m-p ro g ra m d id e finisika n d a n d io rg a nisa sika n ke d a la m mo d ul

• Inne r Synta x d a ri PDL me nje la ska n te nta ng tip e d a ta d a n o p e ra si-o p e ra si

• Struktur ko ntro l O ute r Synta x p a d a PDL a d a la h

1. Se q ue nc e Struc ture (Struktur Urut) - Se q ue nc e (urut)

- Ind e xe d se q ue nc e (Fo r d o )

2. Alte rna tio n Struc ture (Struktur Alte rna si)

- IfThe nElse - IfThe n

- Ind e xe d Alte rna tio n (C a se )

3. Ite ra tio n Strukture (Struktur Pe ng ula ng a n) - While Do

- Do Until - Do While Do

• Da ta d ig o lo ng ka n

(26)

- Sc a la r - Arra y - Re c o rd

2. Da ta ya ng tid a k d ike na l, d io rg a nisa sika n - Se q ue nc e

- Q ue ue - Sta c k - Se t

• Tig a le ve l o rg a nisa si d a la m struktur p a d a O ute r Synta x : Jo b , Pro c e d ure , Mo d ul

• Jo b me nje la ska n le ve l te rting g i d a ri p e ng e kse kusia n p ro g ra m d ima na d a la m p e ng e kse kusia nnya me lib a tka n fa kto r-fa kto r d a ri lua r se p e rti o p e ra to r, wa ktu, d ll

• Pro c e d ure me rup a ka n unit ya ng d a p a t d ie kse kusi p a d a sua tu p ro g ra m ta mp a d ip e ng a ruhi o le h fa kto r lua r

• Mo d ul a d a la h syste m unit, d ima na b e b e ra p a p ro c e d ure d io rg a nisa sika n untuk d ip a ng g il o le h use r (Jo b la in a ta u p ro c e d ure la in) d e ng a n me ng a kse s sua tu himp una n d a ta ya ng a d a

• Sua tu Pro c e d ure me mb e rika n a tura n (rule) untuk sua tu fung si (func tio n)

• Sua tu Mo d ul me mb e rika n sua tu a tura n untuk sua tu sta te m a c hine

(27)

• Pe nulisa n Da ta a ssig nme nt d e ng a n me ng g una ka n no ta si ":=", c o nto h

x:=y+z, d e ng a n a rti x d ib e rika n nila i d a ri y + z

• Sisi kiri te rd iri d a ri sa tu na ma d a ta sing le

• Sisi ka na n a d a la h sua tu e ksp re si p a d a na ma -na ma d a ta

• Sua tu Multip le (C o nc ure nt) a ssig nm e nt d ino ta sika n d e ng a n sua tu list na ma p a d a sisi kiri d a n sua tu list e ksp re si p a d a sisi ka na n, c o nto h

x,y,z := x+y, m in(x,z), a b s(x-y)

• d ima na a rtinya a d a la h me ng hitung se mua nila i p a d a sisi ka na n d a n me mb e rika n nila i se c a ra simulta n untuk na ma d a ta p a d a sisi kiri

3.3. Struktur Ko ntro l O ute r Synta x

3.3.1. Se q ue nc e Struc ture (Struktur Urut)

(28)

... firstp a rt se c o nd p a rt ...

nthp a rt ...

firstpart

Secondpart

nthpart

• Pa d a PDL o p e ra si-o p e ra si d isp e sifika sika n d e ng a n p e rnya ta a n b a ha sa a la mi d a n o ute r synta x symb o l (;) me mb e rika n p e misa h a nta ra b a g ia n ya ng sa tu d e ng a n b a g ia n ya ng la in

• Pa d a PDL b ia sa nya untuk sua tu struktur urut d ig una ka n synta x d o d a n

o d, c o nto h . . .

do

so rt tra nsa c tio n file ;

up d a te inve nto ry file with tra nsc a tio n;

o d

p rint inve nto ry re p o rt; . . .

(29)

Ind e xe d Se q ue nc e a ta u fo rd o p a d a struktur ko ntro l a d a la h b e ntuk ya ng me milik no ta si se b a g a i b e rikut

...

fo r

ind e xlist

do

d o p a rt

o d

...

Index list dicapai

Assing anngota berikut ke list

Dopart

T

F

d ima na

ind e xlist a d a la h sua tu e ksp re si inne r synta x ya ng me nd e finisika n b a ik va ria b e l ind e x d a n sua tu list ya ng me miliki nila i untuk d ic a p a i d o p a rt

a d a la h b a g ia n ya ng d ie kse kusi se c a ra urut

(30)

...

fo r

i:∈1 to 20 b y 2

do

j:=ta b le (i)+ta b le (i+1) p rint j

o d

...

...

j:=ta b le (1)+ta b le (2) p rint j

j:=ta b le (3)+ta b le (4) p rint j

...

j:=ta b le (19)+ta b le (20) p rint j

...

3.3.2. A lte rna tio n Struc ture s (Struktur A lte rna tif)

• Be ntuk untuk d a ri ifthe ne lse

...

if

ifte st

the n

the np a rt

e lse

e lse p a rt

fi

iftest

Elsepart

thenpart

(31)

...

ifte st me ng e va lua si te rha d a p inne r synta x untuk me nd a p a tka n nila i

true a ta u fa lse, c o nto h ...

if

d a ta re q ue ste d is c urre nt sta tus

the n

se a rc h o nline p e rso ne l file

e lse

se a rc h a rc hive p e rso na l file

fi

...

• Struktur ifthe n a d a la h b e ntuk khusus d a ri ifthe ne lse d ima na untuk ifte st

d e ng a n ha sil e va lua si fa lse tid a k d ib e rika n o p e ra si. Be ntuk umum untuk ini a d a la h

...

if

ifte st

the n

the np a rt

fi

...

iftest

thenpart

(32)

c o nto h ...

if

inve nto ry tra nsa c tio ns a va ila b le

the n

up d a te inve nto ry file

fi

...

Struktur Ind e xe d Alte rna tio n a d a la h sua tu m ultib ra nc h c o ntro l struc ture

d e ng a n b e ntuk umum sb b ...

c ase

c a se te st

part(c a se list1) c a se p a rt1

part(c a se list2) c a se p a rt2 ...

part(c a se list n) c a se p a rtn

e lse

e lse a p a rt

e sac

...

casetest

casepart1 casepart1 casepartn

elsepart

(Caselist 1) (Caselist 2) (Caselist n)

• c o nto h

(33)

c ase

o p

part('a d d ')

a d d p e rso ne l re c o rd

part('d e le te ')

d e le te p e rso ne l re c o rd

part('mo d ify')

mo d ify p e rso ne l re c o rd

part('d isp la y fo r sa la ry','d isp la y fo r te nure ') d isp la y p e rso ne l re c o rd

e lse

d isp la y 'o p e ra tio n inc o rre c sp e c ifie d '

e sac

...

3.3.3. Ite ra tio n Struc ture (Struktur b e rula ng )

(34)

...

while

while te st

do

d o p a rt

o d

...

whiletest

dopart

T

F

d ima na d o p a rt a ka n d ie kse kusi se la ma while te st a ka n me ng ha sila kn nila i

true, c o nto h

...

while

p a y up d a te s re ma in

do

re trie ve ne xt p a y up d a te re c o rd

up d a te c o rre sp o nd ing re c o rd in ma ste r p a y file

o d

(35)

• Be ntuk umum d a ri d o until

...

do

d o p a rt

until

untilte st

o d

...

untiltest

dopart

T

F

d ima na d o p a rt a ka n d ie kse kusi se la ma untilte st a ka n me ng ha silka n nila i

fa lse, c o nto h ...

do

re trie ve ne xt p a y up d a te

up d a te c o rre sp o ng inh in ma ste r p a y file

until

no p a y up d a te s a re ma in

o d

(36)

• Be ntuk umum d a ri struktur d o while d o

...

do 1

d o p a rt1

while

while te st

do 2

d o p a rt2

o d

...

whiletest

dopart1

T

F

dopart2

• c o nto h

...

do 1

c a lc ula te e rro r in va lue

while

e rro r>to le ra nc e

do 2

c a lc ula te ne w va lue

o d

(37)

3.3.4 C o m m e nt

• C o mme nt p a d a PDL d ituliska n d e ng a n me ng g una ka n Bra c ke t '[]'

• c o nto h ...

[se t x to min(a ,b ,c )]

if a < b

the n [se t x to min(a ,c )]

if a < c the n x := a e lse x := c fi

e lse

if b < c the n x := b e lse x := c fi

fi [x = min(a ,b ,c )] ...

3.3.5 Pe rlua sa n d a n Pe ng ura ia n struktur ko ntro l PDL

• Struktur ko ntro l PDL a d a la h struktur 'o ne -e ntri o ne -e xit' ya ng d a p a t d ig una ka n untuk me mp e rlua s o p e ra si se c a ra ind ivid u ke d a la m d e ta il-d e ta il ya ng le b ih il-d e ta il

• C o nto h sa tu b e ntuk a wa l d a ri sua tu b a g ia n PDL a d a la h sb b

...

do

if ne c e ssa ry, c o mp ute ta x p a yme nt o r re fund fo r ne xt re c o rd fro m ta x file

until

(38)

o d

...

• p e rlua sa n d a ri PDL d i a ta s d id a p a tka n

...

do [if ne c e ssa ry c o mp ute ta x p a yme nt o r re fund fo r ne xt re c o rd fro m ta x file ]

re a d ne xt re c o rd fro m ta x file if

ta x d ue no t e q ua l to withho ld ing the n

if

ta x d ue g re a te r tha n withho ld ing the n

c o mp ute ta x p a yme nt fi

fi

until

a ll ta x re c o rd p ro c e sse d

o d

...

• Pa d a d a sa rnya p e ng ura ia n d a ri struktur PDL a d a la h d e ng a n me la kuka n p e rlua sa n ya ng p a d a a khirnya a ka n hira rki ya ng unik

(39)

p e ng g a mb a ra n struktur hira rki d e ng a n d ia g ra m p o ho n

Se q ue nc e

...

m.1 firstp a rt

m.2

se c o nd p a rt ...

m.n nth p a rt ...

ifthe ne lse

m.1 if

m.2 ifte st

m.3 the n

m.4 the np a rt

m.5 e lse

m.6 e lse p a rt

m.7 fi

while do

m.1 while

2 while te st 3 do

4 d o p a rt 5 o d

do until

m.1 do

2 d o p a rt 3 until

4 untilte st 5 o d

• c o nto h

...

m.1 do [if ne c e ssa ry c o mp ute ta x p a yme nt o r re fund fo r ne xt re c o rd fro m ta x file ]

2.1 re a d ne xt re c o rd fro m ta x file 2.1 if

2 ta x d ue no t e q ua l to withho ld ing 3 the n

4.1 if

2 ta x d ue g re a te r tha n withho ld ing 3 the n

(40)

6 c o mp ute ta x re fund 7 fi

5 fi

3 until

4 a ll ta x re c o rd p ro c e sse d 5 o d

...

• p a d a b e b e ra p a PDL struktur ko ntro l d a p a t d id ia g ra mka n se b a g a i sua tu p o ho n untuk me ng g a mb a rka n p e ng ura ia nnya d e ng a n me ng g una ka n a tura n sb b

SEQ

firstp a rt se c o nd p a rt ... nthp a rt

FDO

ind e xlist d o p a rt

(41)

ifte st the np a rt ifte st the np a rt e lse p a rt

WDO

while te st d o p a rt

C ASE

c a se te st (c a se list1) (c a se list2) (c a se listn)

c a se p a rt1 c a se p a rt2 c a se p a rtn e lse p a rt

DO U

d o p a rt untilte st

DWDO

d o p a rt1 while te st d o p a rt2

3.4 O utte r Synta x Da ta Struc ture

1

Struktur Da ta Be rna m a

• se kump ula n d a ria d a n fung si a kse snya p a d a b e b e ra p a struktur d a ta khusus d a ri d a ta ya ng b e rna ma d a n a no nim o us d a ta

(42)

d e ng a n ta mp a sub struktur ya ng d a p a t d ia kse s

• De kla ra si p a d a PDL a d a la h sb b

...

sc alar x,y,z ...

Array, Arra y a d a la h sua tu list d a ri struktur PDL ya ng d iind e ks o le h sua tu

c a rte sia n p ro d uc t d a ri ind e ks-ind e ks. c o nto h

x(1, 1) x(1, 2) ... x(1, n)

x(2, 1) x(2, 2) ... x(2, n)

x(3, 1) x(2, 2) ... x(3, n)

... ... ... ...

x(m , 1) x(m , 2) ... x(m , n)

d ima na ind e x ya ng a d a a d a la h c a rte sia n p ro d uc t d a ri : {1,2,...,m } x {1,2,...,n}

• Pe nd e kla ra sia n p a d a PDL d ila kuka n d e ng a n c a ra sb b

...

array a (3),b (2,4),c (3,2,4) ...

• Ele me n-e le me n p a d a a rra y me miliki tip e d a ta ya ng sa ma

Re c o rd, Re c o rd a d a la h sua tu struktur d a ta ya ng d a p a t

d ire p re se nta sika n o le h sua tu tre e se p e rti stud e nt = (na me ,a d d re ss, c la ss)

(43)

• Sua tu a ng g o ta a d a la h no d e p a d a sua tu p o ho n

• Sua tu fie ld a d a la h a ng g o ta ya ng tid a k me miliki turuna n

3.4.2 Struktur d a ri A no nim o us Da ta

• Struktur d a ta d a p a t d imo d ifika si d ima na d a la m me ng a kse s d a ta nya d ila kuka n ta mp a sa tu d a ta ind ivid u

• Emp a t b e ntuk ini a d a la h : se q ue nc e ,sta c k,q ue ue ,se t

• List Build e r : + d a n ⊕

a + b : me na mb a h a ng g o ta a d i d e p a n list b a ⊕ b : me na mb a h a ng g o ta b d i b e la ka ng list a

• List Bre a ke r : H+T+, H-T

-H+(a +b ) = a

T+(a +b ) = b

H-(ab ) = b

T-(ab ) = a

• Pe rtimb a ng ka n list a = (A B C ), b = (E F), ma ka

(44)

T-(a ) = (A B)

Stac k, Sua c k a d a la h sua tu struktur d a ta ya ng me mb e rika n a kse s LIFO (Le a st In First O ut) te rha d a p a ng g o ta nya , d e ng a n ke ywo rd to p

O p e ra si De finisi List

c :=to p(a ) c ,a := H(a ),T(a ) (a≠0)

to p(a ) := d d ,a := d ,d +a a := e m pty a := ∅

• c o nto h p a d a PDL

... 1 stac k a 2 sc alar b ,c 3 to p(a ):= b 4 c := to p(a ) ...

Q ue ue, Q ue ue a d a la h struktur d a ta ya ng me mb e rika n a kse s FIFO te rha d a p a ng g o ta nya , d e ng a n ke ywo rd e nd

O p e ra si De finisi List

c :=e nd(a ) c ,a := H(a ),T(a ) (a≠0)

e nd(a ) := d d ,a := d ,d ⊕ a

a :=e m p ty a := ∅

• c o nto h p a d a PDL

(45)

1 q ue ue a 2 sc alar b ,c 3 e nd(a ):= b

4 c := e nd(a ) ...

Se t, Se t a d a la h struktur d a ta ya ng me mb e rika n a kse s se c a ra a c a k te rha d a p a ng g o ta nya , d e ng a n ke ywo rd m e m b e r

O p e ra si De finisi List

c :=m e m b e r(a ) c ,a := H(a ),T(a ) (a≠0)

m e m b e r(a ) := d d ,a := d ,P(d + a )

a :=e m pty a :=∅

• c o nto h p a d a PDL

... 1 se t a 2 sc alar b ,c 3 b :=m e m b e r(a )

4 m e m b e r(a ):=c ...

Se q ue nc e, Se q ue nc e a d a la h struktur d a ta ya ng me mb e rika n a kse s te rha d a p a ng g o ta nya d e ng a n me ng g una ka n p o inte r d e ng a n me ng g una ka n ke ywo rd c urre nt, ne xt, re se t

• Dib e rika n sua tu se q ue nc e d e ng a n na ma a , list p e rta ma d a n ke d ua d ino ta sika n d e ng a n a+ d a n a- ja d i a d ino ta sika n d e ng a n a = a-.a+,

(46)

p e rtimb a ng ka n a- = (A) | | (B C )

a+ = D + (E F G )

a = (A) | | (B C ) . D + (E E G )

• Ke ywo rd untuk se q ue nc e a d a la h c urre nt d a n ne xt d ima na

c urre nt(a ) = H-(a -)

ne xt(a ) = H+(a +)

O p e ra si De finisi List

re se t(a ) a :=∅.a-| | a+

c :=c urre nt(a ) c .a :=H-(a-),a (a-≠∅)

c urre nt(a ):=d d .a :=d .T-(a-)d .a+

c :=ne xt(a ) c .a :=H(a+),a-⊕H(a+).T(a+) (a+≠∅)

ne xt(a ) := d d .a :=d ,a-⊕d .

a :=e m pty a :=a-.

• C o nto h p a d a PDL

...

1 se q ue nc e inp ut,o utp ut 2 c :=ne xt(inp ut)

(47)

...

3.4.3 Pe rlua sa n d a ri Se q ue nc e

O p e ra si De finisi List

b ac kspac e(a ) a := T-(a-).H-(a-)+a+ (a-≠∅)

c := b ac k(a ) c ,a := H-(a-), T-(a-).H-(a-)+a- (a-≠∅)

addafte rc urre nt(a ) := d d ,a := d , a-⊕ d .a+

c := re adandde le te ne xt(a ) c ,a := H(a+), a-.T(a+) (a+≠∅)

c := m id(a ) c ,a := H-(a-), T-(a-).a+ (a-≠∅)

m id(a ) := d d ,a := d ,(T-(a-) d ) H- (a-).a+

3.4.4 Pe rlua sa n d a ri Se t

O p e ra si De finisi List

d := value(a , c ) a , c , d := a , c , x1 (a ≠∅)

value(a , c ) := d a , c , d := x2, c , d

c := arg um e nt(a , d ) a , c , d := a , x3, d (a ≠∅)

arg um e nt(a , d ) := c a , c , d := x4, c , d

b := do m ain(a ) a , b := a , d o m a in(a ) b := rang e(a ) a , b := a , ra ng e (a )

c ∈do m ain(a ) c ∈ d o m a in(a )

(48)

de le te(a ,c ,d ) ha p us p a sa ng a n (c , d ) d a ri a jika a d a d ima na

x1 ∈ {x | (c , x) ∈ a }

x2 ∈ P((c , d ) + a ) x3 ∈ {x | (x, d ) ∈ a } x4 ∈ P((c , d ) + a )

3.4.5 Da ta Sp a c e

Da ta Sp a c e rua ng d ima na sua tu d a ta d i a lo ka sika n

• Ke ywo rd untuk me nsp e sifika sika n, d ig una ka n intia l d a n fre e

• Pe rtimb a ng ka n a p a b ila S a d a la h Da ta Sp a c e ma ka

Initialna me := va lue

Fre e na m e

Jika na me a d a la h sa tu a ng g o ta

S, va lue d ile ta ka n p a d a sta c k; ka la u tid a k ta mb a hka n na m e ke d a la m S d a n va lue se b a g a i nila inya

(49)

• C o nto h

Assumsika n te la h a ktif S : (x : (‘ a b ’ ), z: (8,1))

sc alar y S : (x : (‘ a b ’ ), z: (8,1))

y := z S : (x : (‘ a b ’ ), y: (8), z: (8,1))

initial y := 3 S : (x : (‘ a b ’ ), y: (8,3), z: (8,1))

y := z S : (x : (‘ a b ’ ), y: (8,8), z: (8,1))

fre e z S : (x : (‘ a b ’ ), y: (8,8), z: (1))

initial x := ‘ c d ’ S : (x : (‘ c d ’ , ‘ a b ’ ), y: (8,8), z: (1))

fre e z S : (x : (‘ c d ’ , ‘ a b ’ ), y: (8,8))

initial z := 0 S : (x : (‘ c d ’ , ‘ a b ’ ), y: (8,8), z: (0))

• untuk me nc e k ke a ktifa n d a ri sua tu ite m d a ta d ig una ka n ke ywo rd

a c tive d e ng a n me nb e rika n nila i true jika ite m d a ta te rse b ut a ktif d a n fa lse

jika tid a k a ktif, c o nto h

ac tive(a ∨ ( b ∧ c ) ∨ ( ~ d ))

3.5 Struktur Siste m O ute r Synta x

3.5.1 Jo b d a n Pro c e d ure

• PDL p ro c e d ure a d a la h p ro g ra m ya ng d isimp a n untuk p e ma ng g ila n o le h p ro g ra m la in

• Pro c e d ure b e rhub ug a n d e ng a n p ro g ra m-p ro g ra m ya ng d isimp a n p a d a syste m lib ra ry untuk p e ng e kse kusia n d i b a wa h siste m o p e ra si

• Pro c e d ure p a d a PDL d id e finisika n d ia nta ra ke ywo rd p ro c d a n c o rp

(50)

• C o nto h

jo b p rintre ve rse

q ue ue inq ue ue ,o utq ue ue

run re ve rse

b o j

pro c re ve rse stac k a a := e m pty

o utq ue ue :=e m pty

while

inq ue ue ≠e m pty

do

to p(a ) := e nd(inq ue ue ) o d

while

a ≠e m pty

do

e nd(o utq ue ue ) := to p(a ) o d

c o rp

Pa sse d d a ta a d a la h d a ta ya ng d ikirimka n ke se b ua h p ro c e d ure

me la lui p a ra me te rnya

(51)

p ro c e d ure itu se nd iri

• Da ta ya ng le wa tka n d a ri d a n ke sua tu jo b d ise b ut e xte rna l d a ta, se me nta ra itu d a ta la innya d ika ta ka n se b a g a i inte rna l d a ta

• c o nto h

jo b p rintre ve rse (inq ue ue mo utq ue ue ) q ue ue inq ue ue ,o utq ue ue

run re ve rse (inq ue ue ,o utq ue ue )

b o j

• Da ta ya ng d ile wa tka n ke a ta u d a ri sua tu p ro c e d ure d a n e xte rna l d a ta ke a ta u d a ri sua tu jo b d a p a t d ika ra kte ristika n se b a g a i a lte ra b le d a ta a ta u fixe d d a ta, d ima na a lte ra b le d a ta a d a la h d a ta ya ng d a p a t d irub a h d a n fixe d d a ta a d a la h d a ta ya ng tid a k d a p a t d irub a h

• C o nto h

Jo b o d d e ve n(in,o ut) se q ue nc e in,o ut

run o d d e ve n(alt o ut, fix in)

b o j

pro c o d d e ve n(alt o utp ut, fix inp ut) se q ue nc e inp ut, o utp ut

sc alar x while

inp ut ≠e m pty

do

(52)

if x > 0 the n

run p o sitive (alt x) e lse

run no np o sitive (alt x) fi

ne tx(o utp ut) := x o d

c o rp

pro c p o sitive (alt x) sc alar x

while

x > 1 do

x := x - 1

o d

c o rp

pro c no np o sitive (alt x) sc alar x

(53)

x < 0 do

x := x + 1

o d

c o rp

3.5.2 Syste m d a n Mo d ul

• Sua tu c a ra ya ng b a ik d a la m p e ng e mb a ng a n siste m a d a la h d e ng a n me ng o rg a nisa sika n siste m ke d a la m unit-unit ya ng te rd iri d a ri se kump ula n p ro g ra m-p ro g ra m, himp una n d a ta d a n se jumla h mo d ul ya ng me nd ukung siste m

• Pe mb e ntuka n ini p a d a PDL d id e kla ra sika n d e ng a n me ng g una ka n ke ywo rd m o d, d o m, p ro g ra m s, d a ta se ts, m o d ule s, d e ng a n b e ntuk umum :

m o d na me

pro g ram s p ro g ra m na me list datase ts d a ta na me list m o dule s mo d ule na me list

do m

• c o nto h

m o d ma ssto ra g e

(54)

datase ts te xtfile s, a rc hive s, c he c kp o int ... m o dule s d ire c to ryse rvic e ...

do m

• Pe mb e ntuka n d i a ta s p a d a a khirnya a ka n me mb e ntuk sua tu a b stra ksi (d a ta a b stra c tio n)

3.6 Inne r Synta x

3.6.1 Inne r synta x Exp re ssio n

• Tujua n d a ri inne r synta x p a d a PDL a d a la h untuk me mb e ntuk d a ta ya ng fle xib e l, se d e rha na , o p e ra si ya ng d ike na ka n d a n te st p a d a p e ra nc a ng a n p ro g ra m

• O p e ra si-o p e ra si te rha d a p d a ta d ig a mb a rka n d a ri a rime tika , lo g ic , d a n p e mro se sa n ka ra kte r d a n o b ye k d a ta d ite muka n p a d a b a ha sa p e mo g ra ma n ting ka t ting g i se p e rti c ha ra kte r string , nume ra l, d a n nila i lo g ic a l

• Assig nme nt p a d a PDL ha rus me nsp e sifika sika n sua tu e ksp re si d a ta ya ng me miliki p ro se s e va lua si sua tu nila i te rha d a p d a ta untuk p e nug a sa n p a d a sua tu id e ntifie r tujua n ya ng te la h sip e sifika si

• C o nto h

O p e ra si-o p e ra si Arime tika a :=a -2

(55)

b :=b ! c :=int(c )

O p e ra si-o p e ra si String c :=c o nc ate(a ,b ) c :=a | | b

c :=sub string(a ,x,y) x:=inde x(a ,b )

3.6.2 Tip e - tip e Da ta

• Sua tu tip e d a ta a d a la h sua tu himp una n o b ye k ya ng d i-a sso sia sika n sua tu himp una n o p e ra si, sua tu himp una n te st, d a n himp una n simb o l

• Sua tu sp e sifika si tip e d a ta p a d a PDL d ituliska n d e ng a n ke ywo rd typ e, d ima na d a la m p e nd e finisia nnya jug a d ituliska n na ma d e ng a n ta b e l o p e ra si d a n te st, c o nto h

ty pe tric o lo r de fine d b y

tric o lo r tric o lo r “ b rig hte r o f” “ b rig hte r tha n”

(56)

re d white white fa lse

re d b lue re d true

white re d white true

white white white fa lse

white b lue white true

b lue re d re d fa lse

b lue white white fa lse

b lue b lue b lue fa lse

• Dua je nis typ e d a ta ya itu

1. e nume ra te s typ e , c o nto h typ e we e kd a y = ( M, Tu, W, Th, F, Sa , Su) 2. Sub ra ng e typ e , c o nto h typ e wo rkd a y = (M .. F)

• Inne r synta x typ e a ssig nme nt d a p a t d iimp le me nta sika n ke d a la m struktur d a ta o ute r synta x se b a g a i

sc alar a ,b : inte g e r

• c o nto h la in

sc alar a :string (50)

se q ue nc e b ,c : string (4)

se t d : lo g ic a l

stac k e : string

q ue ue f,g : inte g e r ≥ 0

array h : lo g ic a l

(57)
(58)

BA B IV

PRO G RA M- PRO G RA M TERSTRUKTUR

4.1 O ve rvie w

• Pe rtimb a ng ka n d ua b ua h p ro g ra m d ib a wa h ini

10 INPUT X

20 IF X = 10 THEN G O TO 30 ELSE G O TO 60 30 A = X + 1

40 B = A * 2

50 G O TO 80

60 A = X * 1 70 B = A * 3 80 END

BEG IN READ X; IF X = 10 THEN BEG IN

(59)

ELSE BEG IN

A := X - 1;

B := A * 3; END;

END.

• Pe ng g una a n G O TO se b a g a i instruksi untuk me ng o ntro l p ro g ra m p a d a p ro g ra m ya ng p e rta ma me ng a kib a tka n ke suka ra n b a g i p e mb a c a d a la m me ng a na lisa p ro g ra m

• Pe ng g una a n G O TO me ng a kib a tka n p e nstruktura n p ro g ra m me nja d i rumit

• Pe mo g ra ma n te rstruktur me ng hila ng ka n ha l ya ng d e mikia n

4.2 Ekse kusi Pro g ra m

• Sua tu flo wc ha rt (Ba g a n a rus) a d a la h sua tu d ire c t g ra p h ya ng me ng g a mb a rka n a rus d a ri ko ntro l e kse kusi d a ri sua tu p ro g ra m d a n instruksi-instruksi ya ng d i e kse kusi

• Se tia p instruksi d a ri p ro g ra m b e rko re sp o nd e nsi d e ng a n sua tu titik (no d e ) p a d a flo wc ha rt

• Se tia p ke mung kina n ko ntro l a rus b e rko re sp o nd e nsi d e ng a n g a ris

(60)

• Jika e kse kusi d a ri instruksi ko ntro l tid a k me mb e rika n e fe k te rha d a p d a ta ya ng d ite rima ma ka ini d ise b ut ‘p ure instruc tio n c o ntro l

• Jika sua tu no d e p a d a flo wc ha rt me miliki sa tu g a ris tung g a l ya ng ma suk d a n sa tu g a ris tung g a l ya ng ke lua r d ise b ut ‘func tio n no d e

f

• Jika sua tu no d e p a d a flo wc ha rt me miliki sa tu g a ris tung g a l ya ng ma suk d a n d ua g a ris ya ng ke lua r d a n me rup a ka n p ure c o ntro l instruc tio n d ise b ut ‘p re d ic a te no d e

p

T

F

• Be ntuk la in d a ri no d e a d a la h b e ntuka n ya ng d ika ta ka n ‘ no -o p ’ no d e ya itu no d e ya ng tid a k me rub a h a ta u me ng e va lua si d a ta , d e ng a n d ua g a ris ma suka n d a n sa tu g a ris ke lua r d ise b ut ‘c o lle c ting no d e

(61)

g

h

q

p

4.2.2 Pro p e r Pro g ra m

• Sua tu p ro p e r p ro g ra m a d a la h sua tu p ro g ra m d e ng a n sua tu struktur ko ntro l ya ng

1. me miliki ma suka n tung g a l d a n ke lua ra n tung g a l

2. untuk se tia p no d e , me miliki sa tu p a th (ja lur) ya ng me le wa ti no d e te rse b ut d a ri g a ris ma suka n me nuju g a ris ke lua ra n

• C o nto h p ro p e r p ro g ra m

d

q

c

b

a

t

p

(62)

• Ba g ia n d a ri sua tu p ro p e r p ro g ra m d ima na b a g ia n te rse b ut jug a me rup a ka n p ro p e r p ro g ra m d ise b ut ‘p ro p e r sub p ro g ra m

4.2.3 Ba g a n d a n Po ho n Ekse kusi (E- C ha rt/ E- Tre e )

• E-C ha rt me rup a ka n b a g a n ya ng me ng g a mb a rka n a rur e kse kusi p ro g ra m ya ng te rtua ng p a d a sua tu flo wc ha rt

• Dib e rika n sua tu flo wc ha rt d a ri p ro p e r p ro g ra m , p e mb a ng un E-C ha rt -nya d a ri no d e -no d e d a n g a ris-g a ris d e ng a n b e b e ra p a la ng ka h se b a g a i me rikut

1. Mula i E-C ha rt d e ng a n g a ris ma suk p a d a flo wc ha rt d a n a d ja c e nt p re d ic a te, func tio n, a ta u c o lle c ting no d e

2. Pa d a se tia p la ng ka h ko nstruksi, p e rtimb a ng ka n se tia p ja lur e kse kusi p a d a p e ng e mb a ng a n E-C ha rt.

3. Pa d a sa a t se mua ja lur e kse kusi me nc a p a i te rmina si p a d a g a ris ke lua r a ta u p a d a titik ya ng se b e lumnya d imunc ulka n p a d a ja lur, E-C ha rt se le sa i

• Sua tu Exe c utio n Tre e (E-Tre e) d a ri sua tu flo wc ha rt p ro g ra m a d a la h sua tu p o ho n ya ng me milki ja lur (p a th) d a ri se mua ke mung kina n uruta n e kse kusi ta np a te rd a p a t re tra c king

• Pa d a E-Tre e me nja d i finite E-Tre e a p a b ila tid a k te rd a p a t sua tu b e ntuk struktut p e ng ula ng a n, se b a liknya a ka n te rja d i sua tu Infinite E-Tre e jika te rd a p a t sua tu struktur p e ng ula ng a n

(63)

f

q

g

p

2

1

q

g

p

2

1

f

2

(64)

q

g

p

f

f

p

q

g

p

f

g

q

4.3 Fung si- fung si p ro g ra m

4.3.1 Da ta A ssig m e nt

• Pe rnya ta a n a ssing me nt d a p a t d iliha t se b a g a i sua tu p ro g ra m p a d a sisi ka na n ya ng me ntra nsfo rma sika n sua tu initia l d a ta sta te me nja d i sua tu

fina l d a ta sta te d e ng a n sua tu c a ra ya ng sp e sifik

(65)

1. typ e ya ng tid a k ko mp a tib e l 2. Pe mb a g ia n d e ng a n No l

3. Struktur d a ta ya ng tid a k ko mp a tib e l

• Sua tu p e rnya ta a n a ssig nme nt se b a g a i na ma d a ri sua tu fung si ya ng me nd e finisika n sua tu sta te tra nsitio n untuk se mua d a ta ya ng d ike ta hui d a la m p ro g ra m

• Do ma in d a ri fung si b e rko re sp o nd e nsi ke initia l d a ta sta te ya ng d itra nsfo rma sika n o le h p e rnya ta a n a ssig nme nt me nja d i sua tu fina l d a ta sta te, c o nto h, p a d a sua tu p ro g ra m d e ng a n d a ta sp a c e x, y, z

p e rnya ta a n

x := m a x(y , z)

b e rko re sp o nd e nsi ke sua tu fung si a ssig nme nt, ya ng me rup a ka n sua tu himp una n d a ri o rd e re d p a ir d e ng a n b e ntuk

m a x = {((y , z), (u))| ( y

zu = y ) ∨ ( zyu = z )}

a ta u d a p a t d itulis se c a ra se d e rha na d e ng a n se hing g a b e ntuk d a p a t d inya ta ka n d e ng a n

( x := m a x( y , z )) ={((x , y , z),( m a x( y , z ), y , z))}

4.3.2 Efe k- e fe k p ro g ra m p a d a d a ta

(66)

E-tre e a d a la h sua tu infine te

• Pe rtimb a ng ka n, untuk se tia p initia l d a ta sta te X ya ng ma na me nc a p a i a khir e kse kusi, sua tu fina l d a ta sta te Y te rd e finisi, nila i Y unik, d ib e rika n d a ri

X, ma ka himp una n ‘o rd e re d p a ir’ {( X , Y )} d id e finisika n a d a la h sua tu fung si, ha l ini d ika ta ka n se b a g a i ‘p ro g ra m func tio n

• Dib e rika n sua tu p ro p e r p ro g ra m d e ng a n na ma P, d ino ta sika n d e ng a n p ro g ra m func tio nnya o le h [P]

f

X

Y

P =

[P] = {( x , y ) | Y = f(X)}

• Sua tu uruta n d a ri d ua fung si

g

X

Y

P =

h

Z

(67)

• Pe rtimb a ng ka n Flo wc ha rt

g

p

h

f

r

q

• E-C ha rt untuk g a mb a r d i a ta s a d a la h

g

q

h

g

r

f

p

h

r

g

Y N (1) N Y Y N Y N (2) (3) (4) (5)

• Fung si Pro g ra m ya ng d id a p a tka n a d a la h

(1) {(X,Y) | p(X) ∧q(f(X)) ∧Y = g(f(X))}

(68)

(5) {(X,Y) | ~p(X) ∧ ~r(h(X)) ∧Y = h(X)}

• Fung si p ro g ra m ini d a p a t d id e finisika n jug a d e ng a n sua tu c o nd itio na l rule

[P] = {(X,Y) | p(X) ∧qf(X) ∧Y = gf(X) |

p(X) ∧ ~qf(X) ∧rhf(X) →Y = ghf(X) | p(X) ∧ ~qf(X) ∧ ~rh f(X) →Y = hf(X) | ~p(X) ∧rh(X) →Y = gh(X) |

~p(X) ∧ ~rh(X) →Y = h(X)}

• Pe rtimb a ng ka n

g5

p2

1

g4

g1

g2

g3

p1

3

p3

2

1

g4

g1

g2

g3

p1

2

1

3

p2

2

g5

p3

(69)

E-C ha rt

g4

g1

g2

g3

p1

p2

g5

p3

f1

f3

f2

E-Tre e

f1 = {(X,Y<

Referensi

Garis besar

Dokumen terkait

Syam (dalam Wijaya. 2014:38) menyatakan bahwa” data adalah keterangan atau bahan faktual yang dapat dijadikan sebagai dasar kajian untuk sampai pada suatu kesimpulan

Seluruh bagian tanaman kuping gajah mengandung racun, tetapi hanya berbahaya jika termakan dalam jumlah banyak dan bisa menyebabkan rasa terbakar yang cukup

Data hasil pengujian serat pangan keir dengan penambahan tepung kulit pisang dan Lactobacillus acidophilus FNCC 0051 yang berbeda dapat dilihat pada Tabel

Sanggahan atas hasil pelelangan ini sesuai ketentuan yang ditetapkan dalam Perpres 54 Tahun 2010 tentang pengadaan barang/jasa pemerintah beserta perubahannya, disampaikan

Diberitahukan bahwa setelah diadakan penelitian oleh Kelompok Kerja (Pokja) menurut ketentuan- ketentuan yang berlaku, Kelompok Kerja (Pokja) Unit Layanan Pengadaan (ULP) di

Di jawa sendiri ada banyak sekali tradisi dan adat istiadat dalam rangka untuk menyambut akan kelahiran bayi, juga sebagai ucapan syukur kepada tuhan

Raditya Designer Art Merupakan Jasa Lukis Dinding Terbaik Di Indonesia Dengan Desain – Desainnya Yang Unik, Berbeda, Simple, Dan Menarik Yang Akan Menarik Pelanggan Agar Datang

digunakan guru dalam penanaman akhlakul karimah pada anak usia dini.. di RA Al-Wathoniyah Jabon