A. Glosarium
Teknik Optimasi
Optimasi adalah "proses
produksi efisiensi program melalui seleksi desain struktur data, algoritma,
urutan instruksi dan lainnya. Dengan kata lain optimasi adalah proses pembuatan
program dengan maksimal.
1.
Dependensi optimasi bertujuan untuk
menghasilkan kode program yang berukuran lebih kecil dan lebih cepat.
2.
Optimasi lokal adalah optimasi
yang dilakukan hanya pada bagian blok tertentu dari source code.di dalam
optimasi lokal terdapat lima (5) cara pengomptimasiannya.
a. Folding yaitu mengganti
konstanta atau ekspresi yang bisa dievaluasi pada saat compile time dengan
nilai komputasinya. misalnya : A = 5+4+B bisa di ganti dengan A=9+B karena 9
dapat menggantikan ekspresi 5+4.
b. Redundant-Subexpression Elimination : hasilnya digunakan
lagi dari pada dilakukan komputasi ulang, contohnya
A=B+C
X=Y+B+C
X=Y+B+C
dapat diganti dengan
c. Loop Unrolling : mengganti
suatu loop dengan menulis statement yang ada di dalam loop ditulis beberapa
kali, contoh:
For i=1 to 2 do
A[i]=0;
dapat diganti dengan
A[1]=0;
A[2]=0;
A[2]=0;
d. Frequency Reduction : pemindahan
statement ke tempat yang lebih jarang dieksekusi. Contoh
for i=1 to 10 do begin X=5 A=A+1 end karena
X itu diisi dengan nilai yang tetap yaitu 5 maka bisa dipindahkan menjadi
x=5 for i=1 to 10 do
begin A=A+1
end
e.Strength Reduction : penggantian suatu operasi dengan operasi lain yang lebih cepat dieksekusi, contoh A=A+1 dapat diganti dengan INC(A)
e.Strength Reduction : penggantian suatu operasi dengan operasi lain yang lebih cepat dieksekusi, contoh A=A+1 dapat diganti dengan INC(A)
3.
Optimasi Global : dilakukan
dengan suatu graph terarah yang menunjukan jalur yang mungkin selama eksekusi
program ada 2 kegunaan optimasi global
yaitu bagi programmer dan juga bagi copiler itu sendiri - bagi programmer
a.
Unreachable/dead code : kode yang tidak pernah dieksekusi contoh
x=5 if x=0 then A=A+1 intruksi A=A+1 tidak pernah dikerjakan karena kondisi x tidak pernah menjadi 0
x=5 if x=0 then A=A+1 intruksi A=A+1 tidak pernah dikerjakan karena kondisi x tidak pernah menjadi 0
b. Unused
parameter : parameter yang tidak pernah digunakan dalam procedure. Contoh procedure penjumlahan (a,b,c :integer)
var x:integer;
begin x=a+b;
end; parameter c tidak pernah
dugunakan sehingga tidak perlu diikut sertakan pada procedure
c. Unused
variable : variable yang tidak pernah dipergunakan. Contoh var a,b : integer;
begin
a=5
end
variable b tidak pernah dipergunakan dalam manipulasi sehingga tidak perlu dideklarasikan.
begin
a=5
end
variable b tidak pernah dipergunakan dalam manipulasi sehingga tidak perlu dideklarasikan.
d. Variable : variable yang
dipakai tanpa nilai awal. Contoh
var a,b : integer
begin
a=5
a=a+b
end
begin
a=5
a=a+b
end
variable b di
pergunakan tetapi tidak memiliki harga awal
- bagi compiler
a. meningkatkan
efisiensi eksekusi program
b. menghilangkan
useless code/kode yang tidak terpakai
B. Glosarium
Tabel Informasi
Tabel informasi
berguna untuk membantu pemeriksaan kebenaran semantik dari program sumber dan Untuk
membantu mempermudah dalam pembuatan intermediate code dan proses pembuatan
kodekode.
Ada beberapa jenis
Tabel Informasi
l
Tabel
identifier;
berfungsi menampung semua identifier
yang terdapat dalam program
l
Tabel
Array:
berfungsi menampung informasi tambahan untuk sebuah array
l
Tabel
blok:
mencatat varibel-variabel yang ada pada blok yang sama
l
Tabel
Real:
Menyimpan elemen tabel bernilai real
l
Tabel
string:
menyimpan informasi string
l
Tabel
display:
mencatat blok yang aktif
Tidak ada komentar:
Posting Komentar