6. Hari Soetanto Teknik Kompilasi @2004 6
4
)
?
, :
5
6 :
9 :
6
Bits on magnetic disk
0 1The Bit
The Byte
A byte is 8 binary digits, or cells.
Bits on magnetic tape
In a 16 megabyte memory, there are 16
million of these 8-bit structures.
Bytes in memory
1955
2,000
bits per sq. in.
1995
250,000,000
bits per sq. in.
1 10 11 00 0
The bit is the smallest element of computer storage. It is a positive or
negative magnetic spot on disk and tape and charged cells in memory.
12. Hari Soetanto Teknik Kompilasi @2004 12
? 6
9
6 6 7 8
B
• / 6 :
6
• / 7 8 ; :;
: : 9
:
• / I#:I"
6 D
•
• !"I") 5 1
5
• 7!"#-8 ; 1
) 07 0 8
*
J K *#+! J : K #
J : K J K L J K7 J : K
J K J; K (8J 1 K
J'1 K J K L J KJ !K J 1 K
13. Hari Soetanto Teknik Kompilasi @2004 13
J K J5 K L J5 K J ,K J K
J5 K J; K L J K
J; K L*L ML 9
J !K 3 L : L F
J ,K :L E L >
J K J N K L J N K
J N K J N K J5 K
J N K J K L J N K J K
J5 K J K L J K J5 K
J K -L!LML"
)
.F!B
) .F 3 ,
'
24. Hari Soetanto Teknik Kompilasi @2004 24
" 2 "B
)
:
1 / 1
.
• : 17 18
1
• ( . : 5
• ( 1
• : : 7 8
• 1
• "
P Q
6
• / . 4 C * 6 D 4 C 6
• . = ?-= ?)= 2 ?
25. Hari Soetanto Teknik Kompilasi @2004 25
J'1 K
J/ K
J K D J0 K
J5 K 4 J 1 K 6
4 J'1 K 6 J'1 K C J K
J'1 K C J K J K J5 K
J K J5 K J5 K
J5 K *
" 2
• > 7 1 >
8
: ; 6 :
• . → )
→ L
) → ) L )
26. Hari Soetanto Teknik Kompilasi @2004 26
)
)
)
•
.
• 75 ; 8 . ;
7 8
• 7 ; 8. ;
7 8
• .
• 15 . → L
→ L
• . FK
FK
FK
FK
FK
• . FK
FK
FK
FK
FK
27. Hari Soetanto Teknik Kompilasi @2004 27
• . :K ) L
:K L L
) :K L L ))
)
) )
) )
)
28. Hari Soetanto Teknik Kompilasi @2004 28
$
C .
• $ '
•
•
% 6 .
• >
5 9
.
) > . ) 0
. & ;
• * >
5
( *
•
• : 1
• ) 6 7 8
• : 9
:
•
→ L )
→ L
) → L
32. Hari Soetanto Teknik Kompilasi @2004 32
• 5 B
% %
→ α! L α, L L α
% % %
→ β! L β, L L β
• : 5 .
! → β! U L β, U L L β U
, U → α! L α, L L α
C U → α! U L α, U L L α U
•
; U! U, ;
5
( / ) 15
→ L L L 55L
5
→→→→ <
& . α!F α,F
5
→ L L 55
& . β! F β, F βCF55
2 5
→ L
33. Hari Soetanto Teknik Kompilasi @2004 33
! → 9. L 9.L 559.
,/ U! → L
C U! → 9.L 9.
5
) .
→ L L 55
→ 9. L 9.L 559.
U! → L
U! → 9.L 9.
• 5
5
9
• 6
9
7 8
• 5
( 5
5
• 15
• ;
• ) 1
; >
• 5 ; 9
• / 7 8
• ) 6
35. Hari Soetanto Teknik Kompilasi @2004 35
.
• :
7 8
o %
6 5
o
5
•
:
B
• 1 !
5
• )
6
<
7
8
36. Hari Soetanto Teknik Kompilasi @2004 36
<
•
6
6
• 2 <
• 4 2
7 8
• <
• , 9
5
" 2 >
& !F
J4 K J4 K J4 K
.
7 3 8 E 7 3 8
51
3 3 E
6 51
! J 1 K 3# J !K #' #J ,K
37. Hari Soetanto Teknik Kompilasi @2004 37
51 6 B
J 1 K J !K *9 J !K J ,K * J ,K
)U . ) 5O 7 8
)&.
. ! K 3# .F #' # .F
51
!!
!,
!C K
!D ,,
!I )U
!#
!%
!G .F
!"
,-,I
,! )&
,,
,C
,D .F
,I
1 7K 8 ,, ) 1 7K 8
6 !#:!G ,I
.
G3!'#J 1 K &J K
51 6 B J 1 K J !K *9 J K J ,K *
< . .F!
$ <2' JI 4
.F 3 !
38. Hari Soetanto Teknik Kompilasi @2004 38
51
!-
!! !
!, .F
!C
!D I
!I J
!# ,#
!% )U
!G
!"
,-!
,! !
,, .F
,C
,D !C
,I)&
!'# & !&
5
J K J K J K
.
.F E 3 ) >'
* .
! E
, >) '
C 3 7!8 7,8
D .F 7C8
7 8
6
39. Hari Soetanto Teknik Kompilasi @2004 39
(
<0V K W/ '
V .F :
'2 '
V .F 3
< .
! K V W
, )U 7!8 7#8 ! #
C :
D .F V 7C8
I )& 7G8
# 3
% .F V 7#8
% %
- % % % ! " % 7
2 <
B
.F) 3 E >'
0.F E
2 < 2 '
! E ! !
, > 7!8 ' , ,
C 3 ) 7,8 C C
D .F 7C8 D D
I .F 0 7!8 I !
# I
40. Hari Soetanto Teknik Kompilasi @2004 40
H
0 H
J K J K J K J K
& ;
;
.
.F E 3 ) >'
* .
! E /!
, > ) ' /,
C 3 /! /,
• 7 8
• < 5
•
73)8E73 8 6 H .
! 3 ) /!
, 3 /,
C E /! /, /C
.
2 7 8
) 7 6 )8
/4 /! 7 /!8
2
41. Hari Soetanto Teknik Kompilasi @2004 41
/4 /,
2 /!
?2 /,
/4 /C
6 .
2
)
/4 /!
2
?2 /!
/4 /,
, %
Source
Program
X = Y + X
Analisis
Leksikal
Analisis
Sintaksis
Code Generator
dan Analisis
sematiks
Tabel
Simbol
Token-token
Id1:=Id2+Id1
LDA A
ADD Y
STO X
<assign>
Id1 := <Expr>
Id2 + Id1
52. Hari Soetanto Teknik Kompilasi @2004 52
/ <5 : < 5
! B
? 5
< 5
* 5 B 5 ;
/ 5 B < 7 8
5
; 5 7 5 8B 5
; -
? 5 B
5> 5
<5 5 5 5
B 5
.
; 5
7 8
B
R ) . < B
V 7U. 8
; . <
53. Hari Soetanto Teknik Kompilasi @2004 53
% 7
-
! )
, V
C U
D
/ <. X- 1Y 5
. B
. B
4 6 . 6 B
/ . / B
5 . < B
. ) B
2 ; . - 1 ; B
. < B
6 F7 ; 5 8
/ F7
/ <5 :
"
5 5
5 .
?
/
/
&5
54. Hari Soetanto Teknik Kompilasi @2004 54
< 1 9
*
? 7 F : 9 3 !8 1 O
' O
* %
5 :
) 5
9
> O
; >; O
;
R ) . < B
V 7U. 8B
R . < B
? ) ) *
; F, D
R O F, 7 , 8 ,
2 F-7 8 C
O F- ! 7 ! 8
56. Hari Soetanto Teknik Kompilasi @2004 56
Soal-soal Latihan Teknik Kompilasi
Soal Multiple choice
1. Yang disebut dengan bahasa mesin adalah suatu bahasa yang:
a. Sangat sukar dan sangat sedikit kemungkinannya untuk membuat
compiler dengan bahasa jenis ini
b. Fasilitas yang dimiliki lebih baik
c. Memiliki ukuran yang relatif besar
d. Lebih mudah dipelajari
2. Yang disebut dengan bahasa assembly adalah suatu bahasa yang:
a. Sangat sukar dan sangat sedikit kemungkinannya untuk membuat
compiler dengan bahasa ini
b. Fasilitas yang dimiliki lebih Sedikit
c. Memiliki ukuran yang relatif besar
d. Lebih mudah dipelajari
3. Yang disebut dengan bahasa Tingkat tinggi adalah suatu bahasa yang:
a. Sangat sukar dan sangat sedikit kemungkinannya untuk membuat
compiler dengan bahasa ini
b. Fasilitas yang dimiliki lebih Sedikit
c. Memiliki ukuran yang relatif kecil
d. Lebih mudah dipelajari
4. Yang dimaksud dengan BootSrap, adalah
a. Bagaimana orang mengerti bahasa mesin
b. Penggunaan bahasa tingkat tinggi
c. Untuk membangun sesuatu yang besar dibangun dulu bagian intinya
d. Untuk menghidupkan komputer
5. Noam chomsky melakukan penggolongan tingkatan dalam bahasa, dikenal
dengan istilah
a. BNF
b. Chomsky Hierarky
c. Tata Bahasa
d. Grammar
6. Aturan produksi yang ada menggunakan simbol-simbol:
a. α → β
b. A → b
c. β → α
d. b → A
7. Menurut comsky terdapat 4 penggolongan dalam aturan produksi, yang
termasuk pada kategori Unrestricted: Tidak Ada batasan pada aturan
produksi, adalah
57. Hari Soetanto Teknik Kompilasi @2004 57
a. Tipe 0
b. Tipe 1
c. Tipe 2
d. Tipe 3
8. Menurut comsky terdapat 4 penggolongan dalam aturan produksi, yang
termasuk pada kategori Context sensitive: Panjang string ruas kiri harus lebih
kecil atau sama dengan ruas kanan, adalah
a. Tipe 0
b. Tipe 1
c. Tipe 2
d. Tipe 3
9. Menurut comsky terdapat 4 penggolongan dalam aturan produksi, yang
termasuk pada kategori Context Free Grammar: Ruas kiri haruslah tepat satu
simbol variable, adalah
a. Tipe 0
b. Tipe 1
c. Tipe 2
d. Tipe 3
10.Menurut comsky terdapat 4 penggolongan dalam aturan produksi, yang
termasuk pada kategori Regular: Ruas kanan hanya memiliki maksimal 1
simbol terminal dan diletakkan paling kanan sendiri, adalah
a. Tipe 0
b. Tipe 1
c. Tipe 2
d. Tipe 3
11.Yang dimaksud dengan Diagram State, pada teknik Kompilasi adalah
a. Digunakan untuk mendapatkan token, mempermudah melakukan analisis
lexical
b. Digunakan untuk mendapatkan token, mempermudah melakukan analisis
syntax
c. Aturan produksi yang dikenalkan oleh comsky
d. Simbol terminal
12.Yang dimaksud dengan TOKEN, pada teknik Kompilasi adalah
a. Digunakan untuk mendapatkan token, mempermudah melakukan analisis
lexical
b. Digunakan untuk mendapatkan token, mempermudah melakukan analisis
syntax
c. Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis
d. Simbol terminal
13.Yang dimaksud dengan Diagram Syntax, pada teknik Kompilasi adalah
58. Hari Soetanto Teknik Kompilasi @2004 58
a. Digunakan untuk mendapatkan token, mempermudah melakukan analisis
lexical
b. Digunakan untuk mendapatkan token, mempermudah melakukan analisis
syntax
c. Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis
d. Simbol terminal
14.Translator yang Source codenya adalah bahasa assembly, dan Object code
adalah bahasa mesin, disebut dengan
a. Assembler
b. Compiler
c. Interpreter
d. Suplier
15.Translator yang Source code nya adalah bahasa tingkat tinggi, object code
adalah bahasa mesin atau bahasa assembly. Source code dan data diproses
berbeda, disebut dengan :
a. Assembler
b. Compiler
c. Interpreter
d. Suplier
16.Translator yang idak menghasilkan bentuk object code, tetapi hasil
translasinya hanya dalam bentuk internal, dimana program induk harus selalu
ada-berbeda dengan compiler, disebut dengan :
a. Assembler
b. Compiler
c. Interpreter
d. Suplier
17.Memgelompokkan program asal/sumber menjadi token disebut dengan
a. Scanner
b. Parser
c. Lexicer
d. Interpreter
18.Yang bertugas untuk memeriksa kebenaran dan urutan dari token-token yang
terbentuk oleh scanner, disebut dengan:
a. Scanner
b. Parser
c. Lexicer
d. Interpreter
19.Tugas dari anlysis lexixal adalah
a. Mentransformasikan ke dalam bentuk token-token
b. Proses pendeteksian token-token
59. Hari Soetanto Teknik Kompilasi @2004 59
c. Untuk mengenali makna dari simbol-simbol
d. Memeriksa variabel sudah dideklarasikan atau belum
20.Tugas dari Semantics analyser adalah
a. Mentransformasikan ke dalam bentuk token-token
b. Proses pendeteksian token-token
c. Untuk mengenali makna dari simbol-simbol
d. Memeriksa variabel sudah dideklarasikan atau belum
21.Tugas dari Syntax analyser adalah
a. Mentransformasikan ke dalam bentuk token-token
b. Proses pengelompokan token-token kedalam class syntax
c. Untuk mengenali makna dari simbol-simbol
d. Memeriksa variabel sudah dideklarasikan atau belum
22.Tugas dari Intermidiate code, adalah
a. Mentransformasikan ke dalam bentuk token-token
b. Proses pengelompokan token-token kedalam class syntax
c. Memperkecil usaha dalam membuat compilator dari sejumlah bahasa ke
sejumlah mesin
d. Memeriksa variabel sudah dideklarasikan atau belum
23.Fungsi dari Tabel simbol, adalah :
a. Mentransformasikan ke dalam bentuk token-token
b. Proses pengelompokan token-token kedalam class syntax
c. Memperkecil usaha dalam membuat compilator dari sejumlah bahasa ke
sejumlah mesin
d. Menindak lanjuti untuk perbaikan
24.Rekasi-reaksi yang tidak dapat diterima pada suatu compiler adalah; kecuali
a. Compiler crash: hang
b. Looping
c. Mengahasilkan obyek yang salah
d. Menemukan kesalahan yang pertama
25.Rekasi-reaksi yang benar, tapi kurang diterima pada suatu compiler adalah;
a. Compiler crash: hang
b. Looping
c. Mengahasilkan obyek yang salah
d. Menemukan kesalahan yang pertama
26.Rekasi-reaksi yang dapat diterima pada suatu compiler adalah; kecuali
a. Recovery
b. Repair
c. Mengkoreksi kesalahan
d. Menemukan kesalahan yang pertama
60. Hari Soetanto Teknik Kompilasi @2004 60
27.Pada teknik Optimasi di tahapan compiler, ada beberapa teknik kompilasi
diantaranya adalah dibawah ini: kecuali
a. Dependency optimasi
b. Lokal optimasi
c. Global optimasi
d. Best Optimasi
28.Tujuan dari dependency Optimasi adalah untuk
a. Menghasilkan error kesalahan
b. Mengbetulkan kesalahan
c. Menghasilkan kode program yang kecil dan lebih cepat
d. Menghasilkan execute file
29.Yang dimaksud dengan optimasi lokal adalah
a. Optimasi yang dilakukan hanya pada suatu blok daru source code
b. Optimasi yang dilakukan dengan cara seperti graph terarah yang
menunjukkan jalur yang mungkin selama execusi
c. Menghasilkan kode program yang kecil dan lebih cepat
d. Optimasi yang dilakukan oleh programmer
30.Yang dimaksud dengan optimasi global adalah
a. Optimasi yang dilakukan hanya pada suatu blok daru source code
b. Optimasi yang dilakukan dengan cara seperti graph terarah yang
menunjukkan jalur yang mungkin selama execusi
c. Menghasilkan kode program yang kecil dan lebih cepat
d. Optimasi yang dilakukan oleh interpreter