Teknik Optimasi.

Slides:



Advertisements
Presentasi serupa
PROCEDURE Temu IX BANGHER.
Advertisements

PROCEDURE  PROCEDURE   Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan di dalam blok.
STRUKTUR PERULANGAN Statemen ini di gunakan untuk memproses statemen-statemen tertentu berulang kali. Struktur perulangan While … Do Jenis perulangan.
1. Apa tanggapan orang mengenai Good Code ? -“Kode yang baik tidak perlu, yang penting jalan!” -“Membuat kode yang baik hanya buang waktu saja” -“Customer.
Konsep Pemrograman Oleh Tita Karlita
JENIS PERULANGAN For..To..Do
MATERI 11. TAS Tanggal 30 Nopember 2011 (RABU). Jam 7-9 TUTUP BUKU Materi : 1-11.
Struktur Kontrol Struktur kontrol merupakan pengatur aliran program
Computer Science, University of Brawijaya Putra Pandu Adikara, S.Kom Algoritma dan Struktur Data Seleksi Kondisi.
Kondisional Inti dari sebuah program adalah bagaimana mengambil keputusan berdasarkan masukan yang ada Pengambilan keputusan dilakukan dengan eksekusi.
Struktur Kontrol #2 Perulangan
Algoritma dan Struktur Data
Situasi Saat Program Berjalan (Run-time Environment)
PEMROGRAMAN TERSTRUKTUR
Web Teknologi 2Minggu …3… Page 1 MINGGU Ke Tiga Pemrograman Visual 2 Pokok Bahasan: Dasar-dasar Pengembangan Web ASP.NET Tujuan Instruksional Khusus:
ALGORITMA PSEUDOCODE Pertemuan Ke-2 Meilia Nur Indah Susanti, ST.,MKom
Teknik Optimasi.
TEKNIK OPTIMASI.
Selamat datang Di Prosedur dan Fungsi. Sub Program “Adl Program kecil yg dpt di panggil berulang-ulang sesuai dg kebutuhan”  Manfaatnya: 1.Memudahkan.
Procedure & Function Sub Program.
Pemograman 1 Pertemuan 6.
PL/SQL PROGRAMMING PL/SQL adalah prosedur berkelanjutan dari Oracle -SQL yang menawarkan satu bentuk bahasa pemrograman. PL/SQL memungkinkan user atau.
STORED PROCEDURE Achmad Yasid, SKom.
Procedure , Function dan Parameter
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Operator Fungsi Logika Perulangan
Variabel, Konstanta, Tipe Data Dan Operator pada VB
Fungsi dan Prosedur.
Pengulangan.
STRUKTUR PERULANGAN BAG 2 ( STRUKTUR WHILE DO & REPEAT UNTIL )
PROCEDURE DAN FUNCTION
MATERI PERKULIAHAN TEKNIK KOMPILASI
STRUKTUR DASAR ALGORITMA
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu: Istiqomah, s.kom
Istiqomah, S.Kom/Tekkom 2013
Cara Penanganan Kesalahan
PERULANGAN WHILE.
SUBRUTIN.
Algoritma Pemrograman
Analisa Semantik, Kode Antara,
Struktur Kontrol Perulangan
Analisis semantik, kode antara dan pembangkitan kode
Iterasi ( Perulangan ).
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
Struktur Kontrol Struktur kontrol merupakan pengatur aliran program
Semantics Analyser Contoh : A := ( A+B) * (C+D)
Pengulangan.
Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom
STRUKTUR KONDISI Pertemuan Ke-6.
Perulangan (LOOPING)   Jika dibandingkan dengan computer, manusia mempunyai kekurangan. Salah satu kekurangannya adalah manusia tidak mampu melaksanakan.
Analisa Semantik, Kode Antara,
Cara Penanganan Kesalahan
TEKNIK OPTIMASI Menghasilkan kode program dengan ukuran yang lebih kecil, sehingga lebit cepat eksekusinya. Berdasarkan ketergantungan pada mesin : Machine.
PERCABANGAN DAN PERULANGAN
Oleh : UMMU ZAHRA ALGORITMA.
Flow Control & Exception Handling
PERULANGAN.
ALGORITMA DAN PEMROGAMAN
Pemrograman Dasar I Putu Hendra Tresnadana. S.
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
TEKNIK OPTIMASI Menghasilkan kode program dengan ukuran yang lebih kecil, sehingga lebit cepat eksekusinya. Berdasarkan ketergantungan pada mesin : Machine.
Pemrograman Repetisi pada Pascal Ramos Somya, S.Kom., M.Cs.
STRUKTUR DASAR ALGORITMA
Dasar-Dasar Pemrograman
Teknik Optimasi by kustanto
TEKNIK OPTIMASI.
TEKNIK OPTIMASI.
TEKNIK OPTIMASI & TABEL INFORMASI
Memori dan Scope Variabel
Transcript presentasi:

Teknik Optimasi

Dependensi Optimasi Tahapan optimasi kode yang bertujuan untuk menghasilkan kode program yang berukuran lebih kecil dan lebih cepat eksekusinya. Berdasarkan ketergantungannya pada mesin, optimasi dibagi menjadi : Machine Dependent Optimizer Kode dioptimasi sehingga lebih efisien pada mesin tertentu. Machine Independent Optimizer Strategi optimasi yang bisa diaplikasikan tanpa tergantung pada mesin tujuan tempat kode yang dihasilkan akan dieksekusi nantinya. Optimasi yang dilakukan meliputi optimasi lokal dan optimasi global.

Optimasi Lokal Optimasi Lokal adalah optimasi yang dilakukan hanya pada suatu blok dari source code. Caranya sebagai berikut : Folding Redudant-Subexpression Elimination Optimasi dalam sebuah iterasi Strength Reduction

Folding Mengganti konstanta atau ekspresi yang bisa dievaluasi pada saat compile time dengan nilai komputasinya. Misalnya : A := 2 + 3 + B Bisa diganti menjadi A := 5 + B dimana 5, menggantikan ekspresi 2 + 3

Redundant-Subexpression Elimination Menggunakan hasil komputasi terdahulu daripada melakukan komputasi ulang Misalnya terdapat urutan instruksi : A := B + C X := Y + B + C Kemunculan B + C yang bersifat redundan, bisa memanfaatkan hasil komputasi sebelumnya selama tidak ada perubahan nilai variabel.

Optimasi dalam sebuah iterasi Terdiri dari 2 macam Loop Unrolling Frequency Reduction

Optimasi dalam sebuah iterasi Loop Unrolling Menggantikan suatu loop dengan menulis statement dalam loop beberapa kali Hal ini karena sebuah iterasi pada implementasi level rendah akan memerlukan operasi : Inisialisasi/pemberian nilai awal pada variabel loop. Dilakukan sekali pada saat permulaan eksekusi loop. Pengetesan, apakah variabel loop telah mencapai kondisi terminasi. Adjustment, yaitu penambahan atau pengurangan nilai pada variabel loop dengan jumlah tertentu. Operasi yang terjadi pada tubuh perulangan (loop body)

Optimasi dalam sebuah iterasi Loop Unrolling Contoh instruksi : FOR I := 1 to 2 DO A [I] := 0 ; Terdapat instruksi untuk inisialisasi I menjadi 1. Serta operasi penambahan nilai/increment 1 dan pengecekan nilai variabel I pada setiap perulangan. Sehingga untuk perulangan saja memerlukan 5 instruksi, ditambah dengan instruksi assignment pada tubuh perulangan menjadi 7 instruksi. Dioptimasi menjadi A [1] := 0 ; A [2] := 0 ; Sehingga haya memerlukan 2 instruksi assignment saja

Optimasi dalam sebuah iterasi Frequency Reduction Pemindahan statement ke tempat yang lebih jarang dieksekusi. Contoh : FOR I := 1 TO 10 DO BEGIN X := 5 ; A := A + I ; END ; Variabel X dapat dikeluarkan dari iterasi menjadi X := 5 ; FOR I := 1 TO 10 DO BEGIN A := A + I ; END ;

Strength Reduction Mengganti suatu operasi dengan jenis operasi lain yang lebih cepat dieksekusi. Misalnya, pada beberapa computer operasi perkalian memerlukan waktu lebih banyak dari pada operasi penjumlahan, oleh karena itu bias dilakukan pengehematan waktu dengan mengganti operasi perkalian tertentu dengan penjumlahan. Contoh lainnya : A := A + 1 dapat diganti dengan INC (A) ;

Optimasi Global Optimasi global biasanya dilakukan dengan analisis flow, yaitu suatu graph berarah yang menunjukkan jalur yang mungkin selama eksekusi program. Ada 2 kegunaan optimasi global, yaitu Bagi programmer Bagi kompilator itu sendiri

Bagi Programmer menginformasikan Unreachable / dead code : kode yang tidak akan pernah dieksekusi. Misalnya : X := 5 IF X = 0 THEN A := A + 1 Instruksi A := A + 1 tidak akan pernah dieksekusi

Bagi Programmer menginformasikan Unused parameter pada prosedur Parameter yang tidak pernah digunakan di dalam prosedur Misalnya : Procedure Jumlah (a,b,c : integer) var x : integer begin x := a + b end ; Parameter c tidak pernah digunakan di dalam prosedur, sehingga seharusnya tidak perlu diikutsertakan.

Bagi Programmer menginformasikan Unused variabel Variabel yang tidak pernah dipakai di dalam program Misalnya : Program pendek; var a, b : integer; begin a := 5; end ; Variabel b tidak pernah dipergunakan di dalam program, sehingga bias dihilangkan.

Bagi Programmer menginformasikan Variabel yang dipakai tanpa nilai awal Misalnya : Program awal; var a, b : integer; begin a := 5; a := a + b; end ; Variabel b digunakan tanpa memiliki nilai awal/belum di-assign

Bagi Kompilator Meningkatkan efisiensi eksekusi program Menghilangkan useless code/ kode yang tidak terpakai.