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