Skip to main content

Cara Kerja Proses Interpretasi dalam Bahasa Pemrograman

Metode interpretasi murni
Metode interpretasi murni adalah kebalikan dari metode kompilasi. Dengan pendekatan ini, program di-interpret (ditafsirkan) oleh suatu program lain yang disebut interpreter. Program interpreter tersebut bertindak sebagai simulasi software dari mesin yang siklus fetch-execute (pengambilan-eksekusi) - nya berkaitan dengan statemen-statemen program dengan bahasa tingkat tinggi alih-alih instruksi mesin. Simulasi software ini menyediakan mesin virtual untuk bahasa tersebut.

Metode interpretasi murni memiliki keuntungan yaitu memungkinkan implementasi yang mudah dari banyak operasi debug pada tingkat kode (sumber), karena semua pesan kesalahan run-time dapat merujuk ke unit-unit pada tingkat kode (sumber). Misalnya, jika indeks array ditemukan di luar jangkauan, pesan kesalahan dapat dengan mudah menunjukkan baris kode sumber dan nama array


Di sisi lain, metode ini memiliki kelemahan yang serius yaitu eksekusinya lebih lambat 10 hingga 100 kali dibanding dengan sistem yang menggunakan metode kompilasi. Sumber utama kelambatan ini adalah proses decoding (penguraian) statemen-statemen dari bahasa tingkat tinggi, yang jauh lebih kompleks dibandingkan instruksi bahasa mesin (walaupun mungkin ada lebih sedikit statemen dibandingkan instruksi yang ekuivalen dalam kode mesin). Selain itu, terlepas dari berapa kali banyaknya sebuah statemen yang dieksekusi, statemen harus di-decode setiap kali dieksekusi. Oleh karena itu, proses decoding tiap statemen adalah proses dimana terjadinya bottleneck dari metode interpreter murni, jika dibandingkan proses koneksi antara prosesor dan memori dimana terjadi bottleneck dalam proses kompilasi.

Kelemahan lain dari interpretasi murni adalah bahwa sering membutuhkan lebih banyak space (ruang). Selain program sumber, tabel simbol harus ada selama proses interpretasi. Selanjutnya, program sumber bisa disimpan dalam suatu bentuk yang dirancang untuk akses dan modifikasi yang mudah alih-alih menyediakan size (ukuran) yang minimal.

Meskipun beberapa bahasa awal yang sederhana pada era 1960-an (APL, SNOBOL, dan LISP) adalah interpretasi murni, pada era 1980-an, pendekatan ini jarang digunakan pada bahasa tingkat tinggi. Namun, dalam beberapa dekade terakhir, metode interpretasi murni telah membuat kebangkitan-nya yang signifikan dengan beberapa bahasa scripting Web, seperti JavaScript dan PHP, yang sekarang banyak digunakan. Proses interpretasi murni dilihat pada gambar di atas.

--o0o--

Artikel terkait:

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan di at