Pengertian Interpreter
Interpreter merupakan kata berbahasa Inggris dengan kata dasar interpret yakni berarti mengartikan. Tambahan artikel -er membuatnya bermakna penerjemah. Interpreter sendiri adalah suatu program khusus yang digunakan untuk mengeksekusi atau melakukan instruksi yang ditulis dalam bahasa pemprograman tertentu. Kode-kode bahasa tersebut tidak dalam bentuk bahasa mesin melainkan berupa source code murni. Nah, tugas interpreter adalah mengartikan source code berisi bahasa pemprograman tersebut sehingga instruksinya dapat dimengerti dan dapat dijalankan oleh komputer.
Berdasarkan jenisnya, interpreter dibedakan menjadi 3 jenis yakni:
- interpreter yang mengeksekusi langsung source code.
- mengartikan source code dan merepresentasikannya dalam bentuk tertentu (kode) tingkat intermediate secara efisien dan langsung mengeksekusinya.
- Secara eksplisit mengeksekusi kode yang telah tersimpan dan dibuat oleh kompiler sebagai bagian dari sistem interpretasi. Maksudnya saat interpreter mengartikan suatu script / kode dia akan membentuk kode-kode dalam bahasa mesin melalui kompiler khusus dan menjalankan hasil kompilasi tersebut.
Perl, Python, MATLAB, dan Ruby adalah contoh pemprograman yang menggunakan interpreter tipe 2 sedangkan UCSD Pascal dan JAVA menggunakan tipe 3: Source program dikompilasi terlebih dahulu dan disimpan sebagai kode mesin yang independen dan kemudian dihubungkan saat runtime dan dieksekusi oleh interpreter atau kompiler (untuk sistem JIT). Beberapa sistem semacam Smalltalk, BASIC dan lainnya ada juga yang menggunakan kombinasi 2 dan 3.
(Sumber: http://satriaskyterror.wordpress.com)
Pengertian Compiler
Kompiler merupakan sebuah program komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa pemrograman lain. Istilah kompiler biasa digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam bahasa pemrograman tingkat tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual Basic, Visual C#, Java, xBase, atau COBOL) menjadi bahasa mesin, biasanya dengan bahasa Assembly (assembler) sebagai perantara.
(Sumber: http://www.semarangline.co.cc)
Pengertian Paradigma Pemrograman
Paradigma adalah sudut pandang atau “sudut serang” tertentu yang diprioritaskan terhadap kelompok problema, realitas, keadaan, dan sebagainya. Dalam pemrograman pun dikenal istilah paradigma pemrograman, yakni sudut pandang atau strategi analisa khusus yang diambil untuk menyelesaikan suatu masalah pemrograman.
Beberapa paradigma pemrograman yang ada sampai saat ini :
1. Paradigma pemrograman prosedural atau imperatif
Paradigma ini didasari oleh konsep mesin Von Newmann (stored program concept), yakni sekelompok tempat penyimpanan/memori, yang dibedakan menjadi memori instruksi dan memori data yang masing-masingnya dapat diberi nama dan harga. Instruksi akan dieksekusi satu persatu secara sekuensial oleh sebuah pemroses tunggal. Beberapa instruksi menentukan instruksi yang selanjutnya akan dieksekusi (percabangan kondisional). Data diperiksa dan dimodifikasi secara sekuensial juga. Program dalam paradigma ini didasari pada strukturasi informasi di dalam memori dan manipulasi dari informasi yang disimpan tersebut. Kata kunci dalam paradigma ini adalah sebuah program dihasilkan oleh algoritma dengan struktur data tertentu.
2. Paradigma pemrograman fungsional
Paradigma ini didasari oleh konsep pemetaan dan fungsi pada matematika. Fungsi dapat berupa fungsi primitif, atau komposisi dari fungsi-fungsi lain yang telah terdefinisi. Pemrogram mengasumsikan bahwa ada fungsi-fungsi lain yang dapat dilakukan. Penyelesaian masalah didasari atas aplikasi dari fungsi-fungsi tersebut dengan dasar pemecahan persoalan adalah transformasional. Semua kelakuan program adalah suatu rantai transformasi dari sebuah keadaan awal menuju ke suatu rantai keadaan akhir, yang mungkin melalui keadaan antara, melalui aplikasi fungsi.
3. Paradigma pemrograman deklaratif, predikatif, atau logik
Paradigma ini didasari oleh pendefinisian relasi antarindividu yang dinyatakan sebagai predikat. Sebuah program logik adalah kumpulan aksioma (fakta dan aturan deduksi).
Pemrogram menguraikan sekumpulan fakta dan aturan-aturan (inference rules). Ketika program dieksekusi, pemakai mengajukan pertanyaan (query), dan program akan menjawab apakah pertanyaan ini dapat dideduksi dari aturan dan fakta yang ada. Program akan memakai aturan deduksi dan mencocokkan pertanyaan dengan fakta-fakta yang ada untuk menjawab pertanyaan.
4. Paradigma pemrograman berorientasi objek
Paradigma ini didasari oleh kelas dan objek. Objek adalah instansiasi dari kelas. Objek mempunyai atribut (kumpulan sifat), dan mempunyai kelakuan (kumpulan reaksi, metode). Objek yang satu dapat berkomunikasi dengan objek yang lain lewat “pesan”, dengan tetap terjaga integritasnya.Kelas mempunyai hirarki, anggota dari sebuah kelas juga mendapatkan turunan atribut dari kelas di atasnya. Paradigma ini menawarkan konsep modularitas, penggunaan kembali, dan kemudahan modifikasi.
5. Paradigma pemrograman konkuren
Paradigma ini didasari pada kenyataan bahwa sebuah sistem komputer harus menangani beberapa program/task yang harus dieksekusi bersama dalam sebuah lingkungan (mono atau multiprosesor). Pemrograman konkuren tidak lagi berpikir sekuensial, melainkan harus menangani komunikasi dan sinkronisasi antartask.
(Sumber: http://sciencebooth.com)