TEKNIK OPTIMASI & TABEL INFORMASI

Slides:



Advertisements
Presentasi serupa
PROCEDURE Temu IX BANGHER.
Advertisements

Pengayaan Software/Hardware dan Pengantarmukaan
PROCEDURE  PROCEDURE   Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan di dalam blok.
RECORD.
STRUKTUR DATA PERTEMUAN 5
TABEL INFORMASI / SIMBOL
Situasi Saat Program Berjalan (Run-time Environment)
Web Teknologi 2Minggu …3… Page 1 MINGGU Ke Tiga Pemrograman Visual 2 Pokok Bahasan: Dasar-dasar Pengembangan Web ASP.NET Tujuan Instruksional Khusus:
Memori dan Scope Variabel
Teknik Optimasi.
Analisis Semantik.
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.
PROSEDUR.
PL/SQL PROGRAMMING PL/SQL adalah prosedur berkelanjutan dari Oracle -SQL yang menawarkan satu bentuk bahasa pemrograman. PL/SQL memungkinkan user atau.
Pemprograman Terstruktur 1
Outline Awalnya dikembangkan oleh Borland dan umunya igunakan untuk paket perangkat lunak tingkat lanjut dengan kepustakaan yang lebih banyak dan.
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Cara Penanganan Kesalahan
Pertemuan 13 Code Genarator
MATERI PERKULIAHAN TEKNIK KOMPILASI
Materi Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
Materi Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu: Istiqomah, s.kom
Tabel Informasi/ Tabel Simbol
Istiqomah, S.Kom/Tekkom 2013
Cara Penanganan Kesalahan
Dasar-Dasar Pemrograman
TABEL INFORMASI atau TABEL SIMBOL
Array/larik ,procedure & fungsi
SUBRUTIN.
Algoritma Pemrograman
Analisa Semantik, Kode Antara,
Analisis semantik, kode antara dan pembangkitan kode
Struktur Data Tipe data & Struktur Data
Algoritma & Pemrograman 1
SEMANTIKS Pertemuan Ke-3.
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
Pseudocode – Tipe Data, Variabel, dan Operator
Semantics Analyser Contoh : A := ( A+B) * (C+D)
Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom
STRUKTUR KONDISI Pertemuan Ke-6.
ANALISIS LEKSIKAL (Scanner)
Analisa Semantik, Kode Antara,
Teknik Optimasi.
Cara Penanganan Kesalahan
TEKNIK OPTIMASI Menghasilkan kode program dengan ukuran yang lebih kecil, sehingga lebit cepat eksekusinya. Berdasarkan ketergantungan pada mesin : Machine.
Algoritma & Pemrograman 1
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
CARA PENANGAN KESALAHAN
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.
Pemrogram 1 Agus Darmawan, S.kom.
Pemrograman Repetisi pada Pascal Ramos Somya, S.Kom., M.Cs.
Ilustrasi Proses Kompilasi
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Teknik Optimasi by kustanto
TEKNIK OPTIMASI.
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Semantics Analyser by Kustanto
CARA PENANGAN KESALAHAN
TEKNIK OPTIMASI.
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
SMK BINA INSAN Pemograman Dasar Operasi Aritmatika Dan Logika Yobi Saputra 22.
KODE ANTARA,PEMBANGKITAN KODE,PENANGANAN
Memori dan Scope Variabel
Transcript presentasi:

TEKNIK OPTIMASI & TABEL INFORMASI Kelompok 5 Ari Yudistira (10115960) Bagaskara Cahya (11115239) Hendri Waradana (terlambat) (13115115) Mutiara Shanti DS (14115869) Naufal Akmal (tidak hadir) (14115999) Satria Wibowo (terlambat) (16115424) TEKNIK OPTIMASI & TABEL INFORMASI

TEKNIK OPTIMASI Bab 9

Pengertian Teknik Optimasi Berasal dari kata Optimal = paling bagus/tinggi, tertinggi, terbagus, paling menguntungkan. Jadi, Teknik Optimasi merupakan suatu teknik guna untuk mengoptimalkan dan menjadikannya paling bagus atau paling baik.

Tahapan Teknik Optimasi Dependensi Optimasi Optimasi Lokal Optimasi Global

1. Dependensi Optimasi Dependensi optimasi merupakan tahapan optimasi kode yang bertujuan untuk menghasilkan kode program yang berukuran lebih kecil dan lebih cepat eksekusinya.  Berdasarkan ketergantungan pada mesin : Machine Dependent Optimizer Machine Independent Optimizer

Machine Dependent Optimizer VS Machine Independent Optimizer Optimasi ini memerlukan informasi mengenai feature yang ada pada mesin tujuan dan mengambil keuntungan darinya untuk menghasilkan kode yang lebih pendek atau dieksekusi lebih cepat. Strategi optimasi yang bisa diaplikasikan tanpa tergantung pada mesin tujuan tempat kode yang dihasilkan akan dieksekusi nantinya.

2. Optimasi Lokal Dilakukan hanya pada suatu blok dari source code.

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

B. 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.

C. Optimasi dalam sebuah iterasi Loop Unrolling Frequency Reduction Menggantikan suatu loop dengan menulis statement dalam loop beberapa kali. Contoh instruksi : FOR I:=1 to 2 DO A[I]:=0; dioptimasi menjadi A[1] := 0; A[2] := 0; Memindahkan statement ke tempat yang lebih jarang dieksekusi. Contoh instruksi : FOR I:=1 TO 10 DO BEGIN X:=5; A:=A+1; END; X:=5; FOR I:=1 TO 10 DO BEGIN A:=A+1; END;

D. 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.

3. Optimasi Global Dilakukan dengan Analisis Flow, yaitu suatu graph berarah yang menunjukkan jalur yang mungkin selama eksekusi program. Kegunaan Optimasi Global bagi pemrogram : A. Unreachable/dead code : kode yang tidak akan pernah dieksekusi. X:=5; IF X:=0 THEN A:=A+1

B. Unused parameter pada prosedur : parameter yang tidak akan pernah digunakan didalam prosedur Procedure Jumlah (a,b,c:integer); var x: integer begin x:=a+b end;

C. Unused Variable : Variabel yang tidak pernah dipakai dalam program Program Pendek; var a,b:integer; begin a:=5; end;

D. Variabel yang dipakai tanpa nilai awal D. Variabel yang dipakai tanpa nilai awal. Program awal; var a,b: integer; begin a:=5; a:=a+b; end; kita lihat variabel b digunakan tanpa memiliki nilai awal/belum di-assign.

Kegunaan Optimasi Global bagi Kompilator : A Kegunaan Optimasi Global bagi Kompilator : A. Meningkatkan efisiensi eksekusi program. B. Menghilangkan useless code/kode yang tidak terpakai.

TABEL INFORMASI Bab 10

A. Pengertian & Fungsi Tabel Informasi Tabel informasi atau table symbol dibuat guna mempermudah pembuatan dan implementasi dari Semantic Analyzer. Fungsi : 1. Membantu pemeriksaan kebenaran semantik dari program sumber. 2. Membantu dan mempermudah pembuatan intermediate code dan proses pembangkitan kode.

B. Jenis Tabel Informasi

1. Tabel Identifier Berfungsi menampung semua dentifier yang terdapat dalam program. Tabel Identifier akan mencatat semua identifier : Contoh : Program A; 0 A var B : integer; 1 B Procedure X(Z:char); 2 X var C : integer 3 Z Begin 4 C …….

2. Tabel Array Berfungsi menampung informasi tambahan untuk sebuah array. Contoh implementasi Tabel Array : TabArray : array [1...tabmax] of record indextype, elementype : types; elemenref, low, high, elemensize, tabsize : integer end;

3. Tabel Blok Mencatat variabel-variabel yang ada pada blok yang sama. Dari contoh listing program berikut : Contoh implementasi tabel blok : Program a; TabBlok: array [1..tabmax] of var B: integer; record Procedure X(Z:char); lastvar, lastpar, parsize, varsize: integer; var C : integer Begin end; …….

Akan diperoleh, untuk blok Program A : last variable = 2 variable size = 2 (dianggap integer butuh dua byte) last parameter = 0 (tanpa parameter) parameter size = 0 Untuk blok Procedure X : last variable = 4 variable size = 2 last parameter = 3 parameter size = 1 (dianggap char butuh satu byte)

4. Tabel Real Menyimpan elemen tabel bernilai real. Contoh implementasi tabel real : TabReal : array [1..tabmax] of real (pemikiran : setiap tipe yang dimiliki oleh suatu bahasa akan memiliki tabelnya sendiri)

5. Tabel String Menyimpan informasi string. Contoh implementasi tabel string : TabString : array [1..tabmax] of string

6. Tabel Display Mencatat blok yang aktif. Pengisian tabel display dilakukan dengan konsep stack. Urutan pengaksesan : Tabel Display – Tabel Blok – Tabel Simbol. Contoh implementasi Tabel Display : TabDisplay : array [1..tabmax] of integer