Minggu, 06 April 2014

Teknik Optimasi



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
dapat diganti dengan 
A=B+C
X=Y+A (karena isi dari A sudah bisa mengganti B+C)
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;
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)
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
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.
d. Variable : variable yang dipakai tanpa nilai awal. Contoh var a,b : integer
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