21.09.2016 Views

buku_teknik kompilasi

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Teknik Kompilasi<br />

<br />

<br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 1


• <br />

<br />

<br />

• <br />

<br />

<br />

<br />

!""#<br />

! " $<br />

!""%<br />

#&'!"""<br />

$ ( ' ) ' * $ +<br />

,---<br />

<br />

$"% <br />

. <br />

/ . <br />

)<br />

<br />

<br />

<br />

<br />

<br />

) 0<br />

1<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 2


) <br />

<br />

213<br />

13<br />

3<br />

'<br />

4 <br />

/5<br />

Hari Soetanto Teknik Kompilasi @2004 3


!#!&$!'!<br />

<br />

%%<br />

<br />

<br />

6 7<br />

86<br />

<br />

.<br />

/ 9 :;<br />

<br />

<br />

()!<br />

<br />

.<br />

<br />

787/6 <br />

8<br />

<br />

* ; <br />

5 6 9:; <br />

4


(!.6<br />

) : <br />

/ =<br />

• <br />

<br />

<br />

Source<br />

Program<br />

'*%<br />

Compiler<br />

ERROR<br />

MESSAGES<br />

• ) <br />

> : <br />

+ ;<br />

• ) : -!<br />

• < 6 6 :<br />

<br />

• ) <br />

) <br />

6 <br />

6 *6 <br />

96<br />

6 <br />

&*#<br />

&+ $<br />

Hari Soetanto Teknik Kompilasi @2004 5


4 <br />

) <br />

<br />

? <br />

, : <br />

5 <br />

6: <br />

9 : <br />

6 <br />

<br />

The Bit<br />

0 1<br />

The bit is the smallest element of computer storage. It is a positive or<br />

negative magnetic spot on disk and tape and charged cells in memory.<br />

Bits on magnetic disk<br />

1995<br />

250,000,000<br />

bits per sq. in.<br />

Bits on magnetic tape<br />

1955<br />

2,000<br />

bits per sq. in.<br />

The Byte<br />

0 1 0 0 1 1 0 1<br />

A byte is 8 binary digits, or cells.<br />

Bytes in memory<br />

In a 16 megabyte memory, there are 16<br />

million of these 8-bit structures.<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 6


Switch (transistor)<br />

0 1 0 1 1 0 1 1 0<br />

1945 - 75 bits per second<br />

0 1 0 1 0 1 0 1 1 1 0 0 1 0 1 1 0 1 0<br />

1998 - billions of bits per second<br />

<br />

<br />

<br />

% * % - "<br />

%(<br />

• ) <br />

78<br />

• 5 <br />

: 5:5<br />

o %(<br />

75/'8<br />

7098<br />

7'@A8<br />

• 78<br />

• / 6 <br />

• ) <br />

<br />

4 <br />

67 8 <br />

6 <br />

6B <br />

5 6<br />

<br />

) 6 / 6 <br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 7


./<br />

<br />

46 <br />

<br />

<br />

E<br />

0/<br />

<br />

(C.6<br />

6 <br />

<br />

<br />

46 <br />

E1<br />

<br />

<br />

<br />

<br />

#2<br />

3<br />

&,<br />

<br />

<br />

(C.6<br />

1/!<br />

< 6 <br />

:<br />

<br />

<br />

<br />

<br />

3<br />

<br />

<br />

<br />

(D.6 <br />

Hari Soetanto Teknik Kompilasi @2004 8


6:<br />

<br />

6 <br />

<br />

B<br />

<br />

* <br />

• <br />

6<br />

• <br />

• ) <br />

<br />

"<br />

• ? 5<br />

• > : <br />

<br />

• 0 <br />

<br />

* %4 56<br />

• 26<br />

• 0 78<br />

• 5 <br />

<br />

• ? : <br />

1<br />

<br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 9


*<br />

• ? > <br />

7$ : 8<br />

• 4 ! - , ! 6<br />

<br />

<br />

<br />

P2<br />

P1<br />

Po<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 10


%%<br />

<br />

<br />

"' $ <br />

<br />


? 6 <br />

<br />

9 <br />

<br />

6 6 7 8 <br />

<br />

B<br />

<br />

• / 6 : <br />

6 <br />

• / 78;:;<br />

: : 9 <br />

: <br />

• / I#:I" <br />

6D<br />

• <br />

• !"I")51<br />

5<br />

• 7!"#-8 ; 1 <br />

) 07 08<br />

<br />

<br />

* <br />

<br />

JK *#+!J :K#<br />

J :K J KLJ K7J :K<br />

J K J;K(8J1K<br />

J'1K JKLJKJ!KJ1K<br />

Hari Soetanto Teknik Kompilasi @2004 12


JK J5 KLJ5 KJ,KJK<br />

J5 K J;KLJK<br />

J;K L*LML9<br />

J!K 3L:LF<br />

J,K :LEL><br />

JK <br />

JNK<br />

JN K<br />

JNKLJN K<br />

JN KJ5 K<br />

J KLJN KJ K<br />

J5 K J KLJ KJ5 K<br />

J K -L!LML"<br />

<br />

<br />

)<br />

<br />

<br />

' <br />

.F!B<br />

).F3,<br />

Hari Soetanto Teknik Kompilasi @2004 13


.(%<br />

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

* $ %<br />

/C<br />

<br />

&<br />

/,<br />

<br />

10<br />

/! <br />

1 ;<br />

/-<br />

<br />

? ><br />

><br />

<br />

3%%"<br />

0 708<br />

B <br />

0 708+<br />

0 <br />

708<br />

9 <br />

2) <br />

/<br />

α;<br />

β<br />

;<br />

<br />

α;<br />


+<br />

• &>? ./ <br />

→<br />

• . > 1 ;. 6 <br />

<br />

→0<br />

→0<br />

• 0>15.& ;<br />

)→0<br />

→)<br />

• 1>&.&! <br />

<br />

→<br />

→5<br />

→5<br />

→<br />

<br />

%<br />

<br />

6 <br />

<br />

<br />

• α → β α ><br />

β<br />

• α:β:<br />

• : : : <br />

6<br />

Hari Soetanto Teknik Kompilasi @2004 15


• ? 5 7 8<br />

: 57)<br />

8<br />

• .<br />

/→/<br />

'→/L/3''/ '/3'<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 16


) 6 6 <br />

6 <br />

<br />

<br />

<br />

• <br />

1<br />

• / <br />


*4*%>6<br />

<br />

• ) 0<br />

• ) 01<br />

<br />

((8 →<br />

< <br />

=? <br />

@A -<br />

<br />

.<br />

'→/L/3'L/:'<br />

/→<br />

) 0<br />

'..FJ/KLJ/K3J'KLJ/K:J'K<br />

/..F<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 18


"2<br />

) 0 )<br />

• 78 ><br />

• 6 <br />

• 2 <br />

<br />

'→/L/3'L/:'<br />

<br />

) 0.J)K..F)'(


%<br />

<br />

'2"<br />

46<br />

"2"<br />

46<br />

&B<br />

!<br />

<br />

<br />

+<br />

&,<br />

<br />

<br />

(I. <br />

<br />

<br />

• 21 O F 1 O < <br />

5 <br />

6:<br />

• O 5 <br />

5 > <br />

76 8<br />

• :>6 <br />

• 78 :<br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 20


'2 " 46 :::<br />

<br />

<br />

1 O<br />

< <br />

1 <br />

6:<br />

<br />

" <br />

• 5 <br />

• 5 : <br />

• 6 : <br />

• <br />

• <br />

• :9 5<br />

• /. 5 <br />

<br />

• . ; 7 <br />

618<br />

<br />

(%%<br />

• ! 9 8 7JFK8<br />

• 7 ) > :<br />

: : :9 :<br />

• $ . <br />

5<br />

Hari Soetanto Teknik Kompilasi @2004 21


'2":<br />

• !.<br />

<br />

(810CD./E-<br />

<br />

6 : 9<br />

5 → 5 <br />

→ .F<br />

→ C,<br />

6→ 3<br />

5 → !G<br />

<br />

• <br />

<br />

• $" ! ; , C D<br />

<br />

<br />

• .<br />

(!?*3#8B<br />

<br />

• 5 : .<br />

C<br />

( ,#<br />

! ,-<br />

!<br />

K !I<br />

* !<br />

Hari Soetanto Teknik Kompilasi @2004 22


3# ,!<br />

!<br />

!<br />

7 ,%<br />

<br />

/: 1 : <br />

< 6 <br />

<<br />

56 <br />

78 7 8 7<br />

8<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 23


"2"B<br />

<br />

) <br />

: <br />

1/1<br />

.<br />

<br />

• : 1 7 18 <br />

1<br />

• (. : 5<br />

• ( 1 <br />

<br />

• : :7 8 <br />

• 1 <br />

• " <br />

PQ <br />

6 <br />

<br />

• / .4C*6D4C6<br />

• .=?-=?)=2?<br />

Hari Soetanto Teknik Kompilasi @2004 24


J'1K<br />

<br />

J/K<br />

<br />

JK D J0 K<br />

<br />

J5 K 4J1K6<br />

<br />

4J'1K6 J'1KCJK<br />

<br />

J'1KCJK JK J5 K<br />

<br />

JK J5 K J5 K <br />

<br />

J5 K * <br />

<br />

<br />

<br />

<br />

"2<br />

• >71 ><br />

8<br />

<br />

:;6:<br />

<br />

• . →)<br />

→L<br />

)→)L)<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 25


)<br />

<br />

)<br />

<br />

)<br />

<br />

<br />

• <br />

<br />

<br />

.<br />

• 75 ; 8 . ; <br />

78<br />

• 7 ; 8. ; <br />

78<br />

• .<br />

• 15. →L<br />

→L<br />

• . FK<br />

FK<br />

FK<br />

FK<br />

FK<br />

• . FK<br />

FK<br />

FK<br />

FK<br />

FK<br />

Hari Soetanto Teknik Kompilasi @2004 26


• . :K)L<br />

:KLL<br />

):KLL))<br />

<br />

<br />

)<br />

<br />

) )<br />

<br />

) ) <br />

<br />

<br />

<br />

) <br />

<br />

<br />

<br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 27


$<br />

C.<br />

• $'<br />

• <br />

• <br />

<br />

<br />

%6.<br />

• ><br />

5 9 <br />

.<br />

)>.) 0<br />

.&;<br />

<br />

• *><br />

5<br />

<br />

(*<br />

• <br />

• :1 <br />

• ) 67 8<br />

• :9 <br />

: <br />

• <br />

→L)<br />

→L<br />

)→L<br />

<br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 28


• PQ<br />

<br />

78 78 78 <br />

<br />

<br />

<br />

<br />

<br />

/678 <br />

<br />

7;8 7;8 7;8 <br />

<br />

) )<br />

<br />

<br />

<br />

/67;8: <br />

<br />

>><br />

• 6 <br />

798<br />

• <br />

• ) <br />

• ( &5 <br />

55<br />

' :<br />

<br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 29


/ > (F7R/8<br />

RF7S'TT/TT0T8 /7;8<br />

/F7STTETT>TT3TT:T8 /<br />

FT'T 9> <br />

D<br />

<br />

%78<br />

!'→/L/3'L/:'<br />

/→0L0E/L0>/<br />

0→<br />

7 8<br />

0'→/L'3/L':/<br />

/→0L/E0L/>0<br />

0→<br />

7 8<br />

• 5 <br />

<br />

1'→'3/L':/L/<br />

/→/E0L/>0L0<br />

0→<br />

&5<br />

<br />

%%<br />

5 7 8 <br />

;<br />

<br />

%%<br />

→β 5<br />

Hari Soetanto Teknik Kompilasi @2004 30


βF; <br />

.<br />

→<br />

)→)<br />

<br />

5<br />

→β 5<<br />

.<br />

→<br />

)→)<br />

<br />

5 <br />

5 <br />

<br />

<br />

(15( .<br />

→<br />

→Lε <br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

) :%% ?<br />

5 5<br />

: .<br />

Hari Soetanto Teknik Kompilasi @2004 31


• 5 B<br />

%%<br />

→α!Lα,LLα<br />

%%%<br />

→β!Lβ,LLβ<br />

<br />

• : 5 .<br />

!→β!ULβ,ULLβU<br />

,U→α!Lα,LLα<br />

CU→α!ULα,ULLαU<br />

<br />

• <br />

; U! U, ; <br />

5<br />

<br />

(/ )15<br />

→LLL 5L<br />

<br />

5<br />

→<<br />

&.α!Fα,F<br />

<br />

5<br />

→LL 5<br />

&.β!Fβ,FβCF 5<br />

<br />

2 5<br />

→L <br />

Hari Soetanto Teknik Kompilasi @2004 32


!→9.L9.L 59.<br />

,/U!→L<br />

CU!→9.L9.<br />

<br />

5 <br />

) .<br />

→LL 5<br />

→9.L9.L 59.<br />

U! →L<br />

U! →9.L9.<br />

<br />

• 5 <br />

5 <br />

9<br />

• 6 <br />

9 <br />

78<br />

• 5 <br />

<br />

<br />

( 5<br />

5<br />

• 15<br />

• ;<br />

• ) 1 <br />

;> <br />

• 5 ; 9<br />

<br />

• / 7 8<br />

• ) 6<br />

Hari Soetanto Teknik Kompilasi @2004 33


• 6 <br />

<br />

7878<br />

• ) <br />

<br />

• 5 <br />

<br />

• <br />

<br />

• ..F73)8E738<br />

• : P.FP P3Q PEQ <br />

: <br />

• ? : <br />

<br />

<br />

? .<br />

• ; 5<br />

• ;:; <br />

• <br />

<br />

• <br />

• 5 <br />

<br />

<br />

<br />

<br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 34


.<br />

• :<br />

78<br />

o %<br />

6 5<br />

<br />

<br />

o <br />

<br />

5 <br />

<br />

<br />

• <br />

:<br />

<br />

<br />

<br />

B<br />

• 1 ! <br />

5 <br />

• ) <br />

<br />

<br />

6 <br />

< <br />

7 <br />

8<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 35


• <br />

6 <br />

6<br />

• 2<<br />

<br />

<br />

• 4 2<br />

<br />

<br />

7 8 <br />

<br />

• < <br />

<br />

• , 9<br />

5<br />

<br />

"2><br />

<br />

&!F<br />

J4KJ4KJ4 K<br />

.<br />

738E738<br />

51<br />

33E<br />

6 51<br />

<br />

!J1K3#J !K#'#J ,K<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 36


516B<br />

<br />

<br />

J1KJ!K*9J !KJ,K* J ,K<br />

)U.)5O78<br />

)&. <br />

<br />

.!K3#.F#'#.F<br />

51<br />

!! <br />

!, <br />

!CK <br />

!D,, <br />

!I)U <br />

!# <br />

!% <br />

!G.F<br />

!"<br />

,-,I<br />

,!)&<br />

,,<br />

,C<br />

,D.F<br />

,I<br />

<br />

1 7K8 ,, ) 1 7K8<br />

6 !#:!G ,I<br />

<br />

.<br />

<br />

<br />

G3!'#J1K&J K<br />

516BJ1KJ!K*9J KJ,K* <br />

<br />


51<br />

!- <br />

!!! <br />

!,.F <br />

!C <br />

!DI <br />

!IJ <br />

!#,# <br />

!%)U <br />

!G<br />

!"<br />

,-!<br />

,!!<br />

,,.F<br />

,C<br />

,D!C<br />

,I)&<br />

<br />

<br />

!'#&!&<br />

<br />

<br />

5 <br />

.<br />

<br />

<br />

J KJKJK<br />

.FE3)>'<br />

* .<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

!E<br />

,>)'<br />

C37!87,8<br />

D.F7C8<br />

78 <br />

6<br />

<br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 38


(<br />


H<br />

0 H<br />

J KJKJKJK<br />

<br />

& ; <br />

<br />

;<br />

<br />

.<br />

.FE3)>'<br />

<br />

* .<br />

!E/!<br />

,>)'/,<br />

C3/!/,<br />

<br />

• 7 8<br />

• < 5 <br />

• <br />

73)8E738 6H.<br />

!3)/!<br />

,3/,<br />

CE/!/,/C<br />

<br />

.<br />

2 7 8<br />

) 7 6)8<br />

/4/! 7 /!8<br />

2<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 40


4/,<br />

2/!<br />

?2/,<br />

/4/C<br />

<br />

<br />

6.<br />

2<br />

)<br />

/4/!<br />

2<br />

<br />

?2/!<br />

/4/,<br />

<br />

, %<br />

<br />

<br />

Source<br />

Program<br />

X = Y + X<br />

Analisis<br />

Leksikal<br />

Token-token<br />

Id1:=Id2+Id1<br />

Analisis<br />

Sintaksis<br />

Id1 := <br />

Id2 + Id1<br />

Code Generator<br />

dan Analisis<br />

sematiks<br />

LDA A<br />

ADD Y<br />

STO X<br />

Tabel<br />

Simbol<br />

<br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 41


• <br />

• <br />

• &<br />

• '&;<br />

• '<br />

<br />

<br />

• <br />

>6<br />

/' /' / <br />

<br />

• <br />

6<br />

<br />

.FV37)E738<br />

<br />

• <br />

/ <br />

.B<br />

F!IE-%G<br />

R5<br />

. ).F)3!<br />

5<br />

<br />

2:.<br />

<br />

<br />

/6 <br />

Hari Soetanto Teknik Kompilasi @2004 42


. <br />

• <br />

• <br />

• 5<br />

• .!#,*.?95<br />

• . F!#, F 9<br />

55F6<br />

<br />

)<br />

%>%"%<br />

.) <br />

2. 75 >8<br />

4 . <br />

> <br />

<br />

% " - % %<br />

<br />

<br />

78<br />

9 <br />

<br />

<br />

%>%"<br />

& B '<br />

&;.<br />

&.<br />

<br />

& <br />

<br />

Hari Soetanto Teknik Kompilasi @2004 43


P Q <br />

<br />

)78<br />

<br />

) 6 <br />

6 6 <br />

$%3<br />

&; <br />

/ <br />

6;<br />

<br />

"2 5"<br />

<br />

.F3!<br />

).F)3!B<br />

.F3! <br />

B<br />

<br />

<br />

7 ) 08<br />

J KI- KBJ KB<br />

=P7Q<br />

<br />

# 5".<br />

$<br />

6 <br />

.


3# 6 <br />

7B8<br />

<br />

<br />

7 .<br />

JKJ1KJ K<br />

<br />

<br />

25 5"<br />

) <br />

.).FP)2Q<br />

9 ; ) <br />

; )<br />

<br />

<br />

#3>#<br />

<br />

;758<br />

<br />

/<br />

<br />

<br />

1 &<br />

><br />

<br />

<br />

G3!'#J!<br />


4 <br />

4 2<br />

4 (<br />

<br />

&<br />

6<br />

<br />

<br />

o 4 O<br />

o


4 <<br />

'. <br />

<br />

; <br />

.<br />

.<br />

< 9 <br />

<br />

: : ; <br />

<br />

6 . <br />

;6 <br />

4 6 78<br />

& !(8.0&<br />

K!L(8M7<br />

<br />

6<br />

K.L(8M7<br />

K0L(8M7<br />

0H& . 6<br />

<br />

04&


. 9<br />

6<br />

<br />

.F3!<br />

<br />


.78<br />

67B <br />

Hari Soetanto Teknik Kompilasi @2004 50


5<br />

<br />

<br />

<br />

<br />

: <br />

<br />

5. <br />

5<br />

/5<br />

46 <br />

5 <br />

;<br />

;5<br />

0<br />

<br />

/


%7<br />

<br />

<br />

<br />

<br />

- <br />

! )<br />

, V<br />

C U<br />

D <br />

/


5 <br />

78': B<br />

4 <br />

; <br />

<br />

<br />

<br />

<br />

<br />

<br />

5 <br />

': .<br />

? <br />

:<br />

<br />

<br />

<br />

"<br />

5:5 : 5 ':<br />

.<br />

? <br />

)5<br />

<br />

<br />

<br />

Hari Soetanto Teknik Kompilasi @2004 55


Soal-soal Latihan Teknik Kompilasi<br />

Soal Multiple choice<br />

1. Yang disebut dengan bahasa mesin adalah suatu bahasa yang:<br />

a. Sangat sukar dan sangat sedikit kemungkinannya untuk membuat<br />

compiler dengan bahasa jenis ini<br />

b. Fasilitas yang dimiliki lebih baik<br />

c. Memiliki ukuran yang relatif besar<br />

d. Lebih mudah dipelajari<br />

2. Yang disebut dengan bahasa assembly adalah suatu bahasa yang:<br />

a. Sangat sukar dan sangat sedikit kemungkinannya untuk membuat<br />

compiler dengan bahasa ini<br />

b. Fasilitas yang dimiliki lebih Sedikit<br />

c. Memiliki ukuran yang relatif besar<br />

d. Lebih mudah dipelajari<br />

3. Yang disebut dengan bahasa Tingkat tinggi adalah suatu bahasa yang:<br />

a. Sangat sukar dan sangat sedikit kemungkinannya untuk membuat<br />

compiler dengan bahasa ini<br />

b. Fasilitas yang dimiliki lebih Sedikit<br />

c. Memiliki ukuran yang relatif kecil<br />

d. Lebih mudah dipelajari<br />

4. Yang dimaksud dengan BootSrap, adalah<br />

a. Bagaimana orang mengerti bahasa mesin<br />

b. Penggunaan bahasa tingkat tinggi<br />

c. Untuk membangun sesuatu yang besar dibangun dulu bagian intinya<br />

d. Untuk menghidupkan komputer<br />

5. Noam chomsky melakukan penggolongan tingkatan dalam bahasa, dikenal<br />

dengan istilah<br />

a. BNF<br />

b. Chomsky Hierarky<br />

c. Tata Bahasa<br />

d. Grammar<br />

6. Aturan produksi yang ada menggunakan simbol-simbol:<br />

a. α → β<br />

b. A → b<br />

c. β → α<br />

d. b → A<br />

7. Menurut comsky terdapat 4 penggolongan dalam aturan produksi, yang<br />

termasuk pada kategori Unrestricted: Tidak Ada batasan pada aturan<br />

produksi, adalah<br />

Hari Soetanto Teknik Kompilasi @2004 56


a. Tipe 0<br />

b. Tipe 1<br />

c. Tipe 2<br />

d. Tipe 3<br />

8. Menurut comsky terdapat 4 penggolongan dalam aturan produksi, yang<br />

termasuk pada kategori Context sensitive: Panjang string ruas kiri harus lebih<br />

kecil atau sama dengan ruas kanan, adalah<br />

a. Tipe 0<br />

b. Tipe 1<br />

c. Tipe 2<br />

d. Tipe 3<br />

9. Menurut comsky terdapat 4 penggolongan dalam aturan produksi, yang<br />

termasuk pada kategori Context Free Grammar: Ruas kiri haruslah tepat satu<br />

simbol variable, adalah<br />

a. Tipe 0<br />

b. Tipe 1<br />

c. Tipe 2<br />

d. Tipe 3<br />

10. Menurut comsky terdapat 4 penggolongan dalam aturan produksi, yang<br />

termasuk pada kategori Regular: Ruas kanan hanya memiliki maksimal 1<br />

simbol terminal dan diletakkan paling kanan sendiri, adalah<br />

a. Tipe 0<br />

b. Tipe 1<br />

c. Tipe 2<br />

d. Tipe 3<br />

11. Yang dimaksud dengan Diagram State, pada <strong>teknik</strong> Kompilasi adalah<br />

a. Digunakan untuk mendapatkan token, mempermudah melakukan analisis<br />

lexical<br />

b. Digunakan untuk mendapatkan token, mempermudah melakukan analisis<br />

syntax<br />

c. Aturan produksi yang dikenalkan oleh comsky<br />

d. Simbol terminal<br />

12. Yang dimaksud dengan TOKEN, pada <strong>teknik</strong> Kompilasi adalah<br />

a. Digunakan untuk mendapatkan token, mempermudah melakukan analisis<br />

lexical<br />

b. Digunakan untuk mendapatkan token, mempermudah melakukan analisis<br />

syntax<br />

c. Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis<br />

d. Simbol terminal<br />

13. Yang dimaksud dengan Diagram Syntax, pada <strong>teknik</strong> Kompilasi adalah<br />

Hari Soetanto Teknik Kompilasi @2004 57


a. Digunakan untuk mendapatkan token, mempermudah melakukan analisis<br />

lexical<br />

b. Digunakan untuk mendapatkan token, mempermudah melakukan analisis<br />

syntax<br />

c. Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis<br />

d. Simbol terminal<br />

14. Translator yang Source codenya adalah bahasa assembly, dan Object code<br />

adalah bahasa mesin, disebut dengan<br />

a. Assembler<br />

b. Compiler<br />

c. Interpreter<br />

d. Suplier<br />

15. Translator yang Source code nya adalah bahasa tingkat tinggi, object code<br />

adalah bahasa mesin atau bahasa assembly. Source code dan data diproses<br />

berbeda, disebut dengan :<br />

a. Assembler<br />

b. Compiler<br />

c. Interpreter<br />

d. Suplier<br />

16. Translator yang idak menghasilkan bentuk object code, tetapi hasil<br />

translasinya hanya dalam bentuk internal, dimana program induk harus selalu<br />

ada-berbeda dengan compiler, disebut dengan :<br />

a. Assembler<br />

b. Compiler<br />

c. Interpreter<br />

d. Suplier<br />

17. Memgelompokkan program asal/sumber menjadi token disebut dengan<br />

a. Scanner<br />

b. Parser<br />

c. Lexicer<br />

d. Interpreter<br />

18. Yang bertugas untuk memeriksa kebenaran dan urutan dari token-token yang<br />

terbentuk oleh scanner, disebut dengan:<br />

a. Scanner<br />

b. Parser<br />

c. Lexicer<br />

d. Interpreter<br />

19. Tugas dari anlysis lexixal adalah<br />

a. Mentransformasikan ke dalam bentuk token-token<br />

b. Proses pendeteksian token-token<br />

Hari Soetanto Teknik Kompilasi @2004 58


c. Untuk mengenali makna dari simbol-simbol<br />

d. Memeriksa variabel sudah dideklarasikan atau belum<br />

20. Tugas dari Semantics analyser adalah<br />

a. Mentransformasikan ke dalam bentuk token-token<br />

b. Proses pendeteksian token-token<br />

c. Untuk mengenali makna dari simbol-simbol<br />

d. Memeriksa variabel sudah dideklarasikan atau belum<br />

21. Tugas dari Syntax analyser adalah<br />

a. Mentransformasikan ke dalam bentuk token-token<br />

b. Proses pengelompokan token-token kedalam class syntax<br />

c. Untuk mengenali makna dari simbol-simbol<br />

d. Memeriksa variabel sudah dideklarasikan atau belum<br />

22. Tugas dari Intermidiate code, adalah<br />

a. Mentransformasikan ke dalam bentuk token-token<br />

b. Proses pengelompokan token-token kedalam class syntax<br />

c. Memperkecil usaha dalam membuat compilator dari sejumlah bahasa ke<br />

sejumlah mesin<br />

d. Memeriksa variabel sudah dideklarasikan atau belum<br />

23. Fungsi dari Tabel simbol, adalah :<br />

a. Mentransformasikan ke dalam bentuk token-token<br />

b. Proses pengelompokan token-token kedalam class syntax<br />

c. Memperkecil usaha dalam membuat compilator dari sejumlah bahasa ke<br />

sejumlah mesin<br />

d. Menindak lanjuti untuk perbaikan<br />

24. Rekasi-reaksi yang tidak dapat diterima pada suatu compiler adalah; kecuali<br />

a. Compiler crash: hang<br />

b. Looping<br />

c. Mengahasilkan obyek yang salah<br />

d. Menemukan kesalahan yang pertama<br />

25. Rekasi-reaksi yang benar, tapi kurang diterima pada suatu compiler adalah;<br />

a. Compiler crash: hang<br />

b. Looping<br />

c. Mengahasilkan obyek yang salah<br />

d. Menemukan kesalahan yang pertama<br />

26. Rekasi-reaksi yang dapat diterima pada suatu compiler adalah; kecuali<br />

a. Recovery<br />

b. Repair<br />

c. Mengkoreksi kesalahan<br />

d. Menemukan kesalahan yang pertama<br />

Hari Soetanto Teknik Kompilasi @2004 59


27. Pada <strong>teknik</strong> Optimasi di tahapan compiler, ada beberapa <strong>teknik</strong> <strong>kompilasi</strong><br />

diantaranya adalah dibawah ini: kecuali<br />

a. Dependency optimasi<br />

b. Lokal optimasi<br />

c. Global optimasi<br />

d. Best Optimasi<br />

28. Tujuan dari dependency Optimasi adalah untuk<br />

a. Menghasilkan error kesalahan<br />

b. Mengbetulkan kesalahan<br />

c. Menghasilkan kode program yang kecil dan lebih cepat<br />

d. Menghasilkan execute file<br />

29. Yang dimaksud dengan optimasi lokal adalah<br />

a. Optimasi yang dilakukan hanya pada suatu blok daru source code<br />

b. Optimasi yang dilakukan dengan cara seperti graph terarah yang<br />

menunjukkan jalur yang mungkin selama execusi<br />

c. Menghasilkan kode program yang kecil dan lebih cepat<br />

d. Optimasi yang dilakukan oleh programmer<br />

30. Yang dimaksud dengan optimasi global adalah<br />

a. Optimasi yang dilakukan hanya pada suatu blok daru source code<br />

b. Optimasi yang dilakukan dengan cara seperti graph terarah yang<br />

menunjukkan jalur yang mungkin selama execusi<br />

c. Menghasilkan kode program yang kecil dan lebih cepat<br />

d. Optimasi yang dilakukan oleh interpreter<br />

Hari Soetanto Teknik Kompilasi @2004 60

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!