SlideShare a Scribd company logo
TEKNIK OPTIMASI
   Menghasilkan kode program dengan
    ukuran yang lebih kecil, sehingga lebit
    cepat eksekusinya.

Berdasarkan ketergantungan pada mesin :
 Machine Dependent Optimizer

 Machine Independent Optimizer
Machine Independent Optimizer
   Optimasi Lokal
    Dilakukan hanya pada suatu blok dari
    source code.

   Optimasi Global
    Dilakukan dengan analisis flow, yaitu
    suatu graph berarah yang menunjukkan
    jalur yang mungkin selama eksekusi
    program.
Optimasi Lokal

1. Folding
   Nilai konstanta atau ekspresi pada saat
   compile time diganti dengan nilai
   komputasinya.
   Contoh instruksi :
            A:=2+3+B
     diganti menjadi
           A:=5+B
Optimasi Lokal

2. Redundant – Subexpression Elimination
   Menggunakan hasil komputasi terdahulu
   daripada melakukan komputasi ulang.
   Contoh urutan instruksi :
           A:=B+C
           X:=Y+B+C
     B+C redundan, bisa memanfaatkan hasil
     komputasi sebelumnya, selama tidak ada
  perubahan nilai pada variabel.
Optimasi Lokal

3. Optimasi dalam sebuah iterasi
    Loop Unrolling : menggantikan suatu loop

     dengan menulis statement dalam loop
     beberapa kali.
     Contoh instruksi :
          FOR I:=1 to 2 DO
             A[I]:=0;
Optimasi Lokal

     dioptimasi menjadi
           A[1] := 0;
           A[2] := 0;
 Pada instruksi pertama yang menggunakan iterasi
 perlu dilakukan inisialisasi setiap eksekusi loop,
 pengetesan, adjustment, dan operasi pada tubuh
 perulangan. Yang kesemuanya itu menghasilkan
 banyak instruksi. Karena itu dengan optimasi hanya
 memerlukan dua instruksi assignment.
Optimasi Lokal

     Frequency Reduction : memindahkan
      statement ke tempat yang lebih jarang
      dieksekusi.
      Contoh instruksi :
             FOR I:=1 TO 10 DO
             BEGIN
               X:=5;
               A:=A+1;
             END;
Optimasi Lokal

       variabel X dapat dikeluarkan dari iterasi,
       menjadi :
          X:=5;
          FOR I:=1 TO 10 DO
          BEGIN
              A:=A+1
          END;
Optimasi Lokal

4. Strength Reduction
  Mengganti suatu operasi dengan jenis
  operasi lain yang lebih cepat dieksekusi.
  Contoh :
      pada beberapa komputer operasi
  perkalian
      memerlukan waktu lebih banyak dari pada
  operasi penjumlahan.

More Related Content

PPTX
Teknik Optimasi - P8
PPTX
Alpro soal kelompok (9 soal) 2
PDF
Alg daspar (kuliah ke 4 )
DOCX
โครงการคัดกรองโรคทางหลอดเลือดและสุขภาพจิต ปี ๒๕๕๘
PPT
4.analisisleksikalfix
PDF
Evaluating software vulnerabilities using fuzzing methods
PDF
Evaluating software vulnerabilities using fuzzing methods
PPT
0. kontrak kuliah
Teknik Optimasi - P8
Alpro soal kelompok (9 soal) 2
Alg daspar (kuliah ke 4 )
โครงการคัดกรองโรคทางหลอดเลือดและสุขภาพจิต ปี ๒๕๕๘
4.analisisleksikalfix
Evaluating software vulnerabilities using fuzzing methods
Evaluating software vulnerabilities using fuzzing methods
0. kontrak kuliah

More from yuster92 (6)

PPT
7. cara penanganan kesalahan
PPT
6. analisis semantik
PPT
5. cf dan parsing
PPT
3. bhsregularfix
PPT
1. pendahuluan kompilasi
PPT
9. tabel informasi
7. cara penanganan kesalahan
6. analisis semantik
5. cf dan parsing
3. bhsregularfix
1. pendahuluan kompilasi
9. tabel informasi
Ad

8. ptk optimasi kode

  • 1. TEKNIK OPTIMASI  Menghasilkan kode program dengan ukuran yang lebih kecil, sehingga lebit cepat eksekusinya. Berdasarkan ketergantungan pada mesin :  Machine Dependent Optimizer  Machine Independent Optimizer
  • 2. Machine Independent Optimizer  Optimasi Lokal Dilakukan hanya pada suatu blok dari source code.  Optimasi Global Dilakukan dengan analisis flow, yaitu suatu graph berarah yang menunjukkan jalur yang mungkin selama eksekusi program.
  • 3. Optimasi Lokal 1. Folding Nilai konstanta atau ekspresi pada saat compile time diganti dengan nilai komputasinya. Contoh instruksi : A:=2+3+B diganti menjadi A:=5+B
  • 4. Optimasi Lokal 2. Redundant – Subexpression Elimination Menggunakan hasil komputasi terdahulu daripada melakukan komputasi ulang. Contoh urutan instruksi : A:=B+C X:=Y+B+C B+C redundan, bisa memanfaatkan hasil komputasi sebelumnya, selama tidak ada perubahan nilai pada variabel.
  • 5. Optimasi Lokal 3. Optimasi dalam sebuah iterasi  Loop Unrolling : menggantikan suatu loop dengan menulis statement dalam loop beberapa kali. Contoh instruksi : FOR I:=1 to 2 DO A[I]:=0;
  • 6. Optimasi Lokal dioptimasi menjadi A[1] := 0; A[2] := 0; Pada instruksi pertama yang menggunakan iterasi perlu dilakukan inisialisasi setiap eksekusi loop, pengetesan, adjustment, dan operasi pada tubuh perulangan. Yang kesemuanya itu menghasilkan banyak instruksi. Karena itu dengan optimasi hanya memerlukan dua instruksi assignment.
  • 7. Optimasi Lokal  Frequency Reduction : memindahkan statement ke tempat yang lebih jarang dieksekusi. Contoh instruksi : FOR I:=1 TO 10 DO BEGIN X:=5; A:=A+1; END;
  • 8. Optimasi Lokal variabel X dapat dikeluarkan dari iterasi, menjadi : X:=5; FOR I:=1 TO 10 DO BEGIN A:=A+1 END;
  • 9. Optimasi Lokal 4. Strength Reduction Mengganti suatu operasi dengan jenis operasi lain yang lebih cepat dieksekusi. Contoh : pada beberapa komputer operasi perkalian memerlukan waktu lebih banyak dari pada operasi penjumlahan.