Bahasa Pemrograman
Bahasa pemrograman, atau sering diistilahkan juga
dengan bahasa komputer atau bahasa pemrograman komputer, menurut Wikipedia
adalah instruksi standar untuk memerintah komputer yang merupakan suatu
himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan
program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan
secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan
disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil
dalam berbagai situasi. Menurut
tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
- Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
- Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya [kode_mesin|MOV], SUB, CMP, JMP, JGE, JL, LOOP, dsb.
- Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
- Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb. Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau interpreter.
- Compiler
Compiler
atau dalam bahasa Indonesianya kompilator, menurut Wikipedia
adalah sebuah program komputer yang berguna untuk menerjemahkan program
komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang
ditulis dalam bahasa pemrograman lain.
Sedangkan menurut Blog ini, Compiler adalah suatu program yang
melakukan proses translasi dari HLL ke dalam bahasa mesin di komputer.
Disamping program translasi, compiler juga mempunyai beberapa fungsi penting,
seperti diagnostik, contohnya kemampuan pendeteksian error/kesalahan.
Pelannggaran spesifikasi HLL akan terdeteksi dan dilaporkan kepada programmer
oleh compiler agar seger diperbaiki hingga mempermudah pembentukan machine
language equivalent.
Terlepas dari pengertiannya yang demikian
relatif luas, istilah kompilator 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
sebagai perantara. Arsitektur kompilator modern biasanya bukan lagi merupakan
program tunggal namun merupakan rangkaian komunikasi antar program dengan tugas
spesifik masing-masing. Program-program tersebut beserta tugasnya secara umum
terdiri dari:
- Kompilator itu sendiri, yang menerima kode sumber dan menghasilkan bahasa tingkat rendah (assembly)
- Assembler, yang menerima keluaran kompilator dan menghasilkan berkas objek dalam bahasa mesin
- Linker, yang menerima berkas objek keluaran assembler untuk kemudian digabungkan dengan pustaka-pustaka yang diperlukan dan menghasilkan program yang dapat dieksekusi (executable)
- Interpreter
Dalam ilmu komputer, penerjemah atau
lebih dikenal dengan interpreter menurut Wikipedia merupakan perangkat lunak yang berfungsi
melakukan eksekusi sejumlah instruksi yang ditulis dalam suatu bahasa
pemrograman, sebuah penerjemah dapat berarti:
- Mengeksekusi kode sumber secara langsung, atau
- Menerjemahkannya ke dalam serangkaian p-code kemudian mengeksekusinya, atau
- Mengeksekusi kode yang telah dikompilasi sebelumnya oleh kompiler yang merupakan bagian dari sistem penerjemahan.
Sedangkan Menurut Blog ini
Interpreter merupakan kata berbahasa Inggris dengan kata dasar interpret
yakni berarti mengartikan. Tambahan akhiran -er membuatnya bermakna penerjemah.
Sehingga definisi Interpreter adalah Perangkat lunak yang mampu mengeksekusi
code program (yang ditulis oleh programmer) lalu menterjemahkannya ke dalam
bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh programmer
tersebut. Perintah-perintah yang dibuat oleh programmer tersebut dieksekusi
baris demi baris, sambil mengikuti logika yang terdapat di dalam kode tersebut
dimana kode-kode bahasa tersebut tidak dalam bentuk bahasa mesin melainkan
berupa source code murni.
Tugas
interpreter adalah mengartikan source code berisi bahasa pemprograman
tersebut sehingga instruksinya dapat dimengerti dan dapat dijalankan oleh komputer.
Selain itu Interpreter juga di defenisikan sebagai suatu program komputer yang
mampu menerjemahkan program dari bahasa tingkat tinggi yang dimengerti oleh
manusia dan langsung menjalankan program tersebut. Setiap kali kita membutuhkan
program tersebut, maka interpreter akan bekerja menerjemahkan program dari
bahasa tingkat tinggi ke bahasa mesin untuk dieksekusi. Jadi siklus kerja
ketika kita membuat program dengan interpreter adalah: tulis/edit program,
eksekusi.
Sedangkan
Perl, Python, Ruby, dan MATLAB adalah beberapa contoh perangkat lunak
penerjemah bertipe 2, sementara Java termasuk dalam kategori tipe 3, namun
dalam beberapa kasus Java dapat digolongkan pula ke dalam kategori tipe 2.
Meskipun penerjemahan dan kompilasi merupakan dua jenis mekanisme implementasi
pada sebuah bahasa pemrograman, keduanya tidak berarti memiliki perbedaan
secara signifikan. Hal ini disebabkan cara kerja sebuah penerjemah dalam banyak
hal adalah sama seperti halnya yang dilakukan oleh kompiler. Penggunaan istilah
"bahasa pemrograman terjemahan" dan "bahasa pemrograman
kompilatif" umumnya digunakan sebatas untuk membedakan implementasi dari
bahasa tersebut menggunakan model penerjemahan atau kompilatif.
- Tingkatan Bahasa Pemrograman
Seperti juga pada bahasa yang
digunakan manusia secara umum, bahasa pemrograman banyak sekali jenisnya.
Bahasa pemrograman dapat dikelompokkan berdasarkan tingkatan, seperti bahasa
tingkat rendah, bahasa tingkat sedang, bahasa tingkat tinggi, berikut penjelasan
pada masing-masing singkatan.
- Bahasa Pemrograman Tingkat Tinggi
Menurut Wikipedia bahasa pemrograman tingkat
tinggi adalah sebuah bahasa pemrograman yang jika dibandingkan dengan bahasa
pemrograman tingkat rendah memiliki sifat lebih mudah digunakan, lebih portabel
(mudah diadaptasikan) antar-platform, dan lebih abstrak. Bahasa-bahasa semacam
ini sering melakukan abstraksi terhadap beberapa operasi CPU, seperti halnya
pengaksesan memori. Sedangkan menurut blog
ini bahasa pemrograman adalah yang dekat dengan bahasa manusia, kelebihan utama
dari bahasa ini adalah mudah untuk di baca, tulis, maupun diperbaharui, sebelum
bisa dijalankan program harus terlebih dahulu di-compile. Contoh Ada, Algol,
BASIC, COBOL, C, C++, FORTRAN, LISP, dan Pascal, dsb.
Bahasa tingkat tinggi bersifat portable.
Program yang dibuat menggunakan bahasa tingkat tinggi pada suatu mesin komputer
bersistem operasi tertentu, hampir 100% bisa digunakan pada berbagai mesin
dengan aneka sistem operasi. Kalaupun ada perbaikan sifatnya kecil sekali.
- Bahasa Pemrograman Tingkat Sedang
Menurut blog ini bahasa pemrograman tingkat sedang
adalah Bahasa tingkat menengah (middle level
language) adalah bahasa yang aturan penulisannya mendekati bahasa manusia
serupa dengan bahasa tingkat tinggi tetapi memiliki kemampuan kecepatan proses
dan pengaksesan perangkat keras yang mirip dengan bahasa tingkat rendah (low
level language).
- Bahasa Pemrograman Tingkat Rendah
Dan bahasa pemrograman tingkat
rendah menurut blog ini adalah bahasa pemrograman
generasi pertama. Bahasa jenis ini sangat sulit dimengerti karena instruksinya
menggunakan bahasa mesin. Disebut juga dengan bahasa assembly merupakan bahasa
dengan pemetaan satu – persatu terhadap instruksi komputer. Setiap intruksi
assembly diterjemahkan dengan menggunakan assembler . Contoh bahasa pemrograman
ini adalah bahasa mesin dan bahasa asembly.
Bahasa mesin merupakan representasi
tertulis machine code atau kode mesin, yaitu kode operasi suatu mesin tertentu.
Bahasa ini bersifat khusus untuk mesin tertentu dan “dimengerti” langsung oleh
mesin, sehingga pelaksanaan proses sangat cepat. Bahasa mesin kelompok komputer
tertentu berlainan dengan bahasa mesin kelompok komputer yang lain. Abstraksi
bahasa ini adalah kumpulan kombinasi kode biner “0″ dan “1″ yang sangat tidak
alamiah bagi kebanyakan orang - kecuali insinyur pembuat mesin komputer. Karena
tidak alamiah bagi kebanyakan orang, bahasa mesin juga disebut bahasa tingkat
rendah.
Bahasa rakitan (assembly language)
merupakan notasi untuk menyajikan bahasa mesin yang lebih mudah dibaca dan
dipahami oleh manusia. Bahasa ini sudah menggunakan simbol alpabet yang
bermakna (mnemonic). Pindahkan ke register AX nilai 1111.Proses data oleh
komputer berdasarkan perintah bahasa rakitan adalah cepat. Meski demikian masih
merepotkan-bahkan bagi kebanyakan pemrogram, karena masih harus
mengingat-ingat tempat penyimpanan data. Bahasa rakitan juga bersifat khusus untuk mesin tertentu.
mengingat-ingat tempat penyimpanan data. Bahasa rakitan juga bersifat khusus untuk mesin tertentu.
)* Sumber sudah dicantumkan pada sela-sela artikel
Tidak ada komentar:
Posting Komentar