Dokumen tersebut membahas tentang materi perkuliahan teknik kompilasi yang mencakup penanganan kesalahan, optimasi kode, dan tabel informasi. Topik utama yang disinggung adalah jenis-jenis penanganan kesalahan dalam kompilasi, teknik recovery dan repair untuk menangani kesalahan, serta jenis-jenis optimasi kode dan tabel informasi yang digunakan dalam kompilasi.
Kode antara / Intermediate code merupakan hasil dari tahapan analisis, yang dibuat oleh kompilator pada saat mentranslasikan program dari bahasa tingkat tinggi
Program mengisi register Y dengan melakukan beberapa operasi aritmatika dan logika terhadap register dan memori. Register Y akhirnya berisi 20 setelah melalui proses LOAD, ADD, SUB, MPY, dan DIV.
Kode antara / Intermediate code merupakan hasil dari tahapan analisis, yang dibuat oleh kompilator pada saat mentranslasikan program dari bahasa tingkat tinggi
Program mengisi register Y dengan melakukan beberapa operasi aritmatika dan logika terhadap register dan memori. Register Y akhirnya berisi 20 setelah melalui proses LOAD, ADD, SUB, MPY, dan DIV.
1. Tabel simbol digunakan untuk menyimpan informasi tentang identifier seperti nama, tipe, ukuran, dan alamat variabel yang digunakan dalam program sumber.
2. Terdiri dari beberapa tabel seperti tabel identifier, tabel array, tabel blok, tabel real, tabel string, dan tabel display.
3. Masing-masing tabel menyimpan informasi tertentu seperti nama, tipe, ukuran, nilai, dan blok yang aktif untuk memudahkan proses analisis semantik dan pembangkitan
Dokumen tersebut membahas proses perencanaan proyek perangkat lunak yang meliputi penentuan ruang lingkup, estimasi sumber daya yang dibutuhkan, dan teknik-teknik estimasi seperti berbasis line of code, function point, proses, dan model empiris seperti COCOMO."
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
Dokumen tersebut membahas kompleksitas algoritma dan notasi O-besar untuk menentukan orde pertumbuhan fungsi waktu algoritma. Notasi O-besar digunakan untuk membandingkan beberapa algoritma penyelesaian masalah dan menentukan algoritma terbaik berdasarkan orde pertumbuhannya.
Dokumen tersebut membahas tentang compiler, meliputi proses kompilasi, jenis-jenis translator seperti interpreter dan compiler, serta cara pembuatan compiler menggunakan bahasa pemrograman tingkat tinggi.
Teknik Pengujian Perangkat Lunak membahas berbagai teknik pengujian perangkat lunak termasuk rencana pengujian, proses pengujian, pengujian berbasis kasus, pengujian putih dan hitam, serta pengujian berbasis objek.
Dokumen tersebut membahas tentang bahasa query formal basis data relasional yaitu SQL dan aljabar relasional. Aljabar relasional merupakan kumpulan operasi yang diterapkan pada relasi untuk menghasilkan relasi baru, meliputi seleksi, proyeksi, produk kartesian, penyatuan, perbedaan himpunan, penamaan ulang, irisan himpunan, join, outer join, dan pembagian.
Interupsi adalah permintaan khusus pada mikroprosesor untuk menghentikan tugas saat ini dan melakukan tugas lain, seperti layanan I/O. Fungsinya meliputi pengalihan pengolahan instruksi ke rutin layanan interupsi dan manajemen pengeksekusian rutin antara CPU dan modul I/O. Jenis interupsi termasuk internal, eksternal, dan perangkat lunak. Penyebabnya seperti program, kegagalan perangkat keras, timer, dan penanganan ek
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLShofura Kamal
Dokumen tersebut memberikan penjelasan tentang langkah-langkah membuat basis data perpustakaan menggunakan MySQL, meliputi pembuatan database, tabel, dan field-fieldnya. Tujuh tabel dibuat untuk menyimpan data pegawai, jenis buku, penerbit, deskripsi buku, buku, anggota, dan penulis.
1. Tabel simbol digunakan untuk menyimpan informasi tentang identifier seperti nama, tipe, ukuran, dan alamat variabel yang digunakan dalam program sumber.
2. Terdiri dari beberapa tabel seperti tabel identifier, tabel array, tabel blok, tabel real, tabel string, dan tabel display.
3. Masing-masing tabel menyimpan informasi tertentu seperti nama, tipe, ukuran, nilai, dan blok yang aktif untuk memudahkan proses analisis semantik dan pembangkitan
Dokumen tersebut membahas proses perencanaan proyek perangkat lunak yang meliputi penentuan ruang lingkup, estimasi sumber daya yang dibutuhkan, dan teknik-teknik estimasi seperti berbasis line of code, function point, proses, dan model empiris seperti COCOMO."
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
Dokumen tersebut membahas kompleksitas algoritma dan notasi O-besar untuk menentukan orde pertumbuhan fungsi waktu algoritma. Notasi O-besar digunakan untuk membandingkan beberapa algoritma penyelesaian masalah dan menentukan algoritma terbaik berdasarkan orde pertumbuhannya.
Dokumen tersebut membahas tentang compiler, meliputi proses kompilasi, jenis-jenis translator seperti interpreter dan compiler, serta cara pembuatan compiler menggunakan bahasa pemrograman tingkat tinggi.
Teknik Pengujian Perangkat Lunak membahas berbagai teknik pengujian perangkat lunak termasuk rencana pengujian, proses pengujian, pengujian berbasis kasus, pengujian putih dan hitam, serta pengujian berbasis objek.
Dokumen tersebut membahas tentang bahasa query formal basis data relasional yaitu SQL dan aljabar relasional. Aljabar relasional merupakan kumpulan operasi yang diterapkan pada relasi untuk menghasilkan relasi baru, meliputi seleksi, proyeksi, produk kartesian, penyatuan, perbedaan himpunan, penamaan ulang, irisan himpunan, join, outer join, dan pembagian.
Interupsi adalah permintaan khusus pada mikroprosesor untuk menghentikan tugas saat ini dan melakukan tugas lain, seperti layanan I/O. Fungsinya meliputi pengalihan pengolahan instruksi ke rutin layanan interupsi dan manajemen pengeksekusian rutin antara CPU dan modul I/O. Jenis interupsi termasuk internal, eksternal, dan perangkat lunak. Penyebabnya seperti program, kegagalan perangkat keras, timer, dan penanganan ek
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLShofura Kamal
Dokumen tersebut memberikan penjelasan tentang langkah-langkah membuat basis data perpustakaan menggunakan MySQL, meliputi pembuatan database, tabel, dan field-fieldnya. Tujuh tabel dibuat untuk menyimpan data pegawai, jenis buku, penerbit, deskripsi buku, buku, anggota, dan penulis.
The document discusses why good communication skills are important, especially in today's competitive business environment. It outlines different types of communication, including casual communication among employees, planned communication among insiders, and formal/informal internal and external communication. The document also discusses characteristics of effective messages, why business communication is unique due to factors like globalization and new corporate structures, the communication process, common barriers to communication, and tips for effective and ethical communication.
Dokumen tersebut membahas tentang informasi dan komunikasi dalam organisasi. Informasi adalah hasil pengolahan data yang digunakan untuk meningkatkan pengetahuan, mengurangi ketidakpastian, dan menggambarkan suatu kejadian. Komunikasi yang baik dapat meningkatkan efisiensi, kualitas kerja, tanggung jawab, dan mencegah konflik dalam organisasi. Ada tiga pola komunikasi yaitu komunikasi ke atas, ke bawah, dan horizontal.
Pesan persuasif membutuhkan perencanaan yang matang, termasuk analisis audiens, pendekatan organisasi yang tepat, pengembangan pesan yang kredibel dan daya tarik, serta penggunaan bahasa yang jelas. Faktor-faktor kunci keberhasilan antara lain memilih pemikat emosi atau logika, mempertimbangkan etika, dan menggunakan bahasa sederhana yang mudah dipahami audiens.
Dokumen tersebut membahas tentang komunikasi organisasi dan faktor-faktor yang mempengaruhinya. Komunikasi organisasi terjadi melalui berbagai saluran formal maupun informal, dan dapat bergerak ke atas, bawah, atau secara horizontal. Ada beberapa hambatan untuk komunikasi yang efektif seperti penyaringan informasi, persepsi selektif, kelebihan informasi, emosi, dan bahasa.
Komunikasi bisnis yang effektif dan efisienbadar masbadar
Komunikasi bisnis yang efektif dan efisien sangat penting untuk membangun reputasi dan kepercayaan kustomer serta hubungan jangka panjang dengan karyawan dan kustomer. Keberhasilan bisnis bergantung pada efektivitas komunikasi, dimana komunikasi yang lebih efektif akan menghasilkan nilai yang lebih positif. Komunikasi bisnis yang efektif diperlukan untuk bertahan dan berkembang dalam dunia bisnis.
This document discusses communication in business. It first defines communication according to Harold Lasswell's model of "who says what in which channel to whom with what effect." It then lists the top factors that drive success in the financial planning industry according to a survey, with people and communication skills being the most important. Finally, it outlines the main functions of communication as conveying information, educating, entertaining, influencing, and promoting.
The document discusses top-down and bottom-up parsing techniques. Top-down parsing constructs a parse tree starting from the root node and progresses depth-first. It can require backtracking. Bottom-up parsing uses shift-reduce parsing, shifting input symbols onto a stack until they can be reduced based on grammar rules.
This document discusses 3-tier architecture, which divides applications into presentation, application, and data tiers. The presentation tier handles the user interface, the application tier contains business logic, and the data tier stores information in a database. 3-tier architecture provides benefits like scalability, improved security, reduced distribution complexity, and maintainability. However, it also increases complexity compared to 2-tier systems. The document uses web and mobile applications as common examples of 3-tier architectures and explains how each tier is separated but communicates through standard interfaces.
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #1Arry Rahmawan
Ketika saya mengampu mata kuliah permodelan sistem, di mana mata kuliah ini merupakan mata kuliah untuk mahasiswa tingkat 3, saya menugaskan mahasiswa untuk melakukan sebuah penelitian sederhana dengan menerapkan prinsip - prinsip ilmiah ke lapangan langsung. Saya juga menantang mereka untuk dapat mempresentasikan hasil penelitian mereka dengan tampilan slide yang tidak biasa dan menjemukan. Hingga akhirnya, inilah beberapa di antaranya. Bagaimana menurut Anda?
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #2Arry Rahmawan
Ketika saya mengampu mata kuliah permodelan sistem, di mana mata kuliah ini merupakan mata kuliah untuk mahasiswa tingkat 3, saya menugaskan mahasiswa untuk melakukan sebuah penelitian sederhana dengan menerapkan prinsip - prinsip ilmiah ke lapangan langsung. Saya juga menantang mereka untuk dapat mempresentasikan hasil penelitian mereka dengan tampilan slide yang tidak biasa dan menjemukan. Hingga akhirnya, inilah beberapa di antaranya. Bagaimana menurut Anda?
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #5Arry Rahmawan
Ketika saya mengampu mata kuliah permodelan sistem, di mana mata kuliah ini merupakan mata kuliah untuk mahasiswa tingkat 3, saya menugaskan mahasiswa untuk melakukan sebuah penelitian sederhana dengan menerapkan prinsip - prinsip ilmiah ke lapangan langsung. Saya juga menantang mereka untuk dapat mempresentasikan hasil penelitian mereka dengan tampilan slide yang tidak biasa dan menjemukan. Hingga akhirnya, inilah beberapa di antaranya. Bagaimana menurut Anda?
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #3Arry Rahmawan
Ketika saya mengampu mata kuliah permodelan sistem, di mana mata kuliah ini merupakan mata kuliah untuk mahasiswa tingkat 3, saya menugaskan mahasiswa untuk melakukan sebuah penelitian sederhana dengan menerapkan prinsip - prinsip ilmiah ke lapangan langsung. Saya juga menantang mereka untuk dapat mempresentasikan hasil penelitian mereka dengan tampilan slide yang tidak biasa dan menjemukan. Hingga akhirnya, inilah beberapa di antaranya. Bagaimana menurut Anda?
Contoh Desain Slide Presentasi Ilmiah Kreatif dan Menarik #4Arry Rahmawan
Ketika saya mengampu mata kuliah permodelan sistem, di mana mata kuliah ini merupakan mata kuliah untuk mahasiswa tingkat 3, saya menugaskan mahasiswa untuk melakukan sebuah penelitian sederhana dengan menerapkan prinsip - prinsip ilmiah ke lapangan langsung. Saya juga menantang mereka untuk dapat mempresentasikan hasil penelitian mereka dengan tampilan slide yang tidak biasa dan menjemukan. Hingga akhirnya, inilah beberapa di antaranya. Bagaimana menurut Anda?
In our web 2.0 world, the business landscape has changed. Consumers refuse to be interrupted anymore - demanding that brands engage with them.
People do business with people they like, know, and trust. By utilizing the social media tools available to all of us, businesses can become human. By creating valuable content and engaging with customers where they are, businesses are creating real relationships, resulting in real trust.
This presentation offers a high-level overview to where we've been, where we are, and we're we are going in social media. It gives simple-to-follow steps to start implementing social media into a business. It's not comprehensive, but can help a business take that first step.
Content developed by Jon Thomas and M80 (m80im.com). Presentation designed by Jon Thomas at Presentation Advisors (www.presentationadvisors.com).
Dokumen tersebut membahas strategi penanganan kesalahan oleh kompilator, termasuk mendeteksi berbagai jenis kesalahan seperti kesalahan leksikal, sintaks, dan semantik, melaporkan kesalahan, serta melakukan recovery dan repair untuk memperbaiki kesalahan.
Dokumen ini membahas penanganan kesalahan dalam interaksi manusia dan komputer, termasuk jenis kesalahan, strategi pencegahan dan perbaikan kesalahan, serta jenis dokumentasi bantuan.
1. Dokumen menjelaskan sejarah bahasa pemrograman C++ dan pengembangannya dari bahasa BCPL hingga menjadi bahasa berorientasi objek pada tahun 1990.
2. Konsep dasar C++ meliputi tipe data, variabel, operator, input output, dan fungsi-fungsi dasar.
3. C++ banyak digunakan untuk membuat sistem operasi, game, sistem kendali, dan aplikasi lainnya.
1. Dokumen menjelaskan sejarah bahasa pemrograman C++ dan pengembangannya dari bahasa BCPL hingga menjadi bahasa berorientasi objek pada tahun 1990.
2. Konsep dasar C++ meliputi tipe data, variabel, operator, input output, dan fungsi-fungsi dasar.
3. C++ banyak digunakan untuk membuat sistem operasi, game, sistem kendali, dan aplikasi lainnya.
Dokumen tersebut membahas tentang konsep pemrograman terstruktur, termasuk definisi, tujuan, kriteria, dan metode dasarnya seperti sekuensial, seleksi, dan looping.
Program ini membuat algoritma untuk menghitung harga tiket kereta api berdasarkan jurusan, kelas, dan jumlah tiket yang dipesan. Program akan meminta input jurusan, kelas, dan jumlah tiket lalu menghitung harga tiket, total harga, diskon, dan pembayaran akhir berdasarkan kombinasi input tersebut.
Mata kuliah Logika dan Pemrograman membahas konsep dasar pemrograman seperti algoritma, struktur data, tipe data, operator, pemilihan, dan pengulangan. Mahasiswa diajak membuat algoritma penyelesaian masalah dan mengimplementasikannya dalam bahasa pemrograman tertentu. Program komputer adalah rangkaian perintah yang dimengerti komputer untuk menyelesaikan masalah secara logis berdasarkan bahasa pemrograman. Algoritma dan pseudocode
Dokumen tersebut membahas tentang pengertian algoritma dan contoh-contohnya, serta simbol-simbol yang digunakan dalam membuat flowchart program. Juga dibahas tentang struktur bahasa pemrograman Pascal seperti deklarasi variabel, input output, operator, dan contoh-contoh soal algoritma sederhana.
Dokumen tersebut membahas tiga paradigma pemrograman yaitu imperative, deklaratif, dan berorientasi objek. Pada paradigma imperative, program merupakan runtutan instruksi yang dijalankan secara berurutan. Paradigma deklaratif terbagi menjadi dua subparadigma yaitu fungsional dan logika. Paradigma berorientasi objek mewakili program sebagai kumpulan objek yang saling berinteraksi. Dokumen ini juga membahas langkah-langkah pengembangan program terstru
Dokumen tersebut berisi petunjuk pengerjaan soal untuk ujian dasar pemrograman Pascal. Memberikan instruksi umum seperti membaca soal dengan teliti, mengerjakan soal mudah terlebih dahulu, hanya ada satu jawaban benar untuk setiap soal, dan menjelaskan beberapa istilah yang muncul dalam soal seperti runtime error dan ekspresi.
Dokumen tersebut membahas tentang cara penanganan kesalahan oleh kompilator. Terdapat tiga jenis kesalahan yaitu kesalahan leksikal, sintaks, dan semantik. Kompilator dapat mendeteksi, melaporkan, dan melakukan tindak lanjut perbaikan terhadap kesalahan. Ada beberapa reaksi kompilator seperti recovery, repair, dan mendeteksi kesalahan berikutnya.
Dokumen tersebut membahas sejarah dan konsep dasar bahasa pemrograman C, meliputi proses penerjemahan bahasa C, contoh program sederhana, konsep variabel dan memori, operator aritmatika, struktur kontrol seperti pengambilan keputusan dan pengulangan.
Dokumen tersebut membahas tentang aturan leksikal dan tipe data dalam bahasa pemrograman C. Secara ringkas, dibahas mengenai token, komentar, identifier, keywords, operator, serta jenis-jenis tipe data sederhana dan terstruktur dalam bahasa C seperti integer, float, array, struct, dan enum.
Dokumen ini membahas tentang algoritma dan flowchart. Terdapat penjelasan tentang tujuan pembuatan algoritma untuk menyelesaikan masalah, unsur-unsur algoritma dan flowchart, serta contoh soal untuk latihan membuat algoritma dan flowchart.
Dokumen ini membahas tentang algoritma dan flowchart. Terdapat penjelasan tentang tujuan pembuatan algoritma untuk menyelesaikan masalah, unsur-unsur algoritma dan flowchart, serta contoh soal latihan pembuatan algoritma dan flowchart untuk beberapa persoalan.
Modul ini membahas tentang pemrograman dasar bahasa C/C++, meliputi tujuan pembelajaran, konsep dasar seperti tipe data, input output, dan contoh program sederhana.
Algoritma ini merupakan salah satu metode kecerdasann buatan untuk pencocokan kata / kalimat, dan dapat digunakan dalam pencocokan binary. contoh kasus dapat digunakan untuk pengolahan citra, deteksi, pencarian KMS
Ringkasan dokumen tersebut adalah:
1. Network planning (NP) digunakan untuk merencanakan dan mengawasi proyek dengan menggambarkan hubungan antar kegiatan dalam diagram jaringan.
2. NP menunjukkan urutan logis kegiatan dan pengaruh keterlambatan terhadap penyelesaian proyek.
3. Metode critical path method (CPM) digunakan untuk mengidentifikasi jalur kritis proyek.
The Evangelical Church of Java (GITJ) was established in 1852 when Pieter Jansz, a Mennonite missionary from the Netherlands, came to Jepara on Java island. Kiai Ibrahim Tunggul Wulung, a Javanese man, was influential in the early development of GITJ after converting to Christianity in 1854. He had the vision of creating Christian villages where believers could live and work together. Over time, GITJ grew to include over 100 congregations across Java and Sumatra with around 45,000 baptized members by the present day.
Dokumen tersebut membahas upaya-upaya reformasi kultural dan peningkatan kinerja Kepolisian Republik Indonesia agar menjadi lebih profesional dan terpercaya oleh masyarakat. Beberapa upaya yang disebutkan meliputi menekan budaya korupsi, meningkatkan pelayanan publik, serta meningkatkan profesionalisme dan stabilitas ketertiban masyarakat.
This document summarizes the presentation of the Head of Operations of the Indonesian National Police (POLRI) regarding the implementation of priority programs under the POLRI Promoter program. It outlines 5 priority areas (cultural reform, public service improvement, increased legal enforcement professionalism, increased public order and security, and media management) and their implementation through 11 programs and 62 activities over 10 months. Progress is monitored through regular reporting and evaluation meetings.
Tindak lanjut penjabaran program prioritas kapolriKukuh Setiawan
Dokumen tersebut membahas program dan kegiatan Polri dalam merespon dinamika tantangan keamanan dengan melakukan reformasi internal, peningkatan profesionalisme, dan penanganan berbagai ancaman seperti radikalisme, terorisme, dan kejahatan lainnya.
Dokumen tersebut memuat standar operasional prosedur (SOP) untuk kegiatan di Terminal yang mencakup SOP kedatangan dan keberangkatan bus, SOP pendistribusian retribusi, SOP pungutan retribusi, dan SOP pemberian ijin sewa lahan atau kios di Terminal.
This document provides a cheat sheet of keyboard shortcuts for Microsoft Word 2013 organized into categories such as basics, paragraphs, navigation, find and replace, special fields, merging mail, and reviewing documents. It lists over 50 shortcuts and their corresponding functions for opening documents, saving, printing, formatting text, finding and replacing text, inserting fields, and reviewing documents. The cheat sheet is intended to make common Word tasks easier to accomplish through keyboard shortcuts. It also provides the website for the creator of the cheat sheet where additional tech tutorials and resources can be found.
Hidden Markov Model Classification And Gabor Filter PreprocessingKukuh Setiawan
If you want to get the source code of the apps, just contact me at filomena.media@gmail.com or WA +6285641523180
See the video
https://youtu.be/OH2rjUXxuUk
Analisis penerimaan pengguna smile di unit planning deployment pt. telkom den...Kukuh Setiawan
Analisis ini menggunakan pendekatan Technology Acceptance Model (TAM) untuk menganalisis faktor-faktor yang mempengaruhi penerimaan pengguna sistem informasi SMILE di PT Telkom. Penelitian menemukan bahwa persepsi kemudahan dan kegunaan berpengaruh positif terhadap sikap dan niat penggunaan, yang pada gilirannya berpengaruh terhadap penggunaan aktual SMILE. Saran termasuk meningkatkan kemudahan penggunaan dan manfaat S
Publikasi Karya Ilmiah Tahun 2014 (Jurnal Internasional)Kukuh Setiawan
This document lists 27 publications by various Indonesian researchers between 2013-2015. The publications cover a wide range of topics across several fields including chemical engineering, civil engineering, architecture, mathematics, and international relations. The publications are from international journals and cover subjects such as drying technology, biomass liquefaction, supercritical water gasification, transportation planning, ergonomic design, water absorption properties, capacitor electrode preparation, street vendor relocation, product customization strategies, thermal insulating design, US Senate prediction markets, structural modeling, cultural symbols, rehabilitation games, sorption modeling, activated carbon preparation, polyimide membranes, sacred architecture, project success prediction, concrete heating modeling, traffic violations, and hydrogen production.
Dokumen tersebut memberikan penjelasan singkat tentang konsep dasar pemrograman C dan C++ meliputi tipe data, variabel, operator, input output, percabangan, dan perulangan. Dokumen tersebut juga memberikan contoh kode untuk setiap konsep yang dijelaskan.
Sistem inferensi fuzzy digunakan untuk menghitung jumlah produksi kain per rol di PT Dwipatex Prima Lestari dengan mempertimbangkan biaya produksi dan permintaan harian. Studi kasus menunjukkan bahwa jika biaya produksi Rp900.000 per rol dan permintaan 250 rol per hari, maka produksi yang dihasilkan adalah 214 rol per hari, sehingga perlu memproduksi 36 rol lagi untuk memenuhi permintaan.
Dokumen tersebut membahas tentang robotika dan kemenangan tim robotika Indonesia di kompetisi internasional. Secara ringkas, dokumen menjelaskan bahwa (1) robotika populer dalam pendidikan, (2) Indonesia mulai mengembangkan robotika, (3) tim robotika Indonesia juara di kompetisi robot di Amerika Serikat pada Maret-April 2012.
5. Kesalahan SINTAKS
- Kesalahan penulisan urutan token
contoh :
Operasi aritmatika yang jumlah tanda kurung-nya
kurang / tidak pas.
A := B + ( C *( D + E );
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
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
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
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
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