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 x
∈
D 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, Df 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 = x
2
+3x+2} d i ma na x
∈
{0,1} me rup a ka n d o ma in d a n y = x
2
+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| xx-1=0, y-x
2
-3x-2=0}
•
Jika f d a n g a d a la h fung si ma ka {x,y| y=fg 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 f
•
g
•
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 fx = x untuk se tia p x
∈
DF
•
Jika p e rtuka ra n sua tu fung si f a d a la h fung si, ma ka f
t
fx= ff
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 p
= {x, true | x
≥
0}
∪
{x,fa lse | x 0}
•
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 te
→
rule d e ng a n b e ntuk se b a g a i b e rikut p 1
→
r1 | p 2
→
r2 | . . . | p n
→
rn c o nto h
f = {x,y | x
∈
D, 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 nx-2 | x
→
o d d e ve nx+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 Dg ke a ng g o ta d a ri Rg
•
Pe rtimb a ng ka n f
= f
D-R ,D-R
= x,y
∈
f | x
∈
Df-Rf
∧
y
∈
Df
∩
Rf}
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 no ne xe c e ss, inp ut
no ne xe c e ss, inp ut
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 a p p le :le ttuc e ,Mc Into sh,Wine sa p
me lo n:p e a c h,C a nta lo up e ,Ho ne yd e w le ttuc e :me lo n,Ic e b e rg ,Ro m a ine
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 | a
∈
A, b
∈
B, 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 a
∈
A
∧
b
∈
B
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 itd ig it
ma ka inte g e r ::= d ig it | d ig itd 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 ,+
•
Sua tu fo rma l g ra mma r d ima na se tia p d e finisi d e ng a n b e ntuk
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 ::= 0d ig it | 1d ig it | 2d ig it to 3 m inute ::= d ig it to 5d 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
+AA = A+A = +A AA = A
AA = AA = +A
A
∅
=
∅
A = A A = A
AB|C = AB|AC , B|C A = BA|C A ABC = ABC
+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
•
Pe rtimb a ng ka n
B
p
C A
A
q
A
q
A
BA| C A+A|
∅
= BA|C AA = B|C AA
= B|C AA = B|C +A
B
p
C
q
A
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
•
PDL a d a la h sua tu b e ntuk khusus a khir ya ng te rb uka d a ri b a ha sa a la mi d a n ma te ma tika
•
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