SlideShare a Scribd company logo
MATERI PERKULIAHAN
TEKNIK KOMPILASI
Ken Kinanti Purnamasari
10
PENANGANAN KESALAHAN,
OPTIMASI KODE,
TABEL INFORMASI
PENANGANAN KESALAHAN
Jenis Penanganan
- Kesalahan LEKSIKAL
- Kesalahan SINTAKS
- Kesalahan SEMANTIK
Kesalahan LEKSIKAL
- Kesalahan mengeja keyword
contoh :
THEN ditulis sebagai TEN
Kesalahan SINTAKS
- Kesalahan penulisan urutan token
contoh :
Operasi aritmatika yang jumlah tanda kurung-nya
kurang / tidak pas.
A := B + ( C *( D + E );
Kesalahan SEMANTIK
- Kesalahan aturan makna
contoh :
 Tipe Data
VAR
Siswa : integer;
BEGIN
Siswa := “Budi”;
END;
Kesalahan SEMANTIK
- Kesalahan aturan makna
contoh :
 Variabel belum didefinisikan
VAR
A : integer;
BEGIN
B := A + 1;
END;
Langkah Penanganan
- Mendeteksi kesalahan
- Melaporkan kesalahan
- Solusi perbaikan
Isi Laporan Kesalahan
- Kode Kesalahan
- Pesan Kesalahan
- Nama dan Atribut Identifier
- Tipe Data
Isi Laporan Kesalahan
Contoh :
Error 14 Hitung : unknown identifier
Artinya :
- Kode Kesalahan : 14
- Pesan Kesalahan : unknown identifier
- Nama Identifier : Hitung
Reaksi Kompilator
Tingkatan reaksi kompilator pada kesalahan :
- Tidak dapat diterima
- Benar, tapi kurang dapat diterima
- Dapat diterima
Reaksi Kompilator
- Reaksi yang tidak dapat diterima
 Compiler crash
 Looping tak berhingga
 Menghasilkan Program Objek yang salah
Reaksi Kompilator
- Reaksi yang kurang dapat diterima
 Setiap menemukan suatu kesalahan,
kompilator melaporkan-nya,
tetapi kemudian berhenti
(harus mengulang proses kompilasi)
Reaksi Kompilator
- Reaksi yang dapat diterima
 Recovery/Memulihkan suatu kesalahan (men-
stabilkan), kemudian menemukan error lainnya
 Repair/Memperbaiki kesalahan (memodifikasi
source-code) dan membuatnya valid
Error Recovery
Mengembalikan compiler ke kondisi stabil
(supaya dapat melanjutkan proses)
Beberapa strategi yang digunakan :
- Mekanisme Ad Hoc
- Syntax Directed Recovery
- Secondary Error Recovery
- Context Sensitive Recovery
Error Recovery
- Mekanisme Ad Hoc
Dilakukan berdasarkan keinginan pembuat
kompilator.
Error Recovery
- Syntax Directed Recovery
Dilakukan berdasarkan sintaks.
Contoh :
begin
A:= A + 1
B := B – 1;
C := B – A;
end;
Dikenali sebagai
begin <stmt> ? <stmt> ; <stmt>; end;
Error Recovery
- Secondary Error Recovery
Dilakukan untuk melokalisasi error.
Terdapat 2 jenis, yaitu :
 Panic Mode
maju terus sampai bertemu delimiter (misalnya “;”)
 Unit Deletion
menghapus keseluruhan unit sintaktik
Error Recovery
- Context Sensitive Recovery
Mengatasi kesalahan semantik.
Contoh :
VAR
A : integer;
BEGIN
B := A + 1;
END;
Maka, tipe data B diasumsikan bertipe integer.
Error Repair
Proses modifikasi program sumber.
(supaya dapat ditranslasi)
Beberapa strategi yang digunakan :
- Mekanisme Ad Hoc
- Syntax Directed Repair
- Context Sensitive Repair
- Spelling Repair
Error Repair
- Mekanisme Ad Hoc
Dilakukan berdasarkan keinginan pembuat
kompilator.
Error Repair
- Syntax Directed Repair
Menyisipkan simbol terminal yang hilang /
menghapus terminal penyebab kesalahan.
Contoh :
WHILE A <= 1
A:= A + 1;
Maka keyword ”DO” akan ditambahkan
Error Repair
- Context Sensitive Repair
Memperbaiki kesalahan semantik.
 Tipe Data
VAR
A : integer;
BEGIN
B := A + 1;
END;
Maka, dibuat definisi variabel baru B yang bertipe integer
Error Repair
- Spelling Repair
Perbaikan kesalahan pengetikan.
WHILLE A>1 DO
Maka, WHILLE akan diganti menjadi WHILE
OPTIMASI KODE
Jenis Optimasi
Menghasilkan program yang lebih efisien.
(ukuran lebih kecil, eksekusi lebih cepat)
Berdasarkan ketergantungan pada mesin :
- Machine Dependent  tergantung mesin
- Machine Independent  tidak tergantung mesin
Jenis Optimasi
Optimasi Machine Independent, dibagi 2 :
- Lokal
- Global
Optimasi LOKAL
- Folding
mengganti ekspresi dengan nilai komputasi.
Contoh :
A := 2 + 3 + B
Diubah menjadi
A := 5 + B
Optimasi LOKAL
- Redundant-Subexpression Elimination
memakai hasil komputasi yang sudah ada.
Contoh :
A := B + C
X := Y + B + C
Bila belum ada perubahan nilai variabel, baris
terakhir
dapat diubah menjadi :
X := Y + A
Optimasi LOKAL
- Optimasi Iterasi
 Loop Unrolling
Mengganti perintah perulangan, dengan
menulis perintah beberapa kali.
Contoh :
FOR i:=1 TO 2 DO
B[i] := 0;
Menjadi :
B[1] := 0;
B[2] := 0;
Optimasi LOKAL
- Optimasi Iterasi
 Frequency Reduction
mengeluarkan operasi yang tidak berubah
kondisi dari dalam perulangan
Optimasi LOKAL
Contoh :
FOR I:=1 TO 10 DO
BEGIN
X := 5;
B := B + X;
END;
Menjadi :
X := 5;
FOR I:=1 TO 10 DO
BEGIN
B := B + X;
END;
Optimasi LOKAL
- Strength Reduction
Penggantian suatu operasi dengan operasi
lain yang lebih cepat dieksekusi.
Contoh :
A := A + 1;
Menjadi :
INC(A);
Optimasi GLOBAL
- Biasanya menggunakan Analisis Flow.
- Analisis ini menggunakan graf untuk
menggambarkan berbagai alur yang
memungkinkan untuk eksekusi program
Optimasi GLOBAL
- Optimasi oleh Programmer
 Bagian kode yang tidak digunakan
Contoh :
X := 5;
IF X=0 THEN
A := A + 1;
Kode A := A + 1 tidak pernah digunakan
Optimasi GLOBAL
- Optimasi oleh Programmer
 Parameter yang tidak digunakan
Procedure Hitung(a,b,c:integer);
var
X : integer
begin
X := a + b;
end;
Parameter C tidak pernah digunakan
Optimasi GLOBAL
- Optimasi oleh Programmer
 Variabel yang tidak digunakan
Program Input;
var
a, b : integer;
begin
a := 5;
end;
Variabel b tidak pernah digunakan
Optimasi GLOBAL
- Optimasi oleh Programmer
 Variabel tanpa nilai awal
Program Tes;
var
a, b : integer;
begin
a := 5;
a := a + b;
end;
Variabel b belum diberikan nilai awal
Optimasi GLOBAL
- Optimasi oleh Kompilator
 Efisiensi program
 Penghapusan kode yang tidak digunakan
TABEL INFORMASI
Jenis Tabel Informasi
 Tabel Identifier  list identifier dalam program
 Tabel Array  list info tambahan untuk array
 Tabel Blok  list variabel pada blok yang sama
 Tabel Real  list elemen tabel bernilai real
 Tabel String  list informasi string
 Tabel display  list blok yang aktif
REFERENSI . . .
Firrar U., Teknik Kompilasi, J&J Learning Yogyakarta,
2001
Alfred v. a. & ullman J.D., Compilers Principles
Technique and Tools, Addison Wesley, 1988
TUGAS BESAR
Buatlah MAKALAH
dari COMPILER yang dibangun !
(source-code input, source-code
compiler, .exe compiler, laporan)
Format Laporan :
> MASUKAN
> ANALISIS LEKSIKAL (Deskripsi & Contoh)
> ANALISIS SINTAKSIS (Deskripsi & Contoh)
> ANALISIS SEMANTIK (Deskripsi & Contoh)
> PENANGANAN KESALAHAN (Deskripsi & Contoh)
> PEMBANGKITAN KODE (Deskripsi & Contoh)
> OPTIMASI KODE (Deskripsi & Contoh)
> KELUARAN (Contoh Input Kode & Keluarannya)
> KESIMPULAN
(Kekurangan & Kelebihan dari Compiler)
> Lampiran :
USER MANUAL (Cara Penggunaan Compiler)

More Related Content

What's hot

Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
Bina Sarana Informatika
 
9. tabel informasi
9. tabel informasi9. tabel informasi
9. tabel informasi
yuster92
 
Pertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanPertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanwillyhayon
 
Rpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunakRpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunak
f' yagami
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
Irwan Anwar
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
ahmad haidaroh
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlineandiseprianto
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
KuliahKita
 
10. model data relasional
10. model data relasional10. model data relasional
10. model data relasional
Abdur Rasyid
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuan
ahmad haidaroh
 
Perkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasiPerkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasi
Rakhmi Khalida, M.M.S.I
 
Testing&implementasi 4
Testing&implementasi 4Testing&implementasi 4
Testing&implementasi 4
aiiniR
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
Uofa_Unsada
 
Bab 2 Aljabar Relasional
Bab 2   Aljabar RelasionalBab 2   Aljabar Relasional
Bab 2 Aljabar Relasional
Ratzman III
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantikyuster92
 
Interupsi
InterupsiInterupsi
Interupsi
achmad_fahmi
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Shofura Kamal
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
Lucha Kamala Putri
 
Dokumen Perencanaan Proyek
Dokumen Perencanaan ProyekDokumen Perencanaan Proyek
Dokumen Perencanaan Proyek
Hamka Aminullah
 

What's hot (20)

Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
9. tabel informasi
9. tabel informasi9. tabel informasi
9. tabel informasi
 
Pertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanPertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakan
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Rpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunakRpl 5-perencanaan proyek perangkat lunak
Rpl 5-perencanaan proyek perangkat lunak
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
10. model data relasional
10. model data relasional10. model data relasional
10. model data relasional
 
Modul 4 representasi pengetahuan
Modul 4   representasi pengetahuanModul 4   representasi pengetahuan
Modul 4 representasi pengetahuan
 
Perkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasiPerkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasi
 
Testing&implementasi 4
Testing&implementasi 4Testing&implementasi 4
Testing&implementasi 4
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
 
Bab 2 Aljabar Relasional
Bab 2   Aljabar RelasionalBab 2   Aljabar Relasional
Bab 2 Aljabar Relasional
 
6. analisis semantik
6. analisis semantik6. analisis semantik
6. analisis semantik
 
Interupsi
InterupsiInterupsi
Interupsi
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
 
Dokumen Perencanaan Proyek
Dokumen Perencanaan ProyekDokumen Perencanaan Proyek
Dokumen Perencanaan Proyek
 

Viewers also liked

Prensentasi teknik kompilasi makalah syntax programming langgue
Prensentasi teknik kompilasi makalah syntax programming langguePrensentasi teknik kompilasi makalah syntax programming langgue
Prensentasi teknik kompilasi makalah syntax programming langgue
Mohamad Suhaimi
 
Teknik Kompilasi
Teknik KompilasiTeknik Kompilasi
Teknik Kompilasi
Irma Yuniar
 
Kohesi leksikal 1
Kohesi leksikal 1Kohesi leksikal 1
Kohesi leksikal 1
Dedi Husnaeni
 
dasar komunikasi
dasar komunikasidasar komunikasi
dasar komunikasi
briverly
 
Komunikasi dalam organisasi
Komunikasi dalam organisasiKomunikasi dalam organisasi
Komunikasi dalam organisasi
Dome Firdaus
 
3.kombis
3.kombis3.kombis
3.kombis
stapa center
 
Komunikasi Bisnis - Pesan Persuasif
Komunikasi Bisnis - Pesan PersuasifKomunikasi Bisnis - Pesan Persuasif
Komunikasi Bisnis - Pesan Persuasif
Muhammad Lazuardi Nuriman
 
2.kombis
2.kombis2.kombis
2.kombis
stapa center
 
Komunikasi bisnis yang effektif dan efisien
Komunikasi bisnis yang effektif dan efisienKomunikasi bisnis yang effektif dan efisien
Komunikasi bisnis yang effektif dan efisien
badar masbadar
 
Pengantar komunikasi bisnis
Pengantar komunikasi bisnisPengantar komunikasi bisnis
Pengantar komunikasi bisnis
Andri Yan
 
Top down and botttom up Parsing
Top down     and botttom up ParsingTop down     and botttom up Parsing
Top down and botttom up Parsing
Gerwin Ocsena
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
tahir khan
 
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #1
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #1Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #1
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #1
Arry Rahmawan
 
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #2
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #2Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #2
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #2
Arry Rahmawan
 
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #5
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #5Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #5
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #5
Arry Rahmawan
 
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #3
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #3Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #3
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #3
Arry Rahmawan
 
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #4
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #4Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #4
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #4
Arry Rahmawan
 
Social Media for Business
Social Media for BusinessSocial Media for Business
Social Media for Business
Presentation Advisors
 

Viewers also liked (19)

Prensentasi teknik kompilasi makalah syntax programming langgue
Prensentasi teknik kompilasi makalah syntax programming langguePrensentasi teknik kompilasi makalah syntax programming langgue
Prensentasi teknik kompilasi makalah syntax programming langgue
 
Teknik kompilasi
Teknik kompilasiTeknik kompilasi
Teknik kompilasi
 
Teknik Kompilasi
Teknik KompilasiTeknik Kompilasi
Teknik Kompilasi
 
Kohesi leksikal 1
Kohesi leksikal 1Kohesi leksikal 1
Kohesi leksikal 1
 
dasar komunikasi
dasar komunikasidasar komunikasi
dasar komunikasi
 
Komunikasi dalam organisasi
Komunikasi dalam organisasiKomunikasi dalam organisasi
Komunikasi dalam organisasi
 
3.kombis
3.kombis3.kombis
3.kombis
 
Komunikasi Bisnis - Pesan Persuasif
Komunikasi Bisnis - Pesan PersuasifKomunikasi Bisnis - Pesan Persuasif
Komunikasi Bisnis - Pesan Persuasif
 
2.kombis
2.kombis2.kombis
2.kombis
 
Komunikasi bisnis yang effektif dan efisien
Komunikasi bisnis yang effektif dan efisienKomunikasi bisnis yang effektif dan efisien
Komunikasi bisnis yang effektif dan efisien
 
Pengantar komunikasi bisnis
Pengantar komunikasi bisnisPengantar komunikasi bisnis
Pengantar komunikasi bisnis
 
Top down and botttom up Parsing
Top down     and botttom up ParsingTop down     and botttom up Parsing
Top down and botttom up Parsing
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #1
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #1Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #1
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #1
 
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #2
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #2Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #2
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #2
 
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #5
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #5Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #5
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #5
 
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #3
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #3Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #3
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #3
 
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #4
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #4Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #4
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #4
 
Social Media for Business
Social Media for BusinessSocial Media for Business
Social Media for Business
 

Similar to penanganan kesalahan, optimasi kode, tabel informasi (Teknik Kompilasi)

Error Handling - P 7
Error Handling - P 7Error Handling - P 7
Error Handling - P 7
ahmad haidaroh
 
Lesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.pptLesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.ppt
AlTechnology
 
Pengenalan bahasa C++
Pengenalan bahasa C++Pengenalan bahasa C++
Pengenalan bahasa C++
Andari Ursulla
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
windi1
 
Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstruktur
Meiland Meebo
 
Modul c++
Modul c++Modul c++
Modul c++
Kiki MochRifki
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
givaro igfar
 
modul algoritma Bab 1
modul algoritma Bab 1modul algoritma Bab 1
modul algoritma Bab 1
Eko Widyanto Napitupulu
 
PENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTURPENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTUR
EDIS BLOG
 
1999 turbo-pascal
1999 turbo-pascal1999 turbo-pascal
1999 turbo-pascal
Jaga Raksa Abdul
 
Laporan Praktikum 3 DPK Operator
Laporan Praktikum 3 DPK OperatorLaporan Praktikum 3 DPK Operator
Laporan Praktikum 3 DPK Operator
Hanifah Has
 
432.ppt
432.ppt432.ppt
Pengenalan konsep pemrograman
Pengenalan konsep pemrogramanPengenalan konsep pemrograman
Pengenalan konsep pemrograman
purispace
 
Teknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan NumerisTeknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan Numeris
AhnafFattanSafaraz
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++
Rangga Ananto
 
P1 algoritma dan flowchart
P1 algoritma dan flowchartP1 algoritma dan flowchart
P1 algoritma dan flowchart
PT. Likers Fice.com
 
P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2
PT. Likers Fice.com
 
P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2
PT. Likers Fice.com
 
Materi matakuliah bahasa c
Materi matakuliah bahasa cMateri matakuliah bahasa c
Materi matakuliah bahasa c
Izhan Nassuha
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
Devi Apriansyah
 

Similar to penanganan kesalahan, optimasi kode, tabel informasi (Teknik Kompilasi) (20)

Error Handling - P 7
Error Handling - P 7Error Handling - P 7
Error Handling - P 7
 
Lesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.pptLesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.ppt
 
Pengenalan bahasa C++
Pengenalan bahasa C++Pengenalan bahasa C++
Pengenalan bahasa C++
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstruktur
 
Modul c++
Modul c++Modul c++
Modul c++
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
modul algoritma Bab 1
modul algoritma Bab 1modul algoritma Bab 1
modul algoritma Bab 1
 
PENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTURPENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTUR
 
1999 turbo-pascal
1999 turbo-pascal1999 turbo-pascal
1999 turbo-pascal
 
Laporan Praktikum 3 DPK Operator
Laporan Praktikum 3 DPK OperatorLaporan Praktikum 3 DPK Operator
Laporan Praktikum 3 DPK Operator
 
432.ppt
432.ppt432.ppt
432.ppt
 
Pengenalan konsep pemrograman
Pengenalan konsep pemrogramanPengenalan konsep pemrograman
Pengenalan konsep pemrograman
 
Teknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan NumerisTeknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan Numeris
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++
 
P1 algoritma dan flowchart
P1 algoritma dan flowchartP1 algoritma dan flowchart
P1 algoritma dan flowchart
 
P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2
 
P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2P1 algoritma dan flowchart 2
P1 algoritma dan flowchart 2
 
Materi matakuliah bahasa c
Materi matakuliah bahasa cMateri matakuliah bahasa c
Materi matakuliah bahasa c
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
 

More from Kukuh Setiawan

Algoritma Pencarian String matching
Algoritma Pencarian String matching Algoritma Pencarian String matching
Algoritma Pencarian String matching
Kukuh Setiawan
 
CPM (Network Planning CPM) - Manajemen proyek
CPM (Network Planning CPM) - Manajemen proyekCPM (Network Planning CPM) - Manajemen proyek
CPM (Network Planning CPM) - Manajemen proyek
Kukuh Setiawan
 
A very brief history of GITJ
A very brief history of GITJA very brief history of GITJ
A very brief history of GITJ
Kukuh Setiawan
 
Manajemen Proyek (CPM, PIM, EVM)
Manajemen Proyek (CPM, PIM, EVM)Manajemen Proyek (CPM, PIM, EVM)
Manajemen Proyek (CPM, PIM, EVM)
Kukuh Setiawan
 
Commander Wish Kapolri
Commander Wish KapolriCommander Wish Kapolri
Commander Wish Kapolri
Kukuh Setiawan
 
PAPARAN KARODALOPS SOPS POLRI
PAPARAN KARODALOPS SOPS POLRIPAPARAN KARODALOPS SOPS POLRI
PAPARAN KARODALOPS SOPS POLRI
Kukuh Setiawan
 
Tindak lanjut penjabaran program prioritas kapolri
Tindak lanjut penjabaran program prioritas kapolriTindak lanjut penjabaran program prioritas kapolri
Tindak lanjut penjabaran program prioritas kapolri
Kukuh Setiawan
 
Standar pelayanan publik ( s p p ) point
Standar pelayanan publik ( s p p ) pointStandar pelayanan publik ( s p p ) point
Standar pelayanan publik ( s p p ) point
Kukuh Setiawan
 
Sop upt terminal bandung
Sop upt terminal bandungSop upt terminal bandung
Sop upt terminal bandung
Kukuh Setiawan
 
Shottcut Word 2013
Shottcut Word 2013Shottcut Word 2013
Shottcut Word 2013
Kukuh Setiawan
 
Hidden Markov Model Classification And Gabor Filter Preprocessing
Hidden Markov Model Classification And Gabor Filter PreprocessingHidden Markov Model Classification And Gabor Filter Preprocessing
Hidden Markov Model Classification And Gabor Filter Preprocessing
Kukuh Setiawan
 
Seajarah upt dishub kota bandung
Seajarah upt dishub kota bandungSeajarah upt dishub kota bandung
Seajarah upt dishub kota bandung
Kukuh Setiawan
 
Mekanisme penyetoran retribusi parkir dishub kota bandung
Mekanisme penyetoran retribusi parkir dishub kota bandungMekanisme penyetoran retribusi parkir dishub kota bandung
Mekanisme penyetoran retribusi parkir dishub kota bandung
Kukuh Setiawan
 
Analisis penerimaan pengguna smile di unit planning deployment pt. telkom den...
Analisis penerimaan pengguna smile di unit planning deployment pt. telkom den...Analisis penerimaan pengguna smile di unit planning deployment pt. telkom den...
Analisis penerimaan pengguna smile di unit planning deployment pt. telkom den...
Kukuh Setiawan
 
Ekspose kadishub review renstra
Ekspose kadishub review renstraEkspose kadishub review renstra
Ekspose kadishub review renstra
Kukuh Setiawan
 
Publikasi Karya Ilmiah Tahun 2014 (Jurnal Internasional)
Publikasi Karya Ilmiah Tahun 2014 (Jurnal Internasional)Publikasi Karya Ilmiah Tahun 2014 (Jurnal Internasional)
Publikasi Karya Ilmiah Tahun 2014 (Jurnal Internasional)
Kukuh Setiawan
 
3 Jam Menguasai Pemrograman C/C++ Edisi 1
3 Jam Menguasai Pemrograman C/C++ Edisi 13 Jam Menguasai Pemrograman C/C++ Edisi 1
3 Jam Menguasai Pemrograman C/C++ Edisi 1
Kukuh Setiawan
 
System Informasi Rental Komik
System Informasi Rental Komik System Informasi Rental Komik
System Informasi Rental Komik
Kukuh Setiawan
 
Sistem inferensi fuzzy metode mamdani
Sistem inferensi fuzzy metode mamdaniSistem inferensi fuzzy metode mamdani
Sistem inferensi fuzzy metode mamdani
Kukuh Setiawan
 
Robotika
RobotikaRobotika
Robotika
Kukuh Setiawan
 

More from Kukuh Setiawan (20)

Algoritma Pencarian String matching
Algoritma Pencarian String matching Algoritma Pencarian String matching
Algoritma Pencarian String matching
 
CPM (Network Planning CPM) - Manajemen proyek
CPM (Network Planning CPM) - Manajemen proyekCPM (Network Planning CPM) - Manajemen proyek
CPM (Network Planning CPM) - Manajemen proyek
 
A very brief history of GITJ
A very brief history of GITJA very brief history of GITJ
A very brief history of GITJ
 
Manajemen Proyek (CPM, PIM, EVM)
Manajemen Proyek (CPM, PIM, EVM)Manajemen Proyek (CPM, PIM, EVM)
Manajemen Proyek (CPM, PIM, EVM)
 
Commander Wish Kapolri
Commander Wish KapolriCommander Wish Kapolri
Commander Wish Kapolri
 
PAPARAN KARODALOPS SOPS POLRI
PAPARAN KARODALOPS SOPS POLRIPAPARAN KARODALOPS SOPS POLRI
PAPARAN KARODALOPS SOPS POLRI
 
Tindak lanjut penjabaran program prioritas kapolri
Tindak lanjut penjabaran program prioritas kapolriTindak lanjut penjabaran program prioritas kapolri
Tindak lanjut penjabaran program prioritas kapolri
 
Standar pelayanan publik ( s p p ) point
Standar pelayanan publik ( s p p ) pointStandar pelayanan publik ( s p p ) point
Standar pelayanan publik ( s p p ) point
 
Sop upt terminal bandung
Sop upt terminal bandungSop upt terminal bandung
Sop upt terminal bandung
 
Shottcut Word 2013
Shottcut Word 2013Shottcut Word 2013
Shottcut Word 2013
 
Hidden Markov Model Classification And Gabor Filter Preprocessing
Hidden Markov Model Classification And Gabor Filter PreprocessingHidden Markov Model Classification And Gabor Filter Preprocessing
Hidden Markov Model Classification And Gabor Filter Preprocessing
 
Seajarah upt dishub kota bandung
Seajarah upt dishub kota bandungSeajarah upt dishub kota bandung
Seajarah upt dishub kota bandung
 
Mekanisme penyetoran retribusi parkir dishub kota bandung
Mekanisme penyetoran retribusi parkir dishub kota bandungMekanisme penyetoran retribusi parkir dishub kota bandung
Mekanisme penyetoran retribusi parkir dishub kota bandung
 
Analisis penerimaan pengguna smile di unit planning deployment pt. telkom den...
Analisis penerimaan pengguna smile di unit planning deployment pt. telkom den...Analisis penerimaan pengguna smile di unit planning deployment pt. telkom den...
Analisis penerimaan pengguna smile di unit planning deployment pt. telkom den...
 
Ekspose kadishub review renstra
Ekspose kadishub review renstraEkspose kadishub review renstra
Ekspose kadishub review renstra
 
Publikasi Karya Ilmiah Tahun 2014 (Jurnal Internasional)
Publikasi Karya Ilmiah Tahun 2014 (Jurnal Internasional)Publikasi Karya Ilmiah Tahun 2014 (Jurnal Internasional)
Publikasi Karya Ilmiah Tahun 2014 (Jurnal Internasional)
 
3 Jam Menguasai Pemrograman C/C++ Edisi 1
3 Jam Menguasai Pemrograman C/C++ Edisi 13 Jam Menguasai Pemrograman C/C++ Edisi 1
3 Jam Menguasai Pemrograman C/C++ Edisi 1
 
System Informasi Rental Komik
System Informasi Rental Komik System Informasi Rental Komik
System Informasi Rental Komik
 
Sistem inferensi fuzzy metode mamdani
Sistem inferensi fuzzy metode mamdaniSistem inferensi fuzzy metode mamdani
Sistem inferensi fuzzy metode mamdani
 
Robotika
RobotikaRobotika
Robotika
 

penanganan kesalahan, optimasi kode, tabel informasi (Teknik Kompilasi)

  • 1. MATERI PERKULIAHAN TEKNIK KOMPILASI Ken Kinanti Purnamasari 10 PENANGANAN KESALAHAN, OPTIMASI KODE, TABEL INFORMASI
  • 3. Jenis Penanganan - Kesalahan LEKSIKAL - Kesalahan SINTAKS - Kesalahan SEMANTIK
  • 4. Kesalahan LEKSIKAL - Kesalahan mengeja keyword contoh : THEN ditulis sebagai TEN
  • 5. Kesalahan SINTAKS - Kesalahan penulisan urutan token contoh : Operasi aritmatika yang jumlah tanda kurung-nya kurang / tidak pas. A := B + ( C *( D + E );
  • 6. Kesalahan SEMANTIK - Kesalahan aturan makna contoh :  Tipe Data VAR Siswa : integer; BEGIN Siswa := “Budi”; END;
  • 7. Kesalahan SEMANTIK - Kesalahan aturan makna contoh :  Variabel belum didefinisikan VAR A : integer; BEGIN B := A + 1; END;
  • 8. Langkah Penanganan - Mendeteksi kesalahan - Melaporkan kesalahan - Solusi perbaikan
  • 9. Isi Laporan Kesalahan - Kode Kesalahan - Pesan Kesalahan - Nama dan Atribut Identifier - Tipe Data
  • 10. Isi Laporan Kesalahan Contoh : Error 14 Hitung : unknown identifier Artinya : - Kode Kesalahan : 14 - Pesan Kesalahan : unknown identifier - Nama Identifier : Hitung
  • 11. Reaksi Kompilator Tingkatan reaksi kompilator pada kesalahan : - Tidak dapat diterima - Benar, tapi kurang dapat diterima - Dapat diterima
  • 12. Reaksi Kompilator - Reaksi yang tidak dapat diterima  Compiler crash  Looping tak berhingga  Menghasilkan Program Objek yang salah
  • 13. Reaksi Kompilator - Reaksi yang kurang dapat diterima  Setiap menemukan suatu kesalahan, kompilator melaporkan-nya, tetapi kemudian berhenti (harus mengulang proses kompilasi)
  • 14. Reaksi Kompilator - Reaksi yang dapat diterima  Recovery/Memulihkan suatu kesalahan (men- stabilkan), kemudian menemukan error lainnya  Repair/Memperbaiki kesalahan (memodifikasi source-code) dan membuatnya valid
  • 15. Error Recovery Mengembalikan compiler ke kondisi stabil (supaya dapat melanjutkan proses) Beberapa strategi yang digunakan : - Mekanisme Ad Hoc - Syntax Directed Recovery - Secondary Error Recovery - Context Sensitive Recovery
  • 16. Error Recovery - Mekanisme Ad Hoc Dilakukan berdasarkan keinginan pembuat kompilator.
  • 17. Error Recovery - Syntax Directed Recovery Dilakukan berdasarkan sintaks. Contoh : begin A:= A + 1 B := B – 1; C := B – A; end; Dikenali sebagai begin <stmt> ? <stmt> ; <stmt>; end;
  • 18. Error Recovery - Secondary Error Recovery Dilakukan untuk melokalisasi error. Terdapat 2 jenis, yaitu :  Panic Mode maju terus sampai bertemu delimiter (misalnya “;”)  Unit Deletion menghapus keseluruhan unit sintaktik
  • 19. Error Recovery - Context Sensitive Recovery Mengatasi kesalahan semantik. Contoh : VAR A : integer; BEGIN B := A + 1; END; Maka, tipe data B diasumsikan bertipe integer.
  • 20. Error Repair Proses modifikasi program sumber. (supaya dapat ditranslasi) Beberapa strategi yang digunakan : - Mekanisme Ad Hoc - Syntax Directed Repair - Context Sensitive Repair - Spelling Repair
  • 21. Error Repair - Mekanisme Ad Hoc Dilakukan berdasarkan keinginan pembuat kompilator.
  • 22. Error Repair - Syntax Directed Repair Menyisipkan simbol terminal yang hilang / menghapus terminal penyebab kesalahan. Contoh : WHILE A <= 1 A:= A + 1; Maka keyword ”DO” akan ditambahkan
  • 23. Error Repair - Context Sensitive Repair Memperbaiki kesalahan semantik.  Tipe Data VAR A : integer; BEGIN B := A + 1; END; Maka, dibuat definisi variabel baru B yang bertipe integer
  • 24. Error Repair - Spelling Repair Perbaikan kesalahan pengetikan. WHILLE A>1 DO Maka, WHILLE akan diganti menjadi WHILE
  • 26. Jenis Optimasi Menghasilkan program yang lebih efisien. (ukuran lebih kecil, eksekusi lebih cepat) Berdasarkan ketergantungan pada mesin : - Machine Dependent  tergantung mesin - Machine Independent  tidak tergantung mesin
  • 27. Jenis Optimasi Optimasi Machine Independent, dibagi 2 : - Lokal - Global
  • 28. Optimasi LOKAL - Folding mengganti ekspresi dengan nilai komputasi. Contoh : A := 2 + 3 + B Diubah menjadi A := 5 + B
  • 29. Optimasi LOKAL - Redundant-Subexpression Elimination memakai hasil komputasi yang sudah ada. Contoh : A := B + C X := Y + B + C Bila belum ada perubahan nilai variabel, baris terakhir dapat diubah menjadi : X := Y + A
  • 30. Optimasi LOKAL - Optimasi Iterasi  Loop Unrolling Mengganti perintah perulangan, dengan menulis perintah beberapa kali. Contoh : FOR i:=1 TO 2 DO B[i] := 0; Menjadi : B[1] := 0; B[2] := 0;
  • 31. Optimasi LOKAL - Optimasi Iterasi  Frequency Reduction mengeluarkan operasi yang tidak berubah kondisi dari dalam perulangan
  • 32. Optimasi LOKAL Contoh : FOR I:=1 TO 10 DO BEGIN X := 5; B := B + X; END; Menjadi : X := 5; FOR I:=1 TO 10 DO BEGIN B := B + X; END;
  • 33. Optimasi LOKAL - Strength Reduction Penggantian suatu operasi dengan operasi lain yang lebih cepat dieksekusi. Contoh : A := A + 1; Menjadi : INC(A);
  • 34. Optimasi GLOBAL - Biasanya menggunakan Analisis Flow. - Analisis ini menggunakan graf untuk menggambarkan berbagai alur yang memungkinkan untuk eksekusi program
  • 35. Optimasi GLOBAL - Optimasi oleh Programmer  Bagian kode yang tidak digunakan Contoh : X := 5; IF X=0 THEN A := A + 1; Kode A := A + 1 tidak pernah digunakan
  • 36. Optimasi GLOBAL - Optimasi oleh Programmer  Parameter yang tidak digunakan Procedure Hitung(a,b,c:integer); var X : integer begin X := a + b; end; Parameter C tidak pernah digunakan
  • 37. Optimasi GLOBAL - Optimasi oleh Programmer  Variabel yang tidak digunakan Program Input; var a, b : integer; begin a := 5; end; Variabel b tidak pernah digunakan
  • 38. Optimasi GLOBAL - Optimasi oleh Programmer  Variabel tanpa nilai awal Program Tes; var a, b : integer; begin a := 5; a := a + b; end; Variabel b belum diberikan nilai awal
  • 39. Optimasi GLOBAL - Optimasi oleh Kompilator  Efisiensi program  Penghapusan kode yang tidak digunakan
  • 41. Jenis Tabel Informasi  Tabel Identifier  list identifier dalam program  Tabel Array  list info tambahan untuk array  Tabel Blok  list variabel pada blok yang sama  Tabel Real  list elemen tabel bernilai real  Tabel String  list informasi string  Tabel display  list blok yang aktif
  • 42. REFERENSI . . . Firrar U., Teknik Kompilasi, J&J Learning Yogyakarta, 2001 Alfred v. a. & ullman J.D., Compilers Principles Technique and Tools, Addison Wesley, 1988
  • 43. TUGAS BESAR Buatlah MAKALAH dari COMPILER yang dibangun ! (source-code input, source-code compiler, .exe compiler, laporan)
  • 44. Format Laporan : > MASUKAN > ANALISIS LEKSIKAL (Deskripsi & Contoh) > ANALISIS SINTAKSIS (Deskripsi & Contoh) > ANALISIS SEMANTIK (Deskripsi & Contoh) > PENANGANAN KESALAHAN (Deskripsi & Contoh) > PEMBANGKITAN KODE (Deskripsi & Contoh) > OPTIMASI KODE (Deskripsi & Contoh) > KELUARAN (Contoh Input Kode & Keluarannya) > KESIMPULAN (Kekurangan & Kelebihan dari Compiler) > Lampiran : USER MANUAL (Cara Penggunaan Compiler)