Paradigma Pemrograman dan Mekanisme Eksekusi Program




Paradigma Pemrograman

Paradigma pemrograman adalah bagaimana cara pandang kita terhadap penyelesaian masalah
pemrograman (atau sudut “serang” kita dalam menyelesaikan suatu masalah pemrograman). Ada banyak cara untuk menyelesaikan suatu masalah, sehingga ada banyak paradigma yang ada.
Beberapa contoh paradigma pemrogramanyang ada saat ini adalah:
prosedural, fungsional, deklaratif, dan objek .

Secara singkat dapat dikatakan bahwa:

?  paradigma prosedural memandang penyelesaian masalah sebagai hasil dari serangkaian langkah
yang menyelesaikan sub masalah

?  paradigma fungsional memandang penyelesaian masalah sebagai komposisi fungsi yang
memetakan masalah ke jawaban

?  paradigma deklaratif memandang penyelesaian masalah adalah pekerjaan komputer yang
dilakukan melalui inferensi terhadap fakta

?  paradigma objek memandang penyelesaian masalah sebagai hasil interaksi dari objek (objek
dalam konsep ini merupakan representasiobjek di dunia nyata)

Artikel ini tidak akan membahas secara detail masing -masing paradigma, paradigma yang telah
disebutkan sekilas di atas hanya untuk memberikan gambaran bahwa solusi untuk suatu masalah
tidak harus dilakukan secara prosedural.

Paradigma prosedural merupakan paradigma yang sangat intuitif sehingga mudah dipelajari. Dalam
paradigma prosedural masalah diselesaikan dengan menggunakan langkah-langkah yang berurutan
yang disebut sebagai suatu algoritma . Selain sangat intuitif bagi programmer , cara penyelesaian
prosedural ini juga merupakan cara yang paling alami bagi komputer (secara hardware , komputer
bekerja secara sekuensialatau berurutan).

Mekanisme Eksekusi Program

Komputer merupakan benda yang “bodoh” yang hanya bisa menjalankan instruksi dalam bahasa
mesin, bukan bahasa manusia. Komputer yang pertama diprogram langsung dengan menuliskan
bahasa mesin ke dalam komputer, seiring berlalunya waktu, hal itu dirasakan tidak efisien sehingga
diciptakanlah bahasa assembly, berupa kata -kata singkat yang lebih mudah diingat dibanding
dengan kode yang harus dimasukkan langsung. Bahasa assembly sebenarnya tidak jauh dari bahasa
mesin namun sudah cukup untuk membantu programmer menulis program dengan lebih mudah.

Bahasa assembly ini disebut sebagai bahasa tingkat rendah. Pada tahun  enampuluhan, para ahli mulai banyak membuat bahasa yang lebih mudah dimengerti oleh manusia, bahasa tersebut disebut sebagai bahasa tingkat tinggi. Ada banyak bahasa yang diciptakan, bahkan sangat banyak, namun sedikit yang bertahan hingga saat ini. Tapi semua bahasa tersebut memiliki kesamaan yaitu bahwa mereka tidak bisa langsung dimengerti oleh komputer sehingga perlu diterjemahkan ke dalam bahasa mesin. Penerjemahan dapat dilakukan dengan menggunakan program(yang  pada awalnya dulu ditulisdengan bahasa assembly) yang bisa berupa sebuah interpreter atau sebuah kompilator (atau gabungan dari keduanya). Program penerjemah tersebut akan memeriksa sintaks (format penulisan) apakah benar atau tidak, lalu menerjemahkan program tersebut ke dalam bahasa mesin. 

Interpreter

Interpreter adalah suatu program komputer yang  mampu menerjemahkan program dari bahasa
tingkat tinggi yang dimengerti oleh manusia dan langsung menjalankan program tersebut. Kerja
interpreter seperti penerjemah untuk turis yang langsung menerjemahkan kalimat demi kalimat yang dikatakan oleh sang turis.
Setiap kali kita membutuhkan program tersebut, maka interpreter akan bekerja menerjemahkan
program dari bahasa tingkat tinggi ke bahasa mesinuntuk dieksekusi.  Jadi siklus kerja  ketika kita
membuat program dengan interpreter adalah: tulis/edit program, eksekusi.

Kompilator

Kompilator adalah suatu program komputer yang membaca seluruh program dari bahasa tingkat
tinggi yang dimengerti oleh manusia dan kemudian menerjemahkan keseluruhan program tersebut
dalam bahasa mesin.  Program yang sudah diterjemahkan tersebut akhirnya akan dijalankan oleh
komputer. Kerja  kompilatorseperti penerjemah buku yang akan menerjemahkan seluruh buku
sekaligus, sehingga setiap orang bisa mengerti makna buku dalam bentuk terjemahannya.
Kompilator hanya perlu bekerja sekali saja menerjemahkan bahasa tingkat tinggi ke bahasa mesin,
dan jika kita membutuhkan kembali programtersebut, kita hanya perlu menjalankannya, kompilator
tidak perlu bekerja lagi. Jadi siklus kerja jika kita memakai kompilator adalah: tulis/edit program, kompilasi, eksekusi

Kompilatorvs Interpreter

Apakah suatu bahasa diinterpretasi atau dikompilasi bergantung pada ketersediaan interpreteratau
kompilatoruntuk bahasa tersebut.  Sebagai contoh,  kita tidak  dapat mengatakan bahwa bahasa BASIC adalah bahasa yang diinterpretasi, karena ada juga kompilator untuk bahasa BASIC.
Interpreterdan kompilator masing-masing memiliki keuntungan dan kerugian. Kelebihan interpreter
adalah Pengembangan program lebih cepat, tidak perlu melakukan kompilasi yang mungkin butuh
waktu lama, namun kerugiannya setiap kali program perlu dijalankan, interpreter harus bekerja lagi,
sehingga kecepatan eksekusiprogram menjadi kurang jika dibanding dengan kompilator.
Sebaliknya penggunaan kompilatormemungkinkan kita membentuk programyang dapat langsung
dijalankandengan cepat (karena sudah dalam bahasa mesin), namun dibutuhkan waktu yang relatif
lama dalam pengembangan programnya. 

Kompilator+ Interpreter

Meskipun tidak terlalu penting dalam pembahasan ini, namun perlu diketahui bahwa ada
bahasa yang dikompilasi namun tidak ke dalam bahasa mesin(ke bahasa antara), lalu diinterpretasi
oleh suatu interpreteruntuk menjalankannya. Sebagian pekerjaan interpreter  (memvalidasi program)
sudah dilakukan oleh kompilator, sehingga interpreter hanya perlu mengeksekusi program saja.
Contoh bahasa yang menggunakan pendekatan ini adalah: Java, C#, dan VB.NET
Debugger
Kesalahan pertama ya ng ditemukan pada salah satu komputer pertama (yang saat itu masih sangat
besar) adalah karena adanya serangga/kutu (bug ) yang menyebabkan komputer tidak bekerja. Sejak
saat itu semua kesalahan, baik di bidang hardware maupun softwarekomputer disebut dengan bug
(istilah ini lebih umum di bidang software dibanding hardware).
Proses untuk menemukan kesalahan program disebut juga dengan proses pencarian bug(istilah
proses ini adalah debug). Dalam pencarian kesalahan ini terkadang diperlukan program pembantu
yang dinamakan debugger . Program ini akan membantu programmer untuk melihat bagaimana
eksekusi program dilakukan oleh komputer, dan melihat kesalahan yang mungkin ada ketika
program sedang berjalan. Editor, Kompilator , dan IDE Untuk memasukkan program ke dalam komputer,  kita perlu tools yang dinamakan editor.

Editor adalah program yang mampu menerima teks dari manusia, dan menyimpannya ke dalam bentuk digital yang dimengerti komputer. Editor juga memungkinkan kita melakukan koreksi terhadap pengetikan yang kita lakukan (menghapus teks, menyalin teks, dan lain-lain).Untuk menjalankan program yang sudah kita ketikkan, kita akan membutuhkan kompilator atau
interpreter . Pada bahasa Pascal, kompilator lebih umum dipakai. Perlu diperhatikan bahwa editor
dan kompilator adalah dua program yang terpisah dan berbeda.

Sebuah IDE(Integrated Development Environment) adalah program yang menggabungkan fungsi
editor dan kompilator(serta terkadang debugger) dalam satu paket. IDE saat ini semakin populer,
bahkan banyak orang yang menyangka bahwa IDE sama dengan Kompilator. Sebuah IDE mungkin
saja sekaligus memiliki fungsi kompilator, tapi tidak selalu demikian, terkadang IDE hanya
menyediakan fungsi editor, dan akan memanggil kompilator yang sesungguhnya ketika kita akan
mengkompilasi program.


Written by

0 comments: