Teknik Optimasi by kustanto

Slides:



Advertisements
Presentasi serupa
PROCEDURE Temu IX BANGHER.
Advertisements

Procedure pada Pascal ALPROG II
Dasar Komputer & Pemrog 2 A minggu 5. PROCEDURE DAN FUNCTION Procedure dan Function adalah suatu program yang terpisah dalam blok sendiri Dan memiliki.
PROCEDURE  PROCEDURE   Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan di dalam blok.
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
Teknik Kompilasi Febuari 2013.
RECORD.
PHP (2) Pemrograman Internet.
PERTEMUAN 2 Variabel, Ekspresi, Operator, dan Flow Control
TABEL INFORMASI / SIMBOL
Situasi Saat Program Berjalan (Run-time Environment)
Computer Science, University of Brawijaya Putra Pandu Adikara, S.Kom Algoritma dan Struktur Data SubAlgoritma (Prosedur & Fungsi)
Memori dan Scope Variabel
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.
STRUKTUR DATA (5) Pointer dan Function
Procedure & Function Sub Program.
Kuliah 12 Type Checking.
PROSEDUR.
Procedure , Function dan Parameter
Outline Awalnya dikembangkan oleh Borland dan umunya igunakan untuk paket perangkat lunak tingkat lanjut dengan kepustakaan yang lebih banyak dan.
STRUKTUR DATA Pointer dan Function
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Method, Array dan String
Tenia Wahyuningrum.  Struktur kontrol pengulangan Digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak beberapa kali.  Tipe: Pengulangan-while.
Cara Penanganan Kesalahan
PROCEDURE DAN FUNCTION
MATERI PERKULIAHAN TEKNIK KOMPILASI
PHP.
Materi Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
Materi Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
MODUL 3 PERULANGAN PERCABANGAN ARRAY
INTRODUCTION TO C++ Prepared by: Edi, SKom, MKM.
Tabel Informasi/ Tabel Simbol
Istiqomah, S.Kom/Tekkom 2013
Dasar-Dasar Pemrograman
TABEL INFORMASI atau TABEL SIMBOL
SUBRUTIN.
MINGGU I ALGORITMA & PEMROGRAMAN II
Struktur Data Tipe data & Struktur Data
Algoritma & Pemrograman 1
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
Pseudocode – Tipe Data, Variabel, dan Operator
created by PUTRA PUTRI DASPRO
Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom
ANALISIS LEKSIKAL (Scanner)
Teknik Optimasi.
TEKNIK OPTIMASI Menghasilkan kode program dengan ukuran yang lebih kecil, sehingga lebit cepat eksekusinya. Berdasarkan ketergantungan pada mesin : Machine.
ARRAY.
Tipe data & Variabel 1. Aturan Leksikal. 2. Operator. 3. Statement
Algoritma & Pemrograman 1
Procedure pada Pascal ALPROG II
Tipe data & Variabel 1. Aturan Leksikal. 2. Operator. 3. Statement
Procedure , Function dan Parameter
Pemrograman Dasar I Putu Hendra Tresnadana. S.
TEKNIK OPTIMASI Menghasilkan kode program dengan ukuran yang lebih kecil, sehingga lebit cepat eksekusinya. Berdasarkan ketergantungan pada mesin : Machine.
Pemrogram 1 Agus Darmawan, S.kom.
Konsep Bahasa Pemrograman I Operator
Procedure , Function dan Parameter
CREATED BY PUTRA PUTRI DASPRO
Ilustrasi Proses Kompilasi
TEKNIK OPTIMASI.
Semantics Analyser by Kustanto
Cara Penanganan Kesalahan
TEKNIK OPTIMASI.
SMK BINA INSAN Pemograman Dasar Operasi Aritmatika Dan Logika Yobi Saputra 22.
TEKNIK OPTIMASI & TABEL INFORMASI
Memori dan Scope Variabel
Transcript presentasi:

Teknik Optimasi by kustanto Kustanto,S.T.,M.Eng 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi by kustanto Optimasi Lokal Optimasi Global bertujuan untuk menghasilkan kode program yang berukuran lebih kecil dan lebih cepat 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi : Optimasi Lokal Optimasi Lokal : adalah optimasi yang dilakukan hanya pada suatu blok dari source code, dengan cara: Folding mengganti konstata atau ekpresi yang bisa dievaluasi pada saat compile time dengan nilai komputasinya. Misalnya: A := 2 + 3 + B bisa diganti dengan A:= 5 + B 5 dapat mengantikan ekspresi 2 + 3 Redundant-Subexpression Elimination hasilnya digunakan lagi dari pada dilakukan computasi ulang, contoh: A:= B + C X := Y + B + C 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi : Optimasi Lokal Contoh : FOR I := 1 to 2 DO A[I] := 0; //Pada contoh instruksi diatas , terdapat instruksi untuk inisialisasi I menjadi 1. Serta operasi penambahan nilai /increment 1 dan pengecekan nilai variabel I pada setiap perulangan. Shga untuk perulangan saja memerlukan 5 instruksi, ditambah dengan intruksi assignment pada tubuh perulangan menjadi 7 instruksi. dapat dioptimasikan menjadi A[1] := 0; A[2] := 0; Hanya memerlukan dua instruksi assignment saja. 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi by kustanto Teknik Optimasi : Optimasi Lokal Frequency Reduction: Pemindahan statement ke tempat yang lebih jarang dieksekusi, contoh FOR I:= 1 to 10 DO X := 5 //maka X bisa dikeluarkan dari iterasi tersebut; BEGIN FOR I:= 1 to 10 DO X := 5 //tidak terjadi perubahan; BEGIN A := A + 1 A := A + 1 END. END. 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi : Optimasi Lokal Strength Reduction Penggantian suatu operasi dengan operasi lain yang lebih cepat dieksekusi misalnya: pada komputer operasi perkalian memerlukan waktu eksekusi lebih banyak dari pada operasi penjumlahan contoh lain A:= A + 1 dapat digantikan dengan INC(A) 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi : Optimasi GLobal Optimasi global biasanya dilakukan dengan analisis Flow, yaitu suatu graph terarah yang menunjukkan jalur yang mungkin selama eksekusi program Ada dua kegunaan yaitu bagi programmer dan compiler itu sendiri Bagi Programmer Unreachable/dead code: Kode yang tidak pernah dieksekusi misalnya : X := 5; IF X = 0 THEN A := A + 1 Instruksi A := A + 1 tidak akan pernah dikerjakan 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi : Optimasi GLobal Unused parameter : parameter yang tidak pernah digunakan dalam procedure Misalnya : procedure penjumlahan(a,b,c ; Integer); var x : integer; begin x := a + b; end Parameter c tidak pernah digunakan sehingga tidak perlu diikut sertakan 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi : Optimasi GLobal Unsused Variabel : variabel yang yang tidak pernah dipergunakan dalam program, contoh: Program pendek; var a, b: integer begin a := 5; end; Variabel b tidak pernah digunakan dalam program, sehingga bisa dihilangkan 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi : Optimasi GLobal Variabel : variabel yang dipakai tanpa nilai awal. Contoh Program Awal; var a, b: integer begin a := 5 a := a + b; end; variabel b digunakan tetapi tidak memiliki harga awal Bagi Compiler Meningkatkan efisiensi eksekusi program Menghilangkan useless code/kode yang tidak terpakai dalam program 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi by kustanto Tugas 1. Lakukan optimasi lokal yang diperlukan pada potongan program berikut, dan jelaskan optimasi apa saja yang diterapkan: A:=B+10*4; C:=B+D; F:=B+D-G; FOR I:=1 to 100 Do BEGIN X:=X+I; A:=A+X; B:=7; END; 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi by kustanto Tugas 2. Apakah kita dapat melakukan optimasi Redundant Sub expression Elimination pada statement berikut, mengapa? a. A:=B+C; A:=X+Y; F:=B+D+G+H; b. A:=B+C; B:=X+Y; F:=B+C+G+H; 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi by kustanto Tugas 3. Bisakah kita melakukan optimasi frequency reduction pada loop berikut: 10 FOR I:=1 to 10 DO 20 A:=I+1; 30 Mengapa kita tidak dapat melakukan optimasi pada instruksi ke 20? 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi by kustanto Tabel Informasi Dua fungsi penting Tabel Informasi Untuk membantu pemeriksaan kebenaran semantik dari program sumber Untuk membantu dan mempermudah dalam pembuatan intermediate code dan proses pembuatan kode-kode (pembangkitan kode) 1/3/2019 Teknik Optimasi by kustanto

Tabel Informasi - Implementasi Ada beberapa jenis Tabel Informasi Tabel identifier; berfungsi menampung semua identifier yang terdapat dalam program Tabel Array: berfungsi menampung informasi tambahan untuk sebuah array Tabel Real: Menyimpan elemen tabel bernilai real Tabel string: menyimpan informasi string 1/3/2019 Teknik Optimasi by kustanto

Tabel Informasi - Identifier Untuk identifier, pencatatan dapat berupa seperti; Alamat relatif/address dari identifier untuk implementasi Informasi referensi dari identifier terntentu ke alamat tabel identifier yang lainnya link; menghubung antar identifier Normal: digunakan pada pemanggilan parameter, untuk membedakan parameter by value dan by reference Contoh (dalam pascal) 1/3/2019 Teknik Optimasi by kustanto

Tabel Informasi - Identifier Contoh kasus, terdapat sebuah listing program sebagai berikut: Program A; Var B : Integer; Procedure X (Z: char) var C : Integer begin ....... Tabel identifier akan mencatat semua identifier; 0 A 1 B 2 X 3 Z 4 C 1/3/2019 Teknik Optimasi by kustanto

Tabel Informasi - contoh Contoh implementasi tabel identifier: TabId: Array [0..tabmax] of record nama : String; link : integer; Obj : object; tipe : Types; ref : Integer; normal : Boolean; Level : 0.. Maxlevel; address : Integer; End; Dimana objek =(konstant, variabel, prosedur, fungsi) Types = (notipe, int, reals, booleans, chars, arrays, record 1/3/2019 Teknik Optimasi by kustanto

Tabel Informasi - Array Tabel Array dipergunakan untuk menyimpan informasi suatu identifier yang bertipe array, tabel ini memilik field: No. Urut suatu array dalam tabel Tipe dari indeks array yang bersangkutan Tipe element array Referensi dari elemen array Index batas atas dan bawah array Jumlah elemen array Ukuran total array (total = atas - bawah + 1) * elemen size Elemen size (ukuran tiap elemen) 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi by kustanto Tabel Array Tabel array diacu dengan field referensi pada tabel identifier. Contoh implementasi tabel array: TabArray: array [1…tabmax] of record indextype, elementype: types; elemenref, low, high, elemensize, tabsize:integer end; 1/3/2019 Teknik Optimasi by kustanto

Tabel Informasi - Implementasi Tabel Real Dipergunakan untuk menyimpan nilai dari suatu identifier yang bertipe real. Elemen-elemen dari tabel ini adalah sebagai berikut; NO urut elemen Nilai real suatu variabel real yang mengacu ke indeks tabel ini Contoh implementasi tabel real: TabReal: array [1.. Tabmax] of real; Pemikirannya disini setiap tipe yang memiliki oleh suatu bahasa akan memiliki tabelnya sendiri 1/3/2019 Teknik Optimasi by kustanto

Tabel Informasi - Implementasi Tabel String Dipergunakan untuk menyimpan informasi string yang terdapat pada program sumber. Elemen-elemen yang terdapat dalam tabel ini adalah: No urut elemen Karakter-karakter yang merupakan konstanta Contoh implementasi tabel string: TabString: array [1..tabmax] of string 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi by kustanto Tugas 1. Apa kegunaan tabel informasi, jelaskan? 2. Mengapa diperlukan referensi ke tabel lain dari tabel simbol, jelaskan? 1/3/2019 Teknik Optimasi by kustanto

Teknik Optimasi by kustanto TERIMA KASIH 1/3/2019 Teknik Optimasi by kustanto