SlideShare a Scribd company logo
2
Most read
4
Most read
8
Most read
Analisis Semantik - P 6 Teknik Kompilasi
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
ANALISIS SEMANTIK
Analisis semantik ini memanfaatkan pohon sintaks yang
dihasilkan pada proses parsing (analisa sintaks).
Fungsi dari analisa semantik adalah untuk menentukan makna dari
serangkaian instruksi yang terdapat dalam program sumber.
Untuk mengetahui makna, maka rutin analisa semantik akan memeriksa :
•Apakah variabel yang ada telah didefinisikan sebelumnya
•Apakah variabel–variabel tersebut tipenya sama
•Apakah operan yang akan dioperasikan tersebut ada nilainya dan
seterusnya. (A+B; dimana A dan B adalah operand dan + adalah
operator)
Untuk dapat menjalankan fungsi tersebut dengan baik, semantic analyzer
seringkali menggunakan tabel simbol. Pemeriksaan bisa dilakukan pada tabel
identifier, tabel display dan tabel blok, misal pada field link.
ANALISIS SEMANTIK
Pengecekan yang dilakukan oleh analisis semantik adalah :
 Memeriksa keberlakuan nama–nama meliputi pemeriksaan :
Duplikasi
Pengecekan apakah sebuah nama terjadi pendefinisian lebih
dari satu kali. Pengecekan dilakukan pada bagian pengelola
blok.
Terdefinisi
Pengecekan apakah sebuah nama yang dipakai pada tubuh
program sudah terdefinisi atau belum. Pengecekan dilakukan
pada semua tempat kecuali blok
 Memeriksa tipe
Melakukan pemeriksaan terhadap kesesuaian tipe dalam
statemen–statemen yang ada.
Misal; bila ada operasi antara dua operan maka tipe operan
pertama harus bisa dioperasikan dengan operan kedua.
KODE ANTARA
Kegunaan dari Kode Antara / intermediate code :
Untuk memperkecil usaha dalam membangun
kompilator dari sejumlah bahasa ke sejumlah mesin
Proses optimasi lebih mudah. (dibandingkan pada
program sumber atau kode assembly dan kode mesin)
Bisa melihat program internal yang gampang
dimengerti.
2 macam Kode Antara yang biasa digunakan adalah
Notasi Postfix dan N-Tuple
KODE ANTARA
Notasi Postfix
Pada Notasi Postfix operator diletakkan paling akhir.
Sintaks Notasi Postfix:
< operan><operan><operator>
misalkan ekspresi :
(a+b)*(c+d)
dapat dinyatakan dalam bentuk Notasi Postfix :
ab+cd+*
KODE ANTARA
Kontrol program yang ada dapat diubah kedalam bentuk notasi postfix, misalnya:
IF <exp> THEN <stmt1> ELSE <stmt2>
Diubah kedalam Notasi Postfix :
<exp> <label1> BZ <stmt1> <label2> BR <stmt2>
label1 label2
Keterangan :
 BZ : branch if zero (zero = salah) {bercabang jika kondisi yang dites salah}
 BR : branch {bercabang tanpa ada kondisi yang dites}
Arti dari notasi Postfix diatas adalah :
“ Jika kondisi ekspresi salah, maka instruksi akan meloncat ke Label1 dan menjalankan
statement2. Bila kondisi ekspresi benar, maka statement1 akan dijalankan lalu
meloncat ke Label2. Label1 dan Label2 sendiri menunjukkan posisi tujuan loncatan,
untuk Label1 posisinya tepat sebelum statement2 dan Label2 setelah statement2.”
KODE ANTARA
Contoh lain :
WHILE <exp> DO <stat>
Diubah ke postfix :
<exp><label1>BZ<stat><label2>BR
label1 label2
Notasi N-Tuple
Pada notasi N-Tuple setiap baris bisa terdiri dari beberapa tupel.
Format umum dari notasi N-Tuple adalah :
operator ………….N-1 operan
Notasi N-Tuple yang biasa digunakan adalah notasi 3 tupel dan 4
tupel.
Triples Notation
Memiliki format : <operator><operand><operand>
Contoh, instruksi :
A:=D*C+B/E
Bila dibuat Kode Antara tripel:
1. *,D,C
2. /,B,E
3. +,(1),(2)
4. :=,A,(3)
KODE ANTARA
KODE ANTARA
Kekurangan dari notasi tripel adalah sulit pada saat melakukan
optimasi, maka dikembangkan Indirect Triples yang memiliki dua list
(senarai), yaitu list instruksi dan list eksekusi. List instruksi berisi notasi
tripel, sedangkan list eksekusi mengatur urutan eksekusinya. Misalnya
terdapat urutan instruksi :
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
KODE ANTARA
Quadruples Notation
Format instruksi Quadruples
<operator><operan><operan><hasil>
• hasil adalah temporary yang bisa ditempatkan pada memory atau
register
contoh instruksi: A:= D*C + B/E
Bila dibuat dalam Kode Antara :
1. *,D,C,T1
2. /,B,E,T2
3. +,T1,T2,A
PEMBANGKITAN KODE
Kode Antara dari program biasanya ditranslasikan ke bahasa assembly atau bahasa
mesin.
Contoh :
(A+B)*(C+D)
Dalam kode antaranya dalam bentuk notasi Quadruples
1. +, A, B, T1
2. +, C, D, T2
3. *, T1, T2, T3
Dapat ditranslasikan ke dalam bahasa assembly dengan akumulator tunggal :
LDA A {muat isi A ke akumulator}
ADD B {tambahkan isi akumulator dengan B}
STO T1 {simpan isi akumulator ke T1}
LDA C
ADD D
STO T2
LDA T1
MUL T2
STO T3
Duplikasi Variabel
package matematika;
public class Matematika {
public static void main(String[] args) {
double xA = Math.cos(30);
double xB = Math.sin(30);
int A=4, B=5;
double C,D;
Int C;  duplikasinya
C=A+B;
D=A*B;
System.out.println(C);
System.out.println(D);
System.out.println(xA);
System.out.println(xB);
}
}

More Related Content

PPTX
Intermediate code kode antara
Gunawan Manalu
 
PPT
6. analisis semantik
yuster92
 
PPTX
Ragam Dialog :: Interaksi Manusia dan Komputer
Auliaa Oktarianii
 
PPT
Metode pencarian heuristik
Baguss Chandrass
 
PPT
Algoritma penjadwalan proses
Rakhmi Khalida, M.M.S.I
 
PPTX
Bab 5 penyederhanaan fungsi boolean
Cliquerz Javaneze
 
PPT
Organisasi Komputer- representasi informasi
daru2501
 
PPTX
Notasi Bahasa - P 5,6,7
ahmad haidaroh
 
Intermediate code kode antara
Gunawan Manalu
 
6. analisis semantik
yuster92
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Auliaa Oktarianii
 
Metode pencarian heuristik
Baguss Chandrass
 
Algoritma penjadwalan proses
Rakhmi Khalida, M.M.S.I
 
Bab 5 penyederhanaan fungsi boolean
Cliquerz Javaneze
 
Organisasi Komputer- representasi informasi
daru2501
 
Notasi Bahasa - P 5,6,7
ahmad haidaroh
 

What's hot (20)

PPT
Penyederhanaan Fungsi Boolean
Fahrul Razi
 
PDF
Kumpulan catatan Teknik Kompilasi
Rakhmi Khalida, M.M.S.I
 
PPT
Pertemuan 10
Muhamad Edi.S
 
DOC
Materi Kuliah : Dasar pemrograman 1
Braga Rezpect
 
PPTX
Analisis Semantik - P6
ahmad haidaroh
 
PPTX
CFG dan PARSING - P 5 - Teknik Kompilasi
ahmad haidaroh
 
DOC
Makalah sistem-operasi
IKHSAN MAHRURI
 
PDF
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Debby Ummul
 
PDF
Pemodelan sistem (DFD)
Fahmi Hakam
 
PDF
Laporan Praktikum Algoritma
EnvaPya
 
PDF
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
eddie Ismantoe
 
PDF
Kecerdasan Buatan (AI)
Farichah Riha
 
PPTX
Rpl 5-perencanaan proyek perangkat lunak
f' yagami
 
PPTX
Algoritma pencarian lintasan jalur terpendek
Laili Wahyunita
 
PPTX
Error Handling - P 7 Teknik Kompilasi
ahmad haidaroh
 
PPT
Bab 2 perhitungan galat
Kelinci Coklat
 
PPT
Jawaban Struktur data soal-latihan
Bina Sarana Informatika
 
PDF
Ch 04 (Siklus Instruksi dan Interrupt)
Tri Sugihartono
 
PPTX
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Ari Septiawan
 
PPTX
Tipe manajemen memori pada sistem operasi
Shary Armonitha
 
Penyederhanaan Fungsi Boolean
Fahrul Razi
 
Kumpulan catatan Teknik Kompilasi
Rakhmi Khalida, M.M.S.I
 
Pertemuan 10
Muhamad Edi.S
 
Materi Kuliah : Dasar pemrograman 1
Braga Rezpect
 
Analisis Semantik - P6
ahmad haidaroh
 
CFG dan PARSING - P 5 - Teknik Kompilasi
ahmad haidaroh
 
Makalah sistem-operasi
IKHSAN MAHRURI
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Debby Ummul
 
Pemodelan sistem (DFD)
Fahmi Hakam
 
Laporan Praktikum Algoritma
EnvaPya
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
eddie Ismantoe
 
Kecerdasan Buatan (AI)
Farichah Riha
 
Rpl 5-perencanaan proyek perangkat lunak
f' yagami
 
Algoritma pencarian lintasan jalur terpendek
Laili Wahyunita
 
Error Handling - P 7 Teknik Kompilasi
ahmad haidaroh
 
Bab 2 perhitungan galat
Kelinci Coklat
 
Jawaban Struktur data soal-latihan
Bina Sarana Informatika
 
Ch 04 (Siklus Instruksi dan Interrupt)
Tri Sugihartono
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Ari Septiawan
 
Tipe manajemen memori pada sistem operasi
Shary Armonitha
 
Ad

Similar to Analisis Semantik - P 6 Teknik Kompilasi (20)

PPTX
Analisis semantik, kode antara dan pembangkitan kode (2).pptx
DiaAku6
 
PPTX
Slide 7-Pembangkit kode dan kode antara New.pptx
MSALMANALFARITSY
 
PPTX
Desain Kompiler - Kode Antara
Irfannur Diah
 
PPTX
DK-A-207038026-Nur Amalia Nasution.pptx
NurAmalia839668
 
DOC
Kompilasi13 ka p (1)
Alvin Setiawan
 
DOC
Kompilasi13 ka p
Alvin Setiawan
 
DOC
Kompilasi13 ka p (2)
Alvin Setiawan
 
PDF
Rangkuman Algoritma Pemerograman 2
Sukron Makmun
 
PPTX
2 struktur dasar algoritma dan notasi algoritmik pseudo-code
Anand Reverse
 
PPTX
Teknik kompilasi
HedyIzmaya
 
PPTX
1. Pengantar Struktur data.pptx
BobyDarmawan2
 
PPTX
materi pemrograman untuk smp/mats kelas 8
erlanrwikanda17
 
PDF
Struktur Algoritma
daffa12
 
PDF
Assembler 1
Lol L
 
PDF
Assembler 1
Defri N
 
RTF
Pascal buku
sintyasari_895
 
PDF
about C Languages
S N M P Simamora
 
DOC
Modul algoritma dan struktur data i
sams Asking Alexandria
 
PPTX
2 adp penyajian algoritma
Faisal Amir
 
PPTX
2 adp penyajian algoritma
Faisal Amir
 
Analisis semantik, kode antara dan pembangkitan kode (2).pptx
DiaAku6
 
Slide 7-Pembangkit kode dan kode antara New.pptx
MSALMANALFARITSY
 
Desain Kompiler - Kode Antara
Irfannur Diah
 
DK-A-207038026-Nur Amalia Nasution.pptx
NurAmalia839668
 
Kompilasi13 ka p (1)
Alvin Setiawan
 
Kompilasi13 ka p
Alvin Setiawan
 
Kompilasi13 ka p (2)
Alvin Setiawan
 
Rangkuman Algoritma Pemerograman 2
Sukron Makmun
 
2 struktur dasar algoritma dan notasi algoritmik pseudo-code
Anand Reverse
 
Teknik kompilasi
HedyIzmaya
 
1. Pengantar Struktur data.pptx
BobyDarmawan2
 
materi pemrograman untuk smp/mats kelas 8
erlanrwikanda17
 
Struktur Algoritma
daffa12
 
Assembler 1
Lol L
 
Assembler 1
Defri N
 
Pascal buku
sintyasari_895
 
about C Languages
S N M P Simamora
 
Modul algoritma dan struktur data i
sams Asking Alexandria
 
2 adp penyajian algoritma
Faisal Amir
 
2 adp penyajian algoritma
Faisal Amir
 
Ad

More from ahmad haidaroh (20)

PPTX
Materi 7 Context Free Grammar
ahmad haidaroh
 
PPTX
8 Rekursif
ahmad haidaroh
 
PPTX
6 ANTRIAN - QUEUE
ahmad haidaroh
 
PPTX
5 STACK
ahmad haidaroh
 
PPTX
4 Adt
ahmad haidaroh
 
PPTX
3 Linked List
ahmad haidaroh
 
PPT
2 Array
ahmad haidaroh
 
PPTX
Materi 4 Regular Expression
ahmad haidaroh
 
PPTX
Materi 3 Finite State Automata
ahmad haidaroh
 
PPTX
Materi 3 Finite State Automata
ahmad haidaroh
 
PPTX
Presentasi OSPEK 2018
ahmad haidaroh
 
PPTX
Pertemuan 4 Dioda1
ahmad haidaroh
 
PPTX
Pertemuan 4 Aljabar Boole
ahmad haidaroh
 
PPT
Pertemuan 2&3 - Dasar2 Keamanan Encyption
ahmad haidaroh
 
PPTX
Multiplekser - Demultiplekser - Pertemuan 7
ahmad haidaroh
 
PPT
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
ahmad haidaroh
 
PPTX
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
ahmad haidaroh
 
PPTX
Pertemuan 5a gerbang kombinasi-maxtem-minterm
ahmad haidaroh
 
PPT
Pertemuan 5 gerbang logika dasar n bentukan
ahmad haidaroh
 
PPTX
Aritmatika Biner - Pertemuan 3
ahmad haidaroh
 
Materi 7 Context Free Grammar
ahmad haidaroh
 
8 Rekursif
ahmad haidaroh
 
6 ANTRIAN - QUEUE
ahmad haidaroh
 
3 Linked List
ahmad haidaroh
 
Materi 4 Regular Expression
ahmad haidaroh
 
Materi 3 Finite State Automata
ahmad haidaroh
 
Materi 3 Finite State Automata
ahmad haidaroh
 
Presentasi OSPEK 2018
ahmad haidaroh
 
Pertemuan 4 Dioda1
ahmad haidaroh
 
Pertemuan 4 Aljabar Boole
ahmad haidaroh
 
Pertemuan 2&3 - Dasar2 Keamanan Encyption
ahmad haidaroh
 
Multiplekser - Demultiplekser - Pertemuan 7
ahmad haidaroh
 
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
ahmad haidaroh
 
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
ahmad haidaroh
 
Pertemuan 5a gerbang kombinasi-maxtem-minterm
ahmad haidaroh
 
Pertemuan 5 gerbang logika dasar n bentukan
ahmad haidaroh
 
Aritmatika Biner - Pertemuan 3
ahmad haidaroh
 

Recently uploaded (20)

DOCX
Modul Ajar Deep Learning Informatika Kelas 9 SMP Terbaru 2025
wahyurestu63
 
PPTX
Agenda II CPNS Nilai BerAKHLAK 1234.pptx
Faiza378145
 
DOCX
Modul Ajar Pembelajaran Mendalam Prakarya budidaya Kelas 8 Terbaru 2025
UrayFubie
 
PPTX
Pengantar Pembelajaran Koding dan Kecerdasan Artifisial untuk anak SD
TetiZulianti3
 
PDF
Dampak Sektoral Perjanjian Perdagangan Timbal Balik Amerika Serikat–Indonesia
Dadang Solihin
 
PDF
KELOMPOK 5 Modul 4 PELATIHAN PM KEPALA SEKOLAH
suhendro79
 
DOCX
Modul Ajar Pembelajaran Mendalam Prakarya Pengelolaan Kelas VIII Terbaru 2025
fubierabita
 
DOCX
Modul Ajar KURIKULUM KIK XI kreativitas 1 2025.docx
nur9955
 
DOCX
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 8 SMP Terbaru 2025
wahyurestu63
 
DOCX
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
wahyurestu63
 
DOCX
Modul Ajar Deep Learning Prakarya Pengelolaan Kelas 8 SMP Terbaru 2025
wahyurestu63
 
PPTX
Modul 5. Pedagogik untuk Koding-KA di Dikdasmen.pptx
tahmid951
 
PPTX
MPLS ramah- 8 DIMENSI PROFIL LULUSAN.pptx
dwialfaruq
 
DOCX
Modul Ajar Deep Learning Fisika Kelas 10 Terbaru 2025
wahyurestu63
 
PDF
LOMBA GERAKAN SEKOLAH SEHAT UNTUK SEKOLAH DASAR
widiawati3859
 
PPTX
PPT MAKHLUK HIDUP DAN LINGKUNGANNYA.pptx
sakinahaidah
 
DOCX
Modul Ajar Deep Learning Fisika Kelas 11 Terbaru 2025
wahyurestu63
 
PDF
MODUL 5 KELOMPOK 6 CERIA PELATIHAN PM KEPSEK ASAHAN
suhendro79
 
DOCX
Modul Ajar Pembelajaran Mendalam PKN Kelas 10 Terbaru 2025
UrayFubie
 
DOCX
Modul Ajar Pembelajaran Mendalam PJOK Kelas 11 Terbaru 2025
fubierabita
 
Modul Ajar Deep Learning Informatika Kelas 9 SMP Terbaru 2025
wahyurestu63
 
Agenda II CPNS Nilai BerAKHLAK 1234.pptx
Faiza378145
 
Modul Ajar Pembelajaran Mendalam Prakarya budidaya Kelas 8 Terbaru 2025
UrayFubie
 
Pengantar Pembelajaran Koding dan Kecerdasan Artifisial untuk anak SD
TetiZulianti3
 
Dampak Sektoral Perjanjian Perdagangan Timbal Balik Amerika Serikat–Indonesia
Dadang Solihin
 
KELOMPOK 5 Modul 4 PELATIHAN PM KEPALA SEKOLAH
suhendro79
 
Modul Ajar Pembelajaran Mendalam Prakarya Pengelolaan Kelas VIII Terbaru 2025
fubierabita
 
Modul Ajar KURIKULUM KIK XI kreativitas 1 2025.docx
nur9955
 
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 8 SMP Terbaru 2025
wahyurestu63
 
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
wahyurestu63
 
Modul Ajar Deep Learning Prakarya Pengelolaan Kelas 8 SMP Terbaru 2025
wahyurestu63
 
Modul 5. Pedagogik untuk Koding-KA di Dikdasmen.pptx
tahmid951
 
MPLS ramah- 8 DIMENSI PROFIL LULUSAN.pptx
dwialfaruq
 
Modul Ajar Deep Learning Fisika Kelas 10 Terbaru 2025
wahyurestu63
 
LOMBA GERAKAN SEKOLAH SEHAT UNTUK SEKOLAH DASAR
widiawati3859
 
PPT MAKHLUK HIDUP DAN LINGKUNGANNYA.pptx
sakinahaidah
 
Modul Ajar Deep Learning Fisika Kelas 11 Terbaru 2025
wahyurestu63
 
MODUL 5 KELOMPOK 6 CERIA PELATIHAN PM KEPSEK ASAHAN
suhendro79
 
Modul Ajar Pembelajaran Mendalam PKN Kelas 10 Terbaru 2025
UrayFubie
 
Modul Ajar Pembelajaran Mendalam PJOK Kelas 11 Terbaru 2025
fubierabita
 

Analisis Semantik - P 6 Teknik Kompilasi

  • 2. ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE ANALISIS SEMANTIK Analisis semantik ini memanfaatkan pohon sintaks yang dihasilkan pada proses parsing (analisa sintaks). Fungsi dari analisa semantik adalah untuk menentukan makna dari serangkaian instruksi yang terdapat dalam program sumber. Untuk mengetahui makna, maka rutin analisa semantik akan memeriksa : •Apakah variabel yang ada telah didefinisikan sebelumnya •Apakah variabel–variabel tersebut tipenya sama •Apakah operan yang akan dioperasikan tersebut ada nilainya dan seterusnya. (A+B; dimana A dan B adalah operand dan + adalah operator) Untuk dapat menjalankan fungsi tersebut dengan baik, semantic analyzer seringkali menggunakan tabel simbol. Pemeriksaan bisa dilakukan pada tabel identifier, tabel display dan tabel blok, misal pada field link.
  • 3. ANALISIS SEMANTIK Pengecekan yang dilakukan oleh analisis semantik adalah :  Memeriksa keberlakuan nama–nama meliputi pemeriksaan : Duplikasi Pengecekan apakah sebuah nama terjadi pendefinisian lebih dari satu kali. Pengecekan dilakukan pada bagian pengelola blok. Terdefinisi Pengecekan apakah sebuah nama yang dipakai pada tubuh program sudah terdefinisi atau belum. Pengecekan dilakukan pada semua tempat kecuali blok  Memeriksa tipe Melakukan pemeriksaan terhadap kesesuaian tipe dalam statemen–statemen yang ada. Misal; bila ada operasi antara dua operan maka tipe operan pertama harus bisa dioperasikan dengan operan kedua.
  • 4. KODE ANTARA Kegunaan dari Kode Antara / intermediate code : Untuk memperkecil usaha dalam membangun kompilator dari sejumlah bahasa ke sejumlah mesin Proses optimasi lebih mudah. (dibandingkan pada program sumber atau kode assembly dan kode mesin) Bisa melihat program internal yang gampang dimengerti. 2 macam Kode Antara yang biasa digunakan adalah Notasi Postfix dan N-Tuple
  • 5. KODE ANTARA Notasi Postfix Pada Notasi Postfix operator diletakkan paling akhir. Sintaks Notasi Postfix: < operan><operan><operator> misalkan ekspresi : (a+b)*(c+d) dapat dinyatakan dalam bentuk Notasi Postfix : ab+cd+*
  • 6. KODE ANTARA Kontrol program yang ada dapat diubah kedalam bentuk notasi postfix, misalnya: IF <exp> THEN <stmt1> ELSE <stmt2> Diubah kedalam Notasi Postfix : <exp> <label1> BZ <stmt1> <label2> BR <stmt2> label1 label2 Keterangan :  BZ : branch if zero (zero = salah) {bercabang jika kondisi yang dites salah}  BR : branch {bercabang tanpa ada kondisi yang dites} Arti dari notasi Postfix diatas adalah : “ Jika kondisi ekspresi salah, maka instruksi akan meloncat ke Label1 dan menjalankan statement2. Bila kondisi ekspresi benar, maka statement1 akan dijalankan lalu meloncat ke Label2. Label1 dan Label2 sendiri menunjukkan posisi tujuan loncatan, untuk Label1 posisinya tepat sebelum statement2 dan Label2 setelah statement2.”
  • 7. KODE ANTARA Contoh lain : WHILE <exp> DO <stat> Diubah ke postfix : <exp><label1>BZ<stat><label2>BR label1 label2 Notasi N-Tuple Pada notasi N-Tuple setiap baris bisa terdiri dari beberapa tupel. Format umum dari notasi N-Tuple adalah : operator ………….N-1 operan Notasi N-Tuple yang biasa digunakan adalah notasi 3 tupel dan 4 tupel.
  • 8. Triples Notation Memiliki format : <operator><operand><operand> Contoh, instruksi : A:=D*C+B/E Bila dibuat Kode Antara tripel: 1. *,D,C 2. /,B,E 3. +,(1),(2) 4. :=,A,(3) KODE ANTARA
  • 9. KODE ANTARA Kekurangan dari notasi tripel adalah sulit pada saat melakukan optimasi, maka dikembangkan Indirect Triples yang memiliki dua list (senarai), yaitu list instruksi dan list eksekusi. List instruksi berisi notasi tripel, sedangkan list eksekusi mengatur urutan eksekusinya. Misalnya terdapat urutan instruksi : 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
  • 10. KODE ANTARA Quadruples Notation Format instruksi Quadruples <operator><operan><operan><hasil> • hasil adalah temporary yang bisa ditempatkan pada memory atau register contoh instruksi: A:= D*C + B/E Bila dibuat dalam Kode Antara : 1. *,D,C,T1 2. /,B,E,T2 3. +,T1,T2,A
  • 11. PEMBANGKITAN KODE Kode Antara dari program biasanya ditranslasikan ke bahasa assembly atau bahasa mesin. Contoh : (A+B)*(C+D) Dalam kode antaranya dalam bentuk notasi Quadruples 1. +, A, B, T1 2. +, C, D, T2 3. *, T1, T2, T3 Dapat ditranslasikan ke dalam bahasa assembly dengan akumulator tunggal : LDA A {muat isi A ke akumulator} ADD B {tambahkan isi akumulator dengan B} STO T1 {simpan isi akumulator ke T1} LDA C ADD D STO T2 LDA T1 MUL T2 STO T3
  • 12. Duplikasi Variabel package matematika; public class Matematika { public static void main(String[] args) { double xA = Math.cos(30); double xB = Math.sin(30); int A=4, B=5; double C,D; Int C;  duplikasinya C=A+B; D=A*B; System.out.println(C); System.out.println(D); System.out.println(xA); System.out.println(xB); } }