SlideShare a Scribd company logo
1 of 14
KODE ANTARA/INTERMEDIATE CODE
Tahapan Kompilasi
 Tahap analisis:
 lexical analyzer
 syntax analyzer
 semantic analyzer.
 Tahap sintesis:
 intermediate code
 code optimizer
 code generator.
 Symbol table manager
 untuk membuat record dari identifier yang digunakan dalam source
program dan mengumpulkan atribut yang menyangkut setiap identifier
 Error Handler
 bagian kompiler yang menangani dan melaporkan kesalahan yang
ditemukan.
DEFINISI “Kode Antara”
 Kode antara/Intermediate code merupakan hasil dari tahapan analisis,
yang dibuat oleh kompilator pada saat mentranslasikan program dari
bahasa tingkat tinggi
Bagan Pokok Proses Kompilasi
Kegunaan Intermediate Code
 Memperkecil usaha dalam membuat compilator dari sejumlah bahasa ke
sejumlah mesin
 Lebih Machine Independent, hasil dari intermediate code dapat digunakan
lagi pada mesin lainnya
 Proses Optimasi lebih mudah. Lebih mudah dilakukan pada intermediate
code dari pada program sumber (source program) atau pada kode
assembly dan kode mesin
 Intermediate code ini lebih mudah dipahami dari pada kode assembly atau
kode mesin
 Kerugiannya adalah melakukan 2 kali transisi, maka dibutuhkan waktu
yang relatif lama
Notasi Intermediate Code
Ada dua macam intermediate code yaitu Notasi Postfix dan N-Tuple
Notasi POSTFIX
<Operand> <Operand> < Operator>
Misalnya :
( a +b ) * ( c+d )
maka Notasi postfixnya
ab+ cd+ *
Notasi POSTFIX
Semua instruksi kontrol program yang ada diubah menjadi notasi
postfix, misalnya
IF <expr> THEN <stmt1> ELSE <stmt2>
Diubah ke postfix menjadi ;
<expr> <label1> BZ <stmt1> <label2> BR < stmt2>
BZ : Branch if zero (salah)
BR: melompat tanpa harus ada kondisi yang ditest
Contoh : IF a > b THEN c := d ELSE c := e
Notasi POSTFIX
Contoh : IF a > b THEN c := d ELSE c := e
Dalam bentuk Postfix
11 a 19
12 b 20 25
13 > 21 BR
14 22 22 c
15 BZ 23 e
16 c 24 :=
17 d 25
18 :=
bila expresi (a>b) salah, maka loncat ke instruksi 22, Bila expresi (a>b)
benar tidak ada loncatan, instruksi berlanjut ke 16-18 lalu loncat ke 25
Notasi POSTFIX
Contoh:
WHILE <expr> DO <stmt>
Diubah ke postfix menjadi ; <expr> <label1> BZ <stmt> <label2> BR
Instruksi : a:= 1
WHILE a < 5 DO
a := a + 1
Dalam bentuk Postfix
10 a 18 a
11 1 19 a
12 := 20 1
13 a 21 +
14 5 22 :=
15 < 23 13
16 25 24 BR
17 BZ 25
Triples Notation
Notasi pada triple dengan format
<operator> <operand> <operand>
Contoh:
A := D * C + B / E
Jika dibuat intermidiate code triple:
1. * , D, C
2. /, B, E
3. +, (1), (2)
4. :=, A, (3)
Perlu diperhatikan presedensi (hirarki) dari operator, operator perkalian
dan pembagian mendapatkan prioritas lebih dahulu dari oada
penjumlahan dan pengurangan
Triples Notation
Contoh lain:
IF X > Y THEN
X := a - b
ELSE
X := a + b
Intermidiate code triple:
1. >, X, Y
2. BZ, (1), (6) bila kondisi 1 loncat ke lokasi 6
3. -, a, b
4. :=, X, (3)
5. BR, , (8)
6. +, a, b
7. :=, X, (6)
Triples Notation
Kelemahan dari notasi triple adalah sulit pada saat melakukan
optimasi, maka dikembangkan Indirect triples yang memiliki
dua list; list instruksi dan list eksekusi. List Instruksi berisikan
notasi triple, sedangkan list eksekusi mengatur eksekusinya;
contoh
A := B + C * D / E
F := C * D
List Instruksi List Eksekusi
1. *, C, D 1. 1
2. /, (1), E 2. 2
3. +, B, (2) 3. 3
4. :=, A , (3) 4. 4
5. :=, F, (1) 5. 1
6. 5
Quardruples Notation
Format dari quardruples adalah
<operator> <operand> <operand> <result>
Result atau hasil adalah temporary variable yang dapat ditempatkan pada memory
atau register . Problemnya adalah bagaimana mengelola temporary variable
seminimal mungkin
Contoh:
A := D * C + B / E
Jika dibuat intermidiate codenya :
1. * , D, C, T1
2. / , B, E, T2
3. +, T1, T2, A
Quardruples Notation
 Hasil dari tahapan anlisis diterima oleh code generator (pembangkit
kode)
 Intermediate code ditansfromasikan kedalam bahasa assembly atau
mesin
 Misalnya
(A+B)*(C+D) dan diterjemahkan kedalam bentuk quadruple:
1. +, A, B, T1
2. + , C, D, T2
3. *, T1, T2, T3
Dapat ditranslasikan kedalam bahasa assembly dengan accumulator
tunggal:
14
Gunawan Manalu
Terima Kasih

More Related Content

What's hot

6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantikyuster92
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 
Arsitektur desain data pada RPL
Arsitektur desain data pada RPLArsitektur desain data pada RPL
Arsitektur desain data pada RPLari alfian
 
Pertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanPertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanwillyhayon
 
Analisis leksikal tugas
Analisis leksikal tugasAnalisis leksikal tugas
Analisis leksikal tugasAminah Rahayu
 
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)KuliahKita
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanCliquerz Javaneze
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyZaenal Khayat
 
Context Free Grammar 1 - Materi 6 - TBO
Context Free Grammar 1 - Materi 6 - TBOContext Free Grammar 1 - Materi 6 - TBO
Context Free Grammar 1 - Materi 6 - TBOahmad haidaroh
 
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik KompilasiP 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik Kompilasiahmad haidaroh
 
Error Handling - P 7 Teknik Kompilasi
Error Handling - P 7 Teknik Kompilasi Error Handling - P 7 Teknik Kompilasi
Error Handling - P 7 Teknik Kompilasi ahmad haidaroh
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAdam Mukharil Bachtiar
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatanBuhori Muslim
 

What's hot (20)

6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantik
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Arsitektur desain data pada RPL
Arsitektur desain data pada RPLArsitektur desain data pada RPL
Arsitektur desain data pada RPL
 
Kompilasi13 ka p (1)
Kompilasi13 ka p (1)Kompilasi13 ka p (1)
Kompilasi13 ka p (1)
 
Pertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanPertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakan
 
Analisis leksikal tugas
Analisis leksikal tugasAnalisis leksikal tugas
Analisis leksikal tugas
 
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
Kriptograf - Algoritma Kriptografi Klasik (bagian 1)
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi boolean
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzy
 
Perkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasiPerkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasi
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Materi 6. perulangan
Materi 6. perulanganMateri 6. perulangan
Materi 6. perulangan
 
Context Free Grammar 1 - Materi 6 - TBO
Context Free Grammar 1 - Materi 6 - TBOContext Free Grammar 1 - Materi 6 - TBO
Context Free Grammar 1 - Materi 6 - TBO
 
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik KompilasiP 2 Konsep & Notasi Bahasa - Teknik Kompilasi
P 2 Konsep & Notasi Bahasa - Teknik Kompilasi
 
Error Handling - P 7 Teknik Kompilasi
Error Handling - P 7 Teknik Kompilasi Error Handling - P 7 Teknik Kompilasi
Error Handling - P 7 Teknik Kompilasi
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatan
 

Similar to OPTIMASIKODEANTARA

Slide 7-Pembangkit kode dan kode antara New.pptx
Slide 7-Pembangkit kode dan kode antara New.pptxSlide 7-Pembangkit kode dan kode antara New.pptx
Slide 7-Pembangkit kode dan kode antara New.pptxMSALMANALFARITSY
 
Analisis semantik, kode antara dan pembangkitan kode (2).pptx
Analisis semantik, kode antara dan pembangkitan kode (2).pptxAnalisis semantik, kode antara dan pembangkitan kode (2).pptx
Analisis semantik, kode antara dan pembangkitan kode (2).pptxDiaAku6
 
Desain Kompiler - Kode Antara
Desain Kompiler - Kode AntaraDesain Kompiler - Kode Antara
Desain Kompiler - Kode AntaraIrfannur Diah
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasiHedyIzmaya
 
Modul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontrolerModul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontrolerpersonal
 
Diktat c++ d76_dev-cpp
Diktat c++ d76_dev-cppDiktat c++ d76_dev-cpp
Diktat c++ d76_dev-cppstaffpengajar
 
DK-A-207038026-Nur Amalia Nasution.pptx
DK-A-207038026-Nur Amalia Nasution.pptxDK-A-207038026-Nur Amalia Nasution.pptx
DK-A-207038026-Nur Amalia Nasution.pptxNurAmalia839668
 
6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vbAris Saputro
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++windi1
 
Presentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrogramanPresentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrogramanMuraba Nasuha
 
90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotran90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotranmocoz
 
Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Dede Kurniadi
 
sns_paper complement_r010110
sns_paper complement_r010110sns_paper complement_r010110
sns_paper complement_r010110S N M P Simamora
 
Algoritma dan Pemrograman
Algoritma dan PemrogramanAlgoritma dan Pemrograman
Algoritma dan PemrogramanDiana Anggraini
 

Similar to OPTIMASIKODEANTARA (20)

Slide 7-Pembangkit kode dan kode antara New.pptx
Slide 7-Pembangkit kode dan kode antara New.pptxSlide 7-Pembangkit kode dan kode antara New.pptx
Slide 7-Pembangkit kode dan kode antara New.pptx
 
Analisis semantik, kode antara dan pembangkitan kode (2).pptx
Analisis semantik, kode antara dan pembangkitan kode (2).pptxAnalisis semantik, kode antara dan pembangkitan kode (2).pptx
Analisis semantik, kode antara dan pembangkitan kode (2).pptx
 
Kompilasi13 ka p (2)
Kompilasi13 ka p (2)Kompilasi13 ka p (2)
Kompilasi13 ka p (2)
 
Kompilasi13 ka p
Kompilasi13 ka pKompilasi13 ka p
Kompilasi13 ka p
 
Desain Kompiler - Kode Antara
Desain Kompiler - Kode AntaraDesain Kompiler - Kode Antara
Desain Kompiler - Kode Antara
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Modul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontrolerModul simulasi pemograman mikrokontroler
Modul simulasi pemograman mikrokontroler
 
207 p04
207 p04207 p04
207 p04
 
Algoritma dan Pemrograman
Algoritma dan Pemrograman Algoritma dan Pemrograman
Algoritma dan Pemrograman
 
Diktat c++ d76_dev-cpp
Diktat c++ d76_dev-cppDiktat c++ d76_dev-cpp
Diktat c++ d76_dev-cpp
 
DK-A-207038026-Nur Amalia Nasution.pptx
DK-A-207038026-Nur Amalia Nasution.pptxDK-A-207038026-Nur Amalia Nasution.pptx
DK-A-207038026-Nur Amalia Nasution.pptx
 
6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Pengenalan bahasa C++
Pengenalan bahasa C++Pengenalan bahasa C++
Pengenalan bahasa C++
 
Presentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrogramanPresentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrograman
 
Cc++
Cc++Cc++
Cc++
 
90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotran90594412 bab-3-pengaturan-aliran-pemograman-fotran
90594412 bab-3-pengaturan-aliran-pemograman-fotran
 
Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2
 
sns_paper complement_r010110
sns_paper complement_r010110sns_paper complement_r010110
sns_paper complement_r010110
 
Algoritma dan Pemrograman
Algoritma dan PemrogramanAlgoritma dan Pemrograman
Algoritma dan Pemrograman
 

More from Gunawan Manalu

Perhitungan nilai variasi
Perhitungan nilai variasiPerhitungan nilai variasi
Perhitungan nilai variasiGunawan Manalu
 
Sistem Navigasi hiperbola
Sistem Navigasi hiperbolaSistem Navigasi hiperbola
Sistem Navigasi hiperbolaGunawan Manalu
 
Gyro compass - kompas gasing
Gyro compass - kompas gasingGyro compass - kompas gasing
Gyro compass - kompas gasingGunawan Manalu
 
Sistem informasi akuntansi pembelian
Sistem informasi akuntansi pembelianSistem informasi akuntansi pembelian
Sistem informasi akuntansi pembelianGunawan Manalu
 
Sistem informasi pelayanan pasien
Sistem informasi pelayanan pasienSistem informasi pelayanan pasien
Sistem informasi pelayanan pasienGunawan Manalu
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligenceGunawan Manalu
 
Dumai Vts operator trainee-visiting Batam VTS Center report
Dumai Vts operator trainee-visiting Batam VTS Center reportDumai Vts operator trainee-visiting Batam VTS Center report
Dumai Vts operator trainee-visiting Batam VTS Center reportGunawan Manalu
 
Representasi pengetahuan logika proposisi
Representasi pengetahuan logika proposisiRepresentasi pengetahuan logika proposisi
Representasi pengetahuan logika proposisiGunawan Manalu
 
Elemen elemen teori ekonomi
Elemen elemen teori ekonomiElemen elemen teori ekonomi
Elemen elemen teori ekonomiGunawan Manalu
 
Inflasi dan pengangguran
Inflasi dan pengangguranInflasi dan pengangguran
Inflasi dan pengangguranGunawan Manalu
 

More from Gunawan Manalu (16)

Echosounder
EchosounderEchosounder
Echosounder
 
Radar
RadarRadar
Radar
 
Perhitungan nilai variasi
Perhitungan nilai variasiPerhitungan nilai variasi
Perhitungan nilai variasi
 
Sistem Navigasi hiperbola
Sistem Navigasi hiperbolaSistem Navigasi hiperbola
Sistem Navigasi hiperbola
 
Teori Dasar
Teori DasarTeori Dasar
Teori Dasar
 
Gyrocompass
GyrocompassGyrocompass
Gyrocompass
 
Gyro compass - kompas gasing
Gyro compass - kompas gasingGyro compass - kompas gasing
Gyro compass - kompas gasing
 
Sistem informasi akuntansi pembelian
Sistem informasi akuntansi pembelianSistem informasi akuntansi pembelian
Sistem informasi akuntansi pembelian
 
Perencanaan karir
Perencanaan karirPerencanaan karir
Perencanaan karir
 
Sistem informasi pelayanan pasien
Sistem informasi pelayanan pasienSistem informasi pelayanan pasien
Sistem informasi pelayanan pasien
 
Keamanan komputer
Keamanan komputerKeamanan komputer
Keamanan komputer
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
Dumai Vts operator trainee-visiting Batam VTS Center report
Dumai Vts operator trainee-visiting Batam VTS Center reportDumai Vts operator trainee-visiting Batam VTS Center report
Dumai Vts operator trainee-visiting Batam VTS Center report
 
Representasi pengetahuan logika proposisi
Representasi pengetahuan logika proposisiRepresentasi pengetahuan logika proposisi
Representasi pengetahuan logika proposisi
 
Elemen elemen teori ekonomi
Elemen elemen teori ekonomiElemen elemen teori ekonomi
Elemen elemen teori ekonomi
 
Inflasi dan pengangguran
Inflasi dan pengangguranInflasi dan pengangguran
Inflasi dan pengangguran
 

Recently uploaded

Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxsyafnasir
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiIntanHanifah4
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASaku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASreskosatrio1
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdftsaniasalftn18
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5KIKI TRISNA MUKTI
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfKelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfmaulanayazid
 
Ppt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada AnakPpt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada Anakbekamalayniasinta
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024budimoko2
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxarnisariningsih98
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxsudianaade137
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxBambang440423
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxalalfardilah
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfChrodtianTian
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)3HerisaSintia
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdfMMeizaFachri
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023DodiSetiawan46
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsAdePutraTunggali
 

Recently uploaded (20)

Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajii
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPASaku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
aku-dan-kebutuhanku-Kelas 4 SD Mapel IPAS
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdf
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfKelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
 
Ppt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada AnakPpt tentang perkembangan Moral Pada Anak
Ppt tentang perkembangan Moral Pada Anak
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
 
implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public Relations
 

OPTIMASIKODEANTARA

  • 2. Tahapan Kompilasi  Tahap analisis:  lexical analyzer  syntax analyzer  semantic analyzer.  Tahap sintesis:  intermediate code  code optimizer  code generator.  Symbol table manager  untuk membuat record dari identifier yang digunakan dalam source program dan mengumpulkan atribut yang menyangkut setiap identifier  Error Handler  bagian kompiler yang menangani dan melaporkan kesalahan yang ditemukan.
  • 3. DEFINISI “Kode Antara”  Kode antara/Intermediate code merupakan hasil dari tahapan analisis, yang dibuat oleh kompilator pada saat mentranslasikan program dari bahasa tingkat tinggi Bagan Pokok Proses Kompilasi
  • 4. Kegunaan Intermediate Code  Memperkecil usaha dalam membuat compilator dari sejumlah bahasa ke sejumlah mesin  Lebih Machine Independent, hasil dari intermediate code dapat digunakan lagi pada mesin lainnya  Proses Optimasi lebih mudah. Lebih mudah dilakukan pada intermediate code dari pada program sumber (source program) atau pada kode assembly dan kode mesin  Intermediate code ini lebih mudah dipahami dari pada kode assembly atau kode mesin  Kerugiannya adalah melakukan 2 kali transisi, maka dibutuhkan waktu yang relatif lama
  • 5. Notasi Intermediate Code Ada dua macam intermediate code yaitu Notasi Postfix dan N-Tuple Notasi POSTFIX <Operand> <Operand> < Operator> Misalnya : ( a +b ) * ( c+d ) maka Notasi postfixnya ab+ cd+ *
  • 6. Notasi POSTFIX Semua instruksi kontrol program yang ada diubah menjadi notasi postfix, misalnya IF <expr> THEN <stmt1> ELSE <stmt2> Diubah ke postfix menjadi ; <expr> <label1> BZ <stmt1> <label2> BR < stmt2> BZ : Branch if zero (salah) BR: melompat tanpa harus ada kondisi yang ditest Contoh : IF a > b THEN c := d ELSE c := e
  • 7. Notasi POSTFIX Contoh : IF a > b THEN c := d ELSE c := e Dalam bentuk Postfix 11 a 19 12 b 20 25 13 > 21 BR 14 22 22 c 15 BZ 23 e 16 c 24 := 17 d 25 18 := bila expresi (a>b) salah, maka loncat ke instruksi 22, Bila expresi (a>b) benar tidak ada loncatan, instruksi berlanjut ke 16-18 lalu loncat ke 25
  • 8. Notasi POSTFIX Contoh: WHILE <expr> DO <stmt> Diubah ke postfix menjadi ; <expr> <label1> BZ <stmt> <label2> BR Instruksi : a:= 1 WHILE a < 5 DO a := a + 1 Dalam bentuk Postfix 10 a 18 a 11 1 19 a 12 := 20 1 13 a 21 + 14 5 22 := 15 < 23 13 16 25 24 BR 17 BZ 25
  • 9. Triples Notation Notasi pada triple dengan format <operator> <operand> <operand> Contoh: A := D * C + B / E Jika dibuat intermidiate code triple: 1. * , D, C 2. /, B, E 3. +, (1), (2) 4. :=, A, (3) Perlu diperhatikan presedensi (hirarki) dari operator, operator perkalian dan pembagian mendapatkan prioritas lebih dahulu dari oada penjumlahan dan pengurangan
  • 10. Triples Notation Contoh lain: IF X > Y THEN X := a - b ELSE X := a + b Intermidiate code triple: 1. >, X, Y 2. BZ, (1), (6) bila kondisi 1 loncat ke lokasi 6 3. -, a, b 4. :=, X, (3) 5. BR, , (8) 6. +, a, b 7. :=, X, (6)
  • 11. Triples Notation Kelemahan dari notasi triple adalah sulit pada saat melakukan optimasi, maka dikembangkan Indirect triples yang memiliki dua list; list instruksi dan list eksekusi. List Instruksi berisikan notasi triple, sedangkan list eksekusi mengatur eksekusinya; contoh A := B + C * D / E F := C * D List Instruksi List Eksekusi 1. *, C, D 1. 1 2. /, (1), E 2. 2 3. +, B, (2) 3. 3 4. :=, A , (3) 4. 4 5. :=, F, (1) 5. 1 6. 5
  • 12. Quardruples Notation Format dari quardruples adalah <operator> <operand> <operand> <result> Result atau hasil adalah temporary variable yang dapat ditempatkan pada memory atau register . Problemnya adalah bagaimana mengelola temporary variable seminimal mungkin Contoh: A := D * C + B / E Jika dibuat intermidiate codenya : 1. * , D, C, T1 2. / , B, E, T2 3. +, T1, T2, A
  • 13. Quardruples Notation  Hasil dari tahapan anlisis diterima oleh code generator (pembangkit kode)  Intermediate code ditansfromasikan kedalam bahasa assembly atau mesin  Misalnya (A+B)*(C+D) dan diterjemahkan kedalam bentuk quadruple: 1. +, A, B, T1 2. + , C, D, T2 3. *, T1, T2, T3 Dapat ditranslasikan kedalam bahasa assembly dengan accumulator tunggal: