SlideShare a Scribd company logo
1 of 11
z
KODE ANTARA
(INTERMEDIATE CODE)
Desain Kompiler
Irfannur Diah (1 8 7 0 3 8 0 3 9 )
z
Tahapan Kompilasi
Tahapan
Analisis
•Analisis Leksikal
•Analisis Sintaks
•Analisis Semantik
Tahapan Sintesis
• Kode Antara
•Optimasi Kode
•Kode Generator
Tabel Simbol
Error Handler
z
Kode Antara ?
 Merupakan tahapan kedua setelah hasil dari tahapan analisis yang
dibuat oleh kompilator pada saat mentranslasikan dari bahasa
tingkat tinggi.
 Kode antara atau dalam bahasa inggrisnya intermediate code
merupakan pembangkit kode berdasarkan hasil parsing.
 Pohon parse selanjutnya diterjemahkan oleh suatu penerjemah
yang dinamakan penerjemah berdasarkan sintak (syntax-directed
translator). Hasil penerjemahan ini biasanya merupakan perintah
tiga alamat (three-address code) yang merupakan representasi
program untuk suatu mesin abstrak. Perintah tiga alamat bisa
berbentuk quadruples (op, arg1, arg2, result), tripels (op, arg1,
arg2). Ekspresi dengan satu argumen dinyatakan dengan
menetapkan arg2 dengan – (strip, dash)
z
Kode Antara
Intermediate Code
Generation
Source Code Target Code
Kode perantara antara front-end (mesin independen) menuju
kepada backend (mesin dependen)
z
Fungsi Kode Antara
 Memperkecil bagian-bagian dalam proses
kompilasi dari sejumlah bahasa ke sejumlah
mesin.
 Hasil dari kode antara dapat digunakan lagi pada
mesin lainnya.
 Membuat proses optimalisasi menjadih mudah
dan mudah dipahami dari pada bahasa mesin.
z
Jenis – Jenis Kode Antara
 Triples, quadruples, indirect triples, abstract syntax trees
merupakan bentuk klasik yang biasa digunakan dalam optimasi
mesin independen dan pembangkitan kode mesin.
 Static Single Assignment form (SSA) adalah bentuk terbaru dan
mengadakan optimasi yang lebih efektif.
 Program Dependence Graph (PDG) berguna pada paralesasi
otomatis, penjadawalan instruksi, dan pipelining perangkat
lunak.
z
Notasi Kode Antara
 Terdapat dua macam kode antara yaitu notasi postfix dan n-
tuple
 Notasi postfix
<operand> <operand> <operator>
contohnya
( x + y ) * ( p + q )
maka hasil dari notasi postfixnya adalah
xy+ pq+ *
z
Notasi Postfix
Semua pada instruksi kontrol program yang ada akan 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
z
Notasi Triples
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)
Pada contoh tersebut perlu diperhatikan presedensi (hirarki) dari operator,
operator perkalian dan pembagian mendapatkan prioritas lebih dahulu dari
oada penjumlahan dan pengurangan.
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
z
Referensi
 Bergmann, Seth D., "Compiler Design: Theory, Tools, and
Examples" (2016).
 https://www.geeksforgeeks.org/intermediate-code-generation-in-
compiler-design/
 https://www.tutorialspoint.com/compiler_design/compiler_design
_intermediate_code_generations.htm
 https://en.wikipedia.org/wiki/Code_generation_%28compiler%29
z
TERIMA KASIH
Mirror : Irfnrdh.com/kode-antara

More Related Content

What's hot

Pertemuan 9 : Algoritma & Pemrograman
Pertemuan 9 : Algoritma & PemrogramanPertemuan 9 : Algoritma & Pemrograman
Pertemuan 9 : Algoritma & PemrogramanTri Retna
 
Pertemuan 1 : Algoritma & Pemrograman
Pertemuan 1 : Algoritma & PemrogramanPertemuan 1 : Algoritma & Pemrograman
Pertemuan 1 : Algoritma & PemrogramanTri Retna
 
Pertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanPertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanTri Retna
 
Pemrograman C++ - Sintaks Dasar
Pemrograman C++ - Sintaks DasarPemrograman C++ - Sintaks Dasar
Pemrograman C++ - Sintaks DasarKuliahKita
 
Bab 8 struktur rekursif
Bab 8 struktur rekursifBab 8 struktur rekursif
Bab 8 struktur rekursifrisal07
 
Presentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrogramanPresentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrogramanMuraba Nasuha
 
Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 ahmad haidaroh
 
Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++farizky berian
 
Pertemuan 2 : Algoritma & Pemrograman
Pertemuan 2 : Algoritma & PemrogramanPertemuan 2 : Algoritma & Pemrograman
Pertemuan 2 : Algoritma & PemrogramanTri Retna
 
Pertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanPertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanTri Retna
 
soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1Budi Kurniawan
 
Pertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanPertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanTri Retna
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++windi1
 
Materi 3&4 prosedur
Materi 3&4   prosedurMateri 3&4   prosedur
Materi 3&4 prosedurAlfa Felle
 

What's hot (20)

Pertemuan 9 : Algoritma & Pemrograman
Pertemuan 9 : Algoritma & PemrogramanPertemuan 9 : Algoritma & Pemrograman
Pertemuan 9 : Algoritma & Pemrograman
 
Dasar c++ input, proses, output
Dasar c++ input, proses, output Dasar c++ input, proses, output
Dasar c++ input, proses, output
 
Pertemuan 1 : Algoritma & Pemrograman
Pertemuan 1 : Algoritma & PemrogramanPertemuan 1 : Algoritma & Pemrograman
Pertemuan 1 : Algoritma & Pemrograman
 
Pertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanPertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & Pemrograman
 
Pemrograman C++ - Sintaks Dasar
Pemrograman C++ - Sintaks DasarPemrograman C++ - Sintaks Dasar
Pemrograman C++ - Sintaks Dasar
 
Bab 8 struktur rekursif
Bab 8 struktur rekursifBab 8 struktur rekursif
Bab 8 struktur rekursif
 
Presentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrogramanPresentasi Pengenalan konsep pemrograman
Presentasi Pengenalan konsep pemrograman
 
Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7
 
Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++
 
Pertemuan 2 : Algoritma & Pemrograman
Pertemuan 2 : Algoritma & PemrogramanPertemuan 2 : Algoritma & Pemrograman
Pertemuan 2 : Algoritma & Pemrograman
 
Pertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanPertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & Pemrograman
 
soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1
 
Pertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanPertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & Pemrograman
 
Algoritma Pemrograman - Pendahuluan
Algoritma Pemrograman - PendahuluanAlgoritma Pemrograman - Pendahuluan
Algoritma Pemrograman - Pendahuluan
 
Pengenalan bahasa C++
Pengenalan bahasa C++Pengenalan bahasa C++
Pengenalan bahasa C++
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Bab 2-intro-python
Bab 2-intro-pythonBab 2-intro-python
Bab 2-intro-python
 
Algoritma Pemrograman - Perintah Input/Output
Algoritma Pemrograman - Perintah Input/OutputAlgoritma Pemrograman - Perintah Input/Output
Algoritma Pemrograman - Perintah Input/Output
 
Pengenalan c++ bagian 1
Pengenalan c++ bagian 1Pengenalan c++ bagian 1
Pengenalan c++ bagian 1
 
Materi 3&4 prosedur
Materi 3&4   prosedurMateri 3&4   prosedur
Materi 3&4 prosedur
 

Similar to Desain Kompiler - Kode Antara

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
 
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
 
Algoritma dan Pemrograman
Algoritma dan PemrogramanAlgoritma dan Pemrograman
Algoritma dan PemrogramanDiana Anggraini
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasiHedyIzmaya
 
Perkenalan Pemrograman C++
Perkenalan Pemrograman C++Perkenalan Pemrograman C++
Perkenalan Pemrograman C++Sparisoma Viridi
 
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
 
Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstrukturMeiland Meebo
 
Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritmaBraga Rezpect
 
pertemuan 2 Dasar pemograman.pdf
pertemuan 2 Dasar pemograman.pdfpertemuan 2 Dasar pemograman.pdf
pertemuan 2 Dasar pemograman.pdfProjectme1
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartMaryanto Sumringah SMA 9 Tebo
 
Bahasa c++ (p)
Bahasa c++ (p)Bahasa c++ (p)
Bahasa c++ (p)Eddy_TKJ
 
sns_paper complement_r010110
sns_paper complement_r010110sns_paper complement_r010110
sns_paper complement_r010110S N M P Simamora
 

Similar to Desain Kompiler - Kode Antara (20)

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
 
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
 
Bab xii teknik kompilasi
Bab xii teknik kompilasiBab xii teknik kompilasi
Bab xii teknik kompilasi
 
Algoritma dan Pemrograman
Algoritma dan PemrogramanAlgoritma dan Pemrograman
Algoritma dan Pemrograman
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Perkenalan Pemrograman C++
Perkenalan Pemrograman C++Perkenalan Pemrograman C++
Perkenalan Pemrograman C++
 
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
 
Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstruktur
 
materi 1 & 2.pptx
materi 1 & 2.pptxmateri 1 & 2.pptx
materi 1 & 2.pptx
 
Algoritma 02
Algoritma 02Algoritma 02
Algoritma 02
 
Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritma
 
Bab1
Bab1Bab1
Bab1
 
Kumpulan catatan Teknik Kompilasi
Kumpulan catatan Teknik KompilasiKumpulan catatan Teknik Kompilasi
Kumpulan catatan Teknik Kompilasi
 
pertemuan 2 Dasar pemograman.pdf
pertemuan 2 Dasar pemograman.pdfpertemuan 2 Dasar pemograman.pdf
pertemuan 2 Dasar pemograman.pdf
 
Alpro referensi
Alpro referensiAlpro referensi
Alpro referensi
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchart
 
Bahasa c++ (p)
Bahasa c++ (p)Bahasa c++ (p)
Bahasa c++ (p)
 
Cc++
Cc++Cc++
Cc++
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
sns_paper complement_r010110
sns_paper complement_r010110sns_paper complement_r010110
sns_paper complement_r010110
 

Recently uploaded

PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxMaskuratulMunawaroh
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptnovibernadina
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxDEAAYUANGGREANI
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfAndiCoc
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxIvvatulAini
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxrizalhabib4
 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Abdiera
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024RahmadLalu1
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfIwanSumantri7
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxsyahrulutama16
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanAdePutraTunggali
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptnabilafarahdiba95
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptxnursariheldaseptiana
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 

Recently uploaded (20)

PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
 
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - Perencanaan
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 

Desain Kompiler - Kode Antara

  • 1. z KODE ANTARA (INTERMEDIATE CODE) Desain Kompiler Irfannur Diah (1 8 7 0 3 8 0 3 9 )
  • 2. z Tahapan Kompilasi Tahapan Analisis •Analisis Leksikal •Analisis Sintaks •Analisis Semantik Tahapan Sintesis • Kode Antara •Optimasi Kode •Kode Generator Tabel Simbol Error Handler
  • 3. z Kode Antara ?  Merupakan tahapan kedua setelah hasil dari tahapan analisis yang dibuat oleh kompilator pada saat mentranslasikan dari bahasa tingkat tinggi.  Kode antara atau dalam bahasa inggrisnya intermediate code merupakan pembangkit kode berdasarkan hasil parsing.  Pohon parse selanjutnya diterjemahkan oleh suatu penerjemah yang dinamakan penerjemah berdasarkan sintak (syntax-directed translator). Hasil penerjemahan ini biasanya merupakan perintah tiga alamat (three-address code) yang merupakan representasi program untuk suatu mesin abstrak. Perintah tiga alamat bisa berbentuk quadruples (op, arg1, arg2, result), tripels (op, arg1, arg2). Ekspresi dengan satu argumen dinyatakan dengan menetapkan arg2 dengan – (strip, dash)
  • 4. z Kode Antara Intermediate Code Generation Source Code Target Code Kode perantara antara front-end (mesin independen) menuju kepada backend (mesin dependen)
  • 5. z Fungsi Kode Antara  Memperkecil bagian-bagian dalam proses kompilasi dari sejumlah bahasa ke sejumlah mesin.  Hasil dari kode antara dapat digunakan lagi pada mesin lainnya.  Membuat proses optimalisasi menjadih mudah dan mudah dipahami dari pada bahasa mesin.
  • 6. z Jenis – Jenis Kode Antara  Triples, quadruples, indirect triples, abstract syntax trees merupakan bentuk klasik yang biasa digunakan dalam optimasi mesin independen dan pembangkitan kode mesin.  Static Single Assignment form (SSA) adalah bentuk terbaru dan mengadakan optimasi yang lebih efektif.  Program Dependence Graph (PDG) berguna pada paralesasi otomatis, penjadawalan instruksi, dan pipelining perangkat lunak.
  • 7. z Notasi Kode Antara  Terdapat dua macam kode antara yaitu notasi postfix dan n- tuple  Notasi postfix <operand> <operand> <operator> contohnya ( x + y ) * ( p + q ) maka hasil dari notasi postfixnya adalah xy+ pq+ *
  • 8. z Notasi Postfix Semua pada instruksi kontrol program yang ada akan 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
  • 9. z Notasi Triples 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) Pada contoh tersebut perlu diperhatikan presedensi (hirarki) dari operator, operator perkalian dan pembagian mendapatkan prioritas lebih dahulu dari oada penjumlahan dan pengurangan. 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
  • 10. z Referensi  Bergmann, Seth D., "Compiler Design: Theory, Tools, and Examples" (2016).  https://www.geeksforgeeks.org/intermediate-code-generation-in- compiler-design/  https://www.tutorialspoint.com/compiler_design/compiler_design _intermediate_code_generations.htm  https://en.wikipedia.org/wiki/Code_generation_%28compiler%29
  • 11. z TERIMA KASIH Mirror : Irfnrdh.com/kode-antara