PARAMETER DALAM TEKNIK KOMPILASI DAN PERAN PENGURAI DALAM TEKNIK KOMPILASI BERSERTA CONTOHNYA
Nama : Jakfar Ahmad
Nim : 202031056
matkul : Teknik Kompilasi (B)
soal
14. Apa saja metode yang dipakai untuk mengirimkan parameter
pada teknik kompilasi, jelaskan masing-masing metode tersebut dalam studi
kasus?
Jawab:
Dalam teknik kompilasi, terdapat beberapa metode yang dapat digunakan untuk mengirimkan parameter (argumen) ke dalam fungsi atau prosedur. Berikut adalah beberapa metode umum yang digunakan:
1. Pass-by-Value (Nilai Dilewatkan):
-
Pada metode ini, nilai parameter dikirimkan ke
fungsi dengan membuat salinan nilai dari argumen asli.
-
Fungsi hanya bekerja dengan salinan nilai dan
tidak mempengaruhi nilai argumen asli di luar fungsi.
-
Studi kasus: Misalnya, terdapat fungsi
penjumlahan (add) yang menerima dua parameter bilangan bulat. Ketika memanggil
fungsi add(5, 3), nilai 5 dan 3 akan disalin dan fungsi akan melakukan
penjumlahan pada salinan nilai tersebut.
2. Pass-by-Reference (Referensi Dilewatkan):
-
Pada metode ini, alamat memori atau referensi
dari argumen asli dikirimkan ke fungsi.
-
Fungsi dapat mengakses dan memodifikasi nilai
argumen asli melalui referensi yang diterima.
-
Perubahan yang dilakukan di dalam fungsi akan
mempengaruhi nilai argumen asli di luar fungsi.
-
Studi kasus: Misalkan terdapat fungsi swap yang
menerima dua parameter referensi bilangan. Ketika memanggil fungsi swap(a, b),
fungsi akan menukar nilai dari a dan b menggunakan referensi yang diterima.
3. Pass-by-Value-Result (Nilai-Hasil Dilewatkan):
-
Pada metode ini, argumen dikirimkan sebagai
salinan, tetapi perubahan yang dilakukan di dalam fungsi akan dikembalikan ke
argumen asli setelah fungsi selesai dieksekusi.
-
Nilai parameter akan disalin saat masuk ke
fungsi dan akan disalin kembali saat keluar dari fungsi.
-
Perubahan yang terjadi di dalam fungsi akan
mempengaruhi nilai argumen asli setelah fungsi selesai.
-
Studi kasus: Misalkan terdapat fungsi square
yang menerima parameter bilangan bulat. Ketika memanggil fungsi square(a),
fungsi akan mengalikan nilai a dengan dirinya sendiri dan hasilnya akan
disimpan kembali ke a setelah fungsi selesai.
4. Pass-by-Name (Nama Dilewatkan):
-
Pada metode ini, argumen dilewatkan dengan nama
dan nilai argumen dievaluasi saat argumen digunakan dalam fungsi.
-
Setiap kali argumen digunakan, nilai argumen
dihitung ulang.
-
Metode ini jarang digunakan dalam praktik
kompilasi modern.
Pilihan metode pengiriman parameter akan tergantung pada
bahasa pemrograman yang digunakan dan kebutuhan spesifik dari program yang
dikompilasi. Penting untuk memahami karakteristik dan implikasi setiap metode
dalam memilih pendekatan yang sesuai dalam mengirimkan parameter.
15. Salah satu peran pengurai dalam teknik kompilasi adalah
memgatasi kesalahan sintaks, jelaskan 4 strategi dalam pemulihan kesalahan
sintaks?
Jawab:
Dalam teknik kompilasi, pengurai (parser) berperan penting dalam mengidentifikasi dan memulihkan kesalahan sintaksis dalam kode program. Berikut adalah empat strategi umum yang digunakan dalam pemulihan kesalahan sintaks:
1. Strategi Pemulihan Sederhana (Simple Recovery):
Strategi ini melibatkan pengabaian token yang tidak valid
dalam kode program dan melanjutkan proses analisis sintaksis.
Pengurai dapat mengabaikan token yang tidak valid dan
mencoba melanjutkan analisis dengan token berikutnya.
Kelemahan dari strategi ini adalah dapat menyebabkan banyak
kesalahan beruntun jika pengurai tidak dapat memulihkan dengan benar atau jika
ada kesalahan sintaksis yang lebih kompleks.
2. Strategi Pemulihan Penghapusan (Deletion
Recovery):
Strategi ini melibatkan penghapusan satu atau beberapa token
yang tidak valid untuk mencoba memperbaiki kesalahan sintaksis.
Pengurai dapat menghapus token yang menyebabkan kesalahan
dan melanjutkan analisis dengan token berikutnya.
Strategi ini juga dapat menyebabkan banyak kesalahan
beruntun jika pengurai tidak dapat menentukan token mana yang harus dihapus
atau jika ada dependensi sintaksis yang rumit.
3. Strategi Pemulihan Penyisipan (Insertion
Recovery):
Strategi ini melibatkan penyisipan token yang diperlukan
untuk memperbaiki kesalahan sintaksis.
Pengurai dapat menyisipkan token yang diperlukan ke dalam
kode program yang rusak untuk melanjutkan analisis sintaksis.
Contoh penyisipan adalah menyisipkan tanda kurung yang
hilang atau kata kunci yang diperlukan.
Strategi ini dapat memerlukan kebijaksanaan pengurai dalam
menentukan token yang tepat yang harus disisipkan.
4. Strategi Pemulihan Penggantian (Substitution
Recovery):
Strategi ini melibatkan penggantian token yang tidak valid
dengan token yang valid untuk memperbaiki kesalahan sintaksis.
Pengurai dapat mengganti token yang tidak valid dengan token
alternatif yang dapat membuat kode program menjadi valid.
Contoh penggantian adalah mengganti operator yang salah
digunakan dengan operator yang tepat atau mengganti ekspresi yang tidak valid
dengan ekspresi yang valid.
Penting untuk dicatat bahwa strategi-strategi ini dapat
dikombinasikan atau disesuaikan sesuai dengan kebutuhan dan kompleksitas bahasa
pemrograman yang dianalisis. Kualitas dan efektivitas pemulihan kesalahan
sintaksis sangat tergantung pada implementasi pengurai dan aturan sintaksis
bahasa yang ditentukan.
Komentar
Posting Komentar