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

Postingan populer dari blog ini

Tugas Kelompok Analisis sintaks, Pohon urai dan Automata dari source code codingan c++ luas segitiga