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.
0 comments: