Bahasa Pemrograman Tingkat Rendah 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 yang akan diambil dalam berbagai situasi secara persis. Bahasa
beraras rendah adalah bahasa pemrograman yang berorientasi kepada mesin. bahasa
ini menggunakan kode biner (yang hanya mengenal kode 0 dan 1) atau suatu kode
sederhana untuk menggantikan kode-kode tertantu dalam sistem biner. yang
tergolong dalam kelompok bahasa ini adalah bahasa mesin dan bahasa rakita.
bahasa-bahasa serperti itu ini sangat sulit utnuk dipahami oleh orang awam dan
sangat membosankan bagi pemrogram yang sudah berbiasa dengna bahasa beraras
tinggi. pemrogram harus benar-benar menguasai operasi komputer secara teknis.
namun bahasa generasi ini memberikan eksekusi program yang sangat cerdas.
selain itu bahasa mesin sangat bergantung pada mesin (machine dependent); artinya, bahasa mesin antara satu mesin
dengan mensin yang lain jauh berbeda. Jadi,
hanya dengan instruksi yang tersusun dari angka-angka nol dan satu inilah, kita
bisa memberi instruksi pada komputer. Pada praktiknya, instruksi berupa angka
nol dan satu ini diberikan melalui bahasa pemrograman yang dikelompokkan
sebagai low-level language atau bahasa pemrograman beraras-rendah. Program yang
dibuat menggunakan bahasa pemrograman beraras-rendah ini dapat dieksekusi
dengan cepat karena sangat efisien dalam penggunaan memori. Namun, bahasa
pemrograman ini sangat sulit dipahami oleh orang awam dan membosankan bagi para
si programmer. Pemrogram yang akan membuat program dengan bahasa pemrograman
jenis ini pun dituntut untuk memiliki pengetahun teknis tentang cara kerja
komputer. Jadi, hanya
dengan instruksi yang tersusun dari angka-angka nol dan satu inilah, kita bisa
memberi instruksi pada komputer. Pada praktiknya, instruksi berupa angka nol
dan satu ini diberikan melalui bahasa pemrograman yang dikelompokkan sebagai
low-level language atau bahasa pemrograman beraras-rendah. Program yang dibuat
menggunakan bahasa pemrograman beraras-rendah ini dapat dieksekusi dengan cepat
karena sangat efisien dalam penggunaan memori. Namun, bahasa pemrograman ini
sangat sulit dipahami oleh orang awam dan membosankan bagi para si programmer.
Pemrogram yang akan membuat program dengan bahasa pemrograman jenis ini pun
dituntut untuk memiliki pengetahun teknis tentang cara kerja komputer. 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. Selain itu, bahasa
pemrograman jenis ini sangat tergantung pada mesin (machine dependent).
Artinya, satu buah instruksi yang sama dapat ditulis dalam kode-kode yang
berbeda tergantung pada mesin tempat ia akan dijalankan karena satu mesin dapat
berbeda jauh dari mesin yang lain. 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. Generasi bahasa pemrograman Jika
Anda seorang programmer atau seorang pelajar/mahasiswa yang tengah mempelajari
suatu bahasa pemrograman, tentu Anda akan menemukan bahasa pemrograman yang
mirip sekali dengan bahasa manusia ( bahasa inggris ) seperti bahasa
pemrograman favorit Saya Visual Basic ( .NET ) atau PHP ( walaupun masih banyak
melibatkan simbol / karakter khusus ) yang relatif mudah untuk di gunakan ( di
hafal dan di fahami strukturnya ) serta mengadopsi prinsip berorientasi obyek,
namun bahasa tersebut tidak serta-merta muncul, bahasa pemrograman berkembang
hingga kini menginjak generasi ke-5, berikut uraiannya.
Generasi
ke-1: machine language (bahasa mesin) Pemrograman
dengan bahasa mesin nampaknya sudah jarang di gunakan pada era sekarang untuk
membuat suatu perangkat lunak, adapun penggunaannya saat ini mungkin akan
sangat terbatas misalnya di lingkungan pendidikan untuk kepentingan
pembelajaran, betapa tidak, bahasa mesin dapat di katakan sebagai “bahasa
komputer asli” yang hanya terdiri dari karakter “0” ( nol ) dan “1” ( satu )
saja, juga di kenal dengan sebutan “bahasa biner”.
Generasi
ke-2: assembly language Pemrograman
dengan bahasa pemrograman assembly ( rakitan ) merupakan generasi ke dua
setelah generasi bahasa mesin, bahasa pemrograman assembly memiliki keyword
yang lebih kompleks dari pada bahasa mesin yang hanya berisi karakter “0” dan
“1” saja sehingga relatif lebih mudah di mengerti oleh programmer. Assembler
adalah nama bahasa pemrograman ( nama produk ) pada generasi ini.
Kode
– kode pada bahasa pemrograman assembly cenderung berupa singkatan yang di
kenal dengan sebutan kode mnemonic seperti MOV, SUB, CMP, JMP, JGE, JL, LOOP,
dan lain sebagainya. Kode – kode tersebut mungkin sedikit – banyak mirip dengan
kode Terminal ( pada sistem operasi Linux ) atau kode Command Prompt ( pada
sistem operasi Windows ), misalnya “mkdir” (make directory, untuk membuat
folder baru) namun hal tersebut merupakan kode yang berbeda walaupun sama –
sama cenderung mudah di ingat di bandingkan dengan bahasa biner.
Generasi
ke-3: procedural programming Pada
generasi ini mulai muncul bahasa pemrograman prosedural yang mengadopsi bahasa
yang mirip dengan bahasa manusia namun masih mencampurkan unsur simbol/karakter
khusus seperti {, }, ?, <<, >>, &&, ||, ; dan lain
sebagainya, kemudian pada generasi ini juga mulai di kembangkan otomatisasi
pengkodean agar programmer fokus pada fungsi utama program yang di kembangkan,
unsur simbol / karakter khusus pun mulai di kurangi bahkan pada beberapa bahasa
pemrograman telah di hilangkan.
Generasi
ke-4: 4 GL ( fourth-generation language ) Generasi
ke – 4 adalah generasi bahasa query terstruktur ( SQL, Structured Query
Language ), SQL sebenarnya merupakan bahasa pemrograman namun penerapannya saat
ini lebih banyak pada basis data ( database ) misalnya MySQL, Oracle Database,
SQL Server, PostgreSQL, SQLite dan masih banyak lagi.
Pada
bidang pemrograman, SQL umumnya di gunakan sebagai bahasa sekunder dengan
library built – in atau terpisah, query yang di sematkan dalam kode suatu
bahasa pemrograman tujuannya adalah untuk mendefinisikan basis data dan
memanipulasi basis data, di kenal dengan DDL ( Data Definition Language ) dan
DML ( Data Manipulation Language ).
Generasi
ke-5: Programming Language Based Object Oriented & Web Development Generasi
bahasa pemrograman yang ke lima lebih menekankan pada aspek efisiensi dan
penggunaan kembali ( re-use-able ) modul – modul yang di buat dengan bahasa
pemrograman tingkat tinggi tertentu, generasi ke – 5 ini juga di kenal dengan
nama “intellegent programming” ( pemrograman kecerdasan ) yang menekankan aspek
otomatisasi dalam setiap prosesnya.
Tingkatan
bahasa pemrograman Pengklasifikasian
bahasa pemrograman ke dalam tingkatan tertentu sebenarnya tidak baku, beberapa
sumber mungkin menyatakan tingkatan yang berbeda seperti bahasa pemrograman
tingkat rendah, bahasa pemrograman tingkat menengah, dan bahasa pemrograman
tingkat tinggi, sumber lain juga menyatukan bahasa pemrograman tingkat menengah
dengan bahasa pemrograman tingkat tinggi sehingga hanya ada bahasa pemrograman
tingkat rendah dan bahasa pemrograman tingkat tinggi saja.
Sumber
lain menyatakan ada tingkatan yang lebih tinggi dari bahasa pemrograman tingkat
tinggi, di sebut dengan bahasa pemrograman tingkat sangat tinggi (very-high),
ada juga yang menyebutnya pemrograman berorientasi obyek ( PBO ) atau
pemrograman visual, oleh karena itu pengklasifikasian bahasa pemrograman tidak
bersifat mengikat, suatu bahasa pemrograman dapat di kategorikan sebagai bahasa
pemrograman tingkat menengah, tingkat tinggi, atau tingkat sangat tinggi ( PBO
/ Visual ).
1.
Bahasa pemrograman tingkat rendah
Bahasa
mesin atau kode mesin merupakan satu-satunya bahasa yang bisa di olah komputer
secara langsung tanpa transformasi sebelumnya (kompilasi). Saat ini, programmer
hampir tidak pernah menulis program secara langsung dalam kode mesin, karena
memerlukan perhatian pada banyak detail yang di tangani oleh bahasa tingkat
tinggi secara otomatis.
Contoh
fungsi dalam representasi heksadesimal kode mesin 32-bit x86 untuk menghitung
angka Fibonacci ke-n:
8B542408 83FA0077 06B80000 0000C383 FA027706 B8010000 00C353BB 01000000 B9010000 008D0419 83FA0376 078BD989 C14AEBF1 5BC3 Contoh
bahasa pemrograman tingkat rendah :
Bahasa
mesin (machine language) Pada
jaman bahasa pemrograman masih tergolong tingkat rendah, kompleksitas instruksi
masih sangat terbatas sehingga belum ada “nama” bahasa pemrograman yang resmi,
seorang programmer menulis “kode mesin” dengan instruksi berupa biner atau di
kodekan kembali dengan bentuk yang lebih mudah di baca seperti desimal, oktal,
atau heksadesimal yang di terjemahkan oleh program yang di sebut “loader”. Anda
dapat menemukan contoh menarik dan interaktif mengenai bahasa mesin di situs
web edukasi https://chortle.ccsu.edu/java5/Notes/chap04/ch04_4.html.
2.
Bahasa pemrograman tingkat menengah
Bahasa
tingkat menengah memberikan satu tingkat abstraksi di atas kode mesin. Bahasa
assembly memiliki sedikit semantik atau spesifikasi formal, karena hanya
pemetaan simbol yang dapat di baca manusia. Biasanya, satu instruksi mesin di
wakili sebagai satu baris kode assembly. Assembler menghasilkan file objek yang
bisa dihubungkan dengan file objek lain atau dimuat sendiri.
Contoh
bahasa pemrograman tingkat menengah :
Assembler Microsoft
Macro Assembler (MASM) Beberapa
sumber mengelompokkan assembly sebagai bahasa pemrograman tingkat rendah karena
assembly mengonversi bahasa pemrograman ke bahasa mesin tanpa compiler atau
interpreter melainkan hanya loader saja, namun karena kita fokus pada
pengklasifikasian bahasa pemrograman berdasarkan “kedekatan” bahasanya dengan
bahasa yang dapat di mengerti manusia (bahasa inggris), maka di sini Saya akan
menempatkan assembly sebagai bahasa pemrograman tingkat menengah.
Contoh
fungsi untuk menghitung angka Fibonacci ke-n dengan bahasa assembly:
fib: mov edx, [esp+8] cmp edx, 0 ja @f mov eax, 0 ret @@: cmp edx, 2 ja @f mov eax, 1 ret @@: push ebx mov ebx, 1 mov ecx, 1 @@: lea eax, [ebx+ecx] cmp edx, 3 jbe @f mov ebx, ecx mov ecx, eax dec edx jmp @b @@: pop ebx ret
|