Bahasa pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan
bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar
untuk memerintah komputer. Bahasa pemrograman ini 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.
Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa
Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah
dan Assembly yang merupakan Bahasa Tingkat Rendah.
Pengertian Bahasa
Pemrograman
Bahasa Pemrograman
(programming language) adalah sebuah instruksi standar untuk memerintah
komputer agar mempunyai fungsi tertentu. Bahasa pemrograman ini 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.
Fungsi
Fungsi bahasa pemrograman yaitu memerintah komputer untuk
mengolah data sesuai dengan alur berpikir yang kita inginkan. Keluaran dari
bahasa pemrograman tersebut berupa program/aplikasi. Contohnya adalah program
yang digunakan oleh kasir di mal-mal atau swalayan, penggunaan lampu lalu
lintas di jalan raya, dll.
Bahasa Pemrograman yang kita kenal ada banyak sekali di
belahan dunia, tentang ilmu komputer dan teknologi dewasa ini. Perkembangannya
mengikuti tingginya inovasi yang dilakukan dalam dunia teknologi. Contoh bahasa
pemrograman yang kita kenal antara lain adalah untuk membuat aplikasi game,
antivirus, web, dan teknologi lainnya.
Bahasa pemrograman komputer yang kita kenal antara lain
adalah Java, Visual Basic, C++, C, Cobol, PHP, .Net, dan ratusan bahasa
lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan dengan fungsi
dan perangkat yang menggunakannya.
Secara umum bahasa pemrograman terbagi menjadi 4 kelompok,
yaitu :
Object Oriented Language (Visual dBase, Visual FoxPro,
Delphi, Visual C)
High Level Language (seperti Pascal dan Basic)
Middle Level Language (seperti bahasa C), dan
Low Level Language (seperti bahasa Assembly)
Tingkatan
Bahasa Tingkat Tinggi[sunting Bahasa pemrograman masuk
tingkat ini karena bahasa tersebut mendekati bahasa manusia. Contohnya bahasa
Basic, Visual Basic, Pascal, Java, PHP.
Bahasa Tingkat
Menengah
Disebut tingkat menengah karena bisa masuk ke dalam bahasa
tingkat tinggi maupun rendah. Contohnya bahasa C.
Bahasa Tingkat Rendah
Bahasa pemrograman masuk tingkat ini karena bahasanya masih
jauh dari bahasa manusia. Contohnya bahasa Assembly.
Generasi
Sedangkan menurut generasinya, bahasa pemrograman
digolongkan menjadi 4 generasi:
Generasi ke-1: machine language
Generasi ke-2: assembly language: Assembler
Generasi ke-3: high level programming language, contoh: C
dan Pascal
Generasi ke-4: 4 GL (fourth-generation language), contoh:
SQL
Generasi ke-5: Programming Language Based Object Oriented
& Web Development
Proses Pembuatan
Program
Proses pembuatan program yaitu kita menulis kode sumber pada
teks editor misalnya notepad kemudian mengubahnya menjadi bahasa mesin yang
bisa dieksekusi oleh CPU. Proses pengubahan kode sumber (source code) menjadi
bahasa mesin (machine language) ini terdiri dari dua macam yaitu kompilasi dan
interpretasi.
Kompilasi
Dalam proses kompilasi semua kode sumber dibaca terlebih
dahulu dan jika tidak ada kesalahan dalam menulis program maka akan dibentuk
kode mesinnya sehingga program bisa dijalankan. Program yang melakukan tugas
ini disebut Compiler. Program hasil kompilasi akan berbentuk executable.
Program bisa langsung dijalankan tanpa harus memiliki Compiler di komputer yang
menjalankan program tersebut. Bahasa yang menggunakan teknik kompilasi misalnya
bahasa C, C++, Pascal, Assembly dan masih banyak lagi.
Interpretasi
(Interpretation)
Bahasa yang
menggunakan teknik interpretasi akan membaca kode sumber perbaris dan
dieksekusi perbaris. Jika ditemukan kesalahan dalam penulisan program maka di
baris kesalahan itulah program akan dihentikan. Program yang melakukan tugas
ini disebut Interpreter. Pada teknik interpretasi tidak ada akan dihasilkan
program standalone, artinya untuk menjalankan program kita harus mempunyai kode
sumbernya sekaligus interpreter program tersebut. Bahasa yang menggunakan
teknik interpretasi misalnya bahasa Perl, Python, Ruby dan masih banyak lagi.
Kompilasi Sekaligus Interpretasi
Ada juga bahasa pemrograman yang menghasilkan programnya
dengan teknik kompilasi sekaligus interpretasi. Misalnya bahasa java. Dalam pembuatan
program java kode sumber diubah menjadi bytecode. Meskipun nampak seperti
bahasa mesin namun ini bukanlah bahasa mesin dan tidak executable. Untuk
menjalankan bytecode tersebut kita membutuhkan Java Runtime Environment (JRE)
yang bertugas sebagai interpreter sehingga menghasilkan program dari bytecode
tersebut.
Meskipun setiap bahasa pemrograman dibuat untuk membuat
program namun setiap bahasa dibuat dengan tujuan dan fungsi yang berbeda-beda.
Misalnya untuk membuat driver hardware kita tidak bisa menggunakan bahasa
Visual Basic. Untuk membuat program berbasis sistem seperti driver kita bisa
gunakan bahasa C atau Assembly. Contohnya sistem operasi linux yang open
source. Jika anda melihat kode sumbernya anda akan menemukan bahwa linux dibuat
menggunakan bahasa C. Sedangkan untuk pemrograman desktop kita bisa menggunakan
Visual Basic. Bahasa tersebut dirancang oleh Microsoft untuk pemrograman
desktop dengan tampilan GUI yang memukau.
Bahasa pemrograman yang umum digunaka
HTML / CSS
banyak yang tidak menggaggap ini bagian dari bahasa pemprograman,
tapi jika di lihat dari mana program web berasal maka bisa di pastikan html/CSS
adalah dasar dari itu semua,jadi jika anda ingin belajar membuat web statis
terebih dahulu anda pasti akan belajar HTML/CSS dasar.
JavaScript
JavaScript adalah cara yang sangat populer untuk menambahkan
fitur interaktif untuk halaman web dan aplikasi . Ini adalah salah satu bahasa
yang paling mudah untuk dipelajari dan dapat digunakan untuk apa pun seperti
memvalidasi data formulir untuk mengembangkan permainan , menjadikannya pilihan
yang sangat populer untuk pemula .
PHP
bahasa program yang digunakan terutama untuk mengembangkan
halaman web dinamis . Ini berarti bahwa daripada menciptakan sebuah file
terpisah penuh kode untuk setiap halaman situs , Anda dapat menulis seperangkat
aturan untuk mengakses dan menampilkan informasi dari database yang kemudian
dapat membuat halaman dan memanggil mereka ketika mereka dibutuhkan .
C + +
. Dikembangkan untuk menambahkan fitur berorientasi objek
dengan bahasa C , dengan penambahan kelas dan fitur lainnya . C + + yang
sekarang banyak digunakan dengan berbagai besar aplikasi . Belajar C + + juga
memiliki keuntungan yaitu lebih mudah untuk mempelajari bahasa C lainnya yaitu
C # dan C. Semua bahasa C umumnya dipandang sebagai bahasa pemprograman tingkat
menengah .
C #
Diucapkan C Sharp , bahasa ini diciptakan oleh Microsoft
dalam kerangka NET . . Jika Anda ingin menulis aplikasi jendela , atau terutama
jika Anda ingin menulis kode untuk perangkat lunak desktop , ini sangat penting.
Ini adalah tujuan OOP umum yang berbagi banyak kesamaan dengan bahasa C tua.
C
ini adalah versi C yang digunakan oleh sistem operasi Apple
serta sejumlah kecil aplikasi lain . Jika Anda ingin mengkhususkan diri dalam
menulis kode untuk produk Apple maka ini adalah program yang harus anda kuasai.
Python
Sangat populer dalam komunitas ilmiah dan akademik , tetapi
juga telah digunakan untuk membuat situs web populer seperti Pinterest . Hal
ini relatif mudah untuk belajar dibandingkan dengan sesuatu seperti C atau
turunannya , namun masih sangat fleksibel dalam hal apa yang dapat Anda lakukan
dengan itu .
Java
Digunakan oleh Google sebagai bagian integral dari sistem
operasi Android , dan oleh pengembang independen untuk membuat aplikasi android
( serta kegunaan lain ) . Java diciptakan dengan " tulis sekali , jalankan
di mana saja " ( WORA ) pendekatan untuk memudahkan kode yang ditulis pada
satu mesin untuk berjalan di lain mesin.
Ruby
Ini adalah OOP murni populer dari Jepang. Bahasa pemrograman
open source dinamis, mudah dimengerti dan produktif. Sintaks Ruby elegan,
natural, mudah dibaca dan ditulis.
Visual Basic
Berasal dari ' BASIC ' , yang sangat populer di hari-hari
awal komputasi personal , Visual Basic ( VB ) memungkinkan program sederhana
yang akan dibuat dengan cepat dan mudah, sementara juga memungkinkan untuk
coding yang lebih kompleks.
Daftar Bahasa
Pemrograman
Berikut ini adalah daftar bahasa pemrograman komputer.
Aro
Ada
ALGOL
Applescript
Assembly
BASIC:
ASP
BASIC
COMAL
Visual Basic
Visual Basic for Applications
VBScript
Batch (MS-DOS)
COBOL
UNIX shell script:
Bourne shell (sh) script
Bourne-Again shell (bash) script
Korn shell (ksh) script
C shell (csh) script
C:
C++
C#
Visual C++
ColdFusion
dBase dkk.:
Clipper
Foxbase
Visual FoxPro
Eiffel
Fortran
Go
Haskell
Java
JavaScript
JSP
Lisp
Logo
Pascal
Delphi
Perl
Prolog
Python
PHP
Pike
R
REXX
REBOL
RPG
Ruby
Simula
Smalltalk
Scheme
SQL
Bahasa
Mesin Komputer
Kode mesin atau bahasa mesin adalah sistem instruksi dan
data yang dijalankan langsung oleh komputer central processing unit. Kode mesin
dapat dianggap sebagai primitif (dan rumit) atau sebagai bahasa pemrograman
tingkat terendah representasi dari disusun dan / atau program komputer rakitan.
Program dalam menafsirkan bahasa tidak diwakili oleh kode mesin tetapi,
walaupun penerjemah mereka (yang dapat dilihat sebagai sebuah prosesor
melaksanakan program tingkat yang lebih tinggi) sering terjadi. Kode mesin kadang-kadang
disebut kode asli ketika mengacu pada platform-bagian dari bahasa tergantung
fitur atau perpustakaan. kode Mesin tidak boleh disamakan dengan apa yang
disebut “bytecode”, yang dilaksanakan oleh seorang juru bahasa.
Kode Mesin Instruksi
Setiap prosesor atau keluarga prosesor memiliki set
instruksi kode mesin. Instruksi pola bit yang oleh desain fisik sesuai dengan
perintah yang berbeda ke mesin. Set instruksi demikian khusus untuk kelas
prosesor menggunakan (banyak) arsitektur yang sama. Penerus atau derivatif
desain prosesor sering mencakup semua instruksi dari pendahulunya dan dapat
menambah petunjuk tambahan. Kadang-kadang desain pengganti akan menghentikan
atau mengubah arti dari beberapa kode instruksi (biasanya karena dibutuhkan
untuk keperluan baru), kode yang mempengaruhi kompatibilitas sampai batas
tertentu, bahkan hampir sepenuhnya kompatibel dengan prosesor mungkin akan
menampilkan perilaku yang sedikit berbeda untuk beberapa instruksi tetapi ini
jarang yang masalah. Sistem mungkin juga berbeda dalam rincian lainnya, seperti
pengaturan memori, sistem operasi, atau perangkat periferal; karena biasanya
program bergantung pada faktor-faktor seperti, sistem yang berbeda akan
biasanya tidak menjalankan kode mesin yang sama, bahkan ketika jenis prosesor
yang sama digunakan.
Sebuah set instruksi kode mesin mungkin memiliki semua
instruksi yang sama panjang, atau hal itu mungkin karena panjang
variabel-instruksi. Bagaimana pola diorganisir sangat bervariasi dengan
arsitektur tertentu dan sering juga dengan jenis instruksi. Sebagian besar
instruksi memiliki satu atau lebih opcode bidang yang menentukan jenis
instruksi dasar (seperti aritmatika, logis, melompat, dll) dan operasi
sebenarnya (seperti menambah atau membandingkan) dan bidang lain yang mungkin
memberikan jenis operand (s) , mode pengalamatan (s), pengalamatan offset (s)
atau indeks, atau nilai aktual itu sendiri (Operand konstan seperti yang
terdapat dalam sebuah instruksi disebut immediates).
Program
Sebuah program komputer adalah suatu urutan instruksi yang
dijalankan oleh CPU. Sementara prosesor mengeksekusi instruksi sederhana satu
demi satu, prosesor superscalar mampu menjalankan beberapa instruksi sekaligus.
Program aliran mungkin dipengaruhi oleh khusus ‘melompat’ instruksi yang mentransfer
eksekusi ke instruksi lain dari yang di bawah satu. Lompatan bersyarat diambil
(eksekusi berlanjut pada alamat lain) atau tidak (eksekusi berlanjut pada
instruksi berikutnya) tergantung pada beberapa kondisi.
Hubungan terfokus
Dalam beberapa arsitektur komputer, kode mesin ini
diterapkan oleh lapisan yang lebih mendasar dari program yang disebut
microprograms, menyediakan antarmuka bahasa mesin Common melintasi sebuah garis
atau keluarga model yang berbeda dengan komputer yang mendasari dataflows
sangat berbeda. Hal ini dilakukan untuk memfasilitasi port dari program bahasa
mesin antara model yang berbeda. Contoh dari penggunaan ini adalah IBM
System/360 komputer keluarga dan para penerus mereka. Dengan jalan dataflow
lebar dari 8 bit dengan 64 bit dan seterusnya, mereka tetap menyajikan sebuah
arsitektur umum pada tingkat bahasa mesin di seluruh baris.
Menggunakan lapisan terfokus untuk menerapkan sebuah
emulator memungkinkan komputer untuk menyajikan arsitektur komputer yang sama
sekali berbeda. Baris System/360 ini digunakan untuk mengizinkan program port
dari mesin IBM sebelumnya untuk keluarga baru komputer, misalnya IBM
1401/1440/1460 emulator pada IBM S/360 model 40.
Bahasa rakitan
(Assembly)
Bahasa rakitan atau lebih umum dikenal
sebagai Assembly adalah bahasa pemrograman tingkat rendah yang
digunakan dalam pemrograman komputer, mikroprosesor, pengendali
mikro, dan perangkat lainnya yang dapat diprogram. Bahasa rakitan
mengimplementasikan representasi atas kode mesin dalam bentuk
simbol-simbol yang secara relatif lebih dapat dipahami oleh manusia. Berbeda
halnya dengan bahasa-bahasa tingkat tinggi yang berlaku umum, bahasa
rakitan biasanya mendukung secara spesifik untuk suatu ataupun beberapa jenis
arsitektur komputer tertentu. Dengan demikian, portabilitas bahasa rakitan
tidak dapat menandingi bahasa-bahasa lainnya yang merupakan bahasa pemrograman
tingkat tinggi. Namun demikian, bahasa rakitan memungkinkan programmer
memanfaatkan secara penuh kemampuan suatu perangkat keras tertentu
yang biasanya tidak dapat ataupun terbatas bila dibuat dengan menggunakan
bahasa pemrograman tingkat tinggi.
Pada bahasa rakitan, programmer umumnya
menggunakan sebuah program utilitas yang disebut sebagai perakit (bahasa
Inggris: assembler) yang digunakan untuk menerjemahkan kode dalam bahasa
rakitan tersebut ke dalam kode mesin untuk perangkat keras tertentu. Sebuah
perintah dalam bahasa rakitan biasanya akan diterjemahkan menjadi sebuah
instruksi mnemonic dalam kode mesin, berbeda halnya
dengan kompiler pada bahasa pemrograman tingkat tinggi yang
menerjemahkan sebuah perintah menjadi sejumlah instruksi dalam kode mesin.
Beberapa perangkat lunak bahasa rakitan terkenal biasanya
menyediakan tambahan fitur untuk memfasilitasi proses pengembangan program,
mengontrol proses perakitan, dan alat bantupengawakutuan (debugging).
Dasar alasan
menggunakan bahasa rakitan
Ada beberapa dasar alasan menggunakan bahasa rakitan dilihat
dari sudut pandang penggunaannya:
Bahasa rakitan dibandingkan dengan bahasa mesin, bahasa
rakitan merupakan representasi atas bahasa mesin yang dirancang agar lebih
mudah dipahami oleh manusia. Dengan menggunakan bahasa rakitan, seorang
programmer dapat lebih mudah mengingat instruksi-instruksi dengan menggunakan
simbol yang lebih dimengerti dibandingkan bila menggunakan
simbol mnemonic kode mesin secara langsung. Demikian halnya pula
dengan mekanisme lompatan yang umum terdapat dalam bahasa mesin yang biasanya
menggunakan alamat memori, programmer dapat lebih mudah menggunakan fasilitas
pelabelan yang terdapat pada bahasa rakitan dibandingkan menggunakan alamat
memori tertentu dalam kode mnemonic.
Bahasa rakitan dibandingkan dengan bahasa tingkat tinggi,
bahasa rakitan memungkinkan programmer untuk mengontrol serta memanfaatkan
secara penuh kapabilitas yang terdapat atas suatu perangkat keras, berbeda
halnya dengan bahasa pemrograman tingkat tinggi yang memiliki banyak
keterbatasan dalam pemanfaatan secara penuh suatu perangkat keras. Bahasa
rakitan menjanjikan tingkat unjuk kerja yang maksimum karena sifatnya yang
menerjemahkan secara langsung instruksi rakitan menjadi instruksi mesin,
berbeda halnya dengan bahasa pemrograman tingkat tinggi yang biasanya
menerjemahkan sebuah instruksi menjadi sejumlah kode mesin.
Representasi kode
mesin
Bahasa rakitan menerjemahkan sebuah instruksi rakitan
menjadi instruksi mesin, umumnya mekanisme penerjemahan ini bersifat 1-1,
karenanya dapat disebutkan pula bahwa setiap instruksi dalam bahasa rakitan
merupakan representasi dari instruksi kode mesin.
Sebagai contoh, berikut adalah instruksi yang digunakan pada
prosesor x86 untuk memindahkan nilai 97 sebesar 8-bit ke dalam
register prosesor AL. Kode biner atas instruksi pemindahan adalah 10110
diikuti dengan 3-bit pengenal atas register yang akan digunakan. Pengenal atas
register AL dalam hal ini adalah 000. Kemudian, nilai 97 dalam kode
biner adalah 01100001, sehingga kode mesin yang digunakan untuk memindahkannya
adalah sebagai berikut :
10110000 01100001
Kode biner ini dapat diubah agar lebih mudah dibaca manusia
dengan mengkonversikannya dalam bilangan heksadesimal sebagai
berikut:
B0 61
Pada instruksi diatas, B0 berarti: ‘Pindahkan
nilai berikut ke register AL’, dan 61 adalah representasi
bilangan heksadesimal untuk nilai 01100001, atau 97 dalam bilangan desimal.
Bahasa rakitan untuk prosesor Intel menyediakan simbol mnemonic MOV
(yang merupakan singkatan dari move) untuk instruksi serupa sehingga kode
mesin sebelumnya dapat ditulis dalam bahasa rakitan sebagai berikut:
Bahasa rakitan memungkinkan programmer menambahkan komentar
atas setiap instruksi yang ditulis untuk mempermudah pembacaan dan lebih mudah
pemahaman.
bahasan pemrograman
tingkat menengah
seperti halnya bahasa pemrograman tinggkat tinggi, bedanya
bahasa ini memakai simbol-simbol seperti {, }, ?, <<, >>,
&&, ||, dsb.
Bahasa pemrograman
tingkat tinggi
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.
Fitur-fitur Bahasa
pemrograman tingkat tinggi
Istilah “bahasa pemrograman tingkat tinggi” tidak serta
merta menjadikan bahasa tersebut lebih baik dibandingkan dengan bahasa
pemrograman tingkat rendah. Akan tetapi, maksud dari “tingkat tinggi” di sini
merujuk kepada abstraksi yang lebih tinggi dibandingkan dengan bahasa tingkat
rendah terhadap bahasa mesin. Dibandingkan dengan harus berurusan dengan
register, alamat memori dan stack-stack panggilan, bahasa pemrograman
tingkat tinggi akan berurusan dengan variabel, larik, dan
ekspresi aritmetika atau aljabar Boolean. Selain itu, tidak
seperti bahasa rakitan, bahasa tingkat tinggi tidak memiliki opcode atau
kode operasi yang dapat secara langsung menjadikan bahasa tersebut menjadi kode
mesin. Fitur lainnya seperti rutin-rutin penangananstring,
fitur pemrograman berorientasi objek, input/output
terhadap berkas juga terdapat di dalam jenis bahasa ini.
Secara umum, bahasa tingkat tinggi akan membuat pemrograman
komputer yang kompleks menjadi lebih sederhana, sementara bahasa tingkat rendah
cenderung untuk membuat kode yang lebih efisien. Dalam sebuah bahasa tingkat
tinggi, elemen-elemen kompleks dapat dipecah ke dalam beberapa elemen yang lebih
sederhana, meski masih dapat dianggap kompleks, di mana bahasa tersebut
menyediakan abstraksi. Karena alasan ini, kode-kode yang harus berjalan dengan
efisien dapat ditulis dalam bahasa pemrograman tingkat rendah, sementara bahasa
tingkat tinggi digunakan untuk mempermudah pemrograman.
Akan tetapi, dengan bertambah rumitnya arsitektur
mikroprosesor modern, kompilator-kompilator bahasa pemrograman tingkat tinggi
dapat membuat kode yang lebih efisien dibandingkan dengan para programmer
bahasa pemrograman tingkat rendah yang melakukannya secara manual.
Perlu dicatat bahwa istilah “tingkat tinggi” dan “tingkat
rendah” adalah relatif. Pada awalnya, bahasa rakitan dianggap sebagai bahasa
tingkat rendah, sementara COBOL, C, dan lain-lainnya dianggap sebagai
bahasa tingkat tinggi, mengingat mereka mengizinkan abstraksi terhadap fungsi,
variabel, dan evaluasi ekspresi. Akan tetapi, banyak programmer saat ini
mungkin menganggap bahasa C sebagai bahasa pemrograman tingkat rendah,
mengingat bahasa pemrograman tersebut mengizinkan akses memori secara langsung
dengan menggunakan alamatnya, dan juga dapat menggunakan beberapa direktif
bahasa rakitan.
Model eksekusi
Ada tiga buah model eksekusi untuk bahasa tingkat tinggi,
yakni:
Diinterpretasikan
Bahasa jenis ini akan dibaca dan dieksekusi secara langsung
tanpa adanya proses atau tahap kompilasi oleh kompilator. Alat bantu yang
mampu melakukannya disebut sebagai penerjemah(interpreter).
Dikompilasi
Bahasa jenis ini akan ditransformasikan ke dalam bentuk yang
dapat dieksekusi sebelum dijalankan. Ada dua jenis kompilasi yang sering
digunakan, yakni:
Intermediate
representation
Ketika sebuah bahasa dikompilasi ke dalam intermediate
representation, representasi tersebut dapat dioptimalkan atau disimpan untuk
eksekusi pada lain waktu tanpa adanya kebutuhan untuk membaca lagi kode
sumber program. Ketika representasi intermediate disimpan, umumnya, hal
tersebut dinamakan dengan bytecode.
Machine code
generation
Beberapa bahasa dapat melakukan kompilasi secara langsung ke
dalam bahasa mesin.
Ditranslasikan
Sebuah bahasa juga dapat ditranslasikan ke dalam bahasa
pemrograman tingkat rendah di mana kompilator kode bahasa asli telah beredar
luas. Bahasa pemrograman C merupakan salah satu target yang umum untuk
translator
REFERENSI:
0 komentar:
Posting Komentar