Bahasa Assembly atau yang biasa disebut
bahasa rakitan merupakan bahasa pemrograman tingkat rendah yang dapat
digunakan untuk memprogram mikroprosessor, komputer, mikrokontroler, dll
dan setingkat diatas bahasa mesin. Bahasa Assembly berbeda dengan
bahasa pemrograman lainnya karena Assembly merupakan dasar dari
pemrograman itu semua. Karena itu kemampuan Assembly masih lebih baik
dari bahasa pemrograman tingkat tinggi, contohnya C, C++, Basic, Pascal
dan Java. Selain itu assembly juga mempunyai keunggulan yang tidak
dimiliki oleh bahasa tingkat apapun contohnya dalam hal kecepatan akses,
mudahnya memanipulasi sistem komputer dan file-nya berukuran kecil.
Untuk mempelajari bahasa Assembly harus memiliki pengetahuan khusus
tentang pemrograman dan cenderung mengalami kesulitan untuk memahaminya.
Tapi disisi lain Assembly ini juga memiliki kelebihan yaitu dapat
digunakan untuk memprogram suatu hardware yang tidak dapat diprogram menggunakan bahasa tingkat tinggi.
Dalam penulisan bahasa Assembly
diperlukan suatu software khusus bahasa Assembly yang biasa disebut
assembler. Assembler ini berfungsi untuk menerjemahkan kode dalam bahasa
Assembly ke dalam bahasa mesin untuk hardware yang akan
diprogram (kompilasi). Assembler ini berbeda dengan compiler yang
terdapat pada pemrograman tingkat tinggi yang memiliki fungsi
menerjemahkan perintah menjadi instruksi pada kode mesin.
Pemrograman tingkat rendah contohnya Asslemby ini lebih berorientasi ke hardware
(mesin) dimana pemrograman ini lebih mengutamakan pernyataan yang dapat
dijalankan oleh mesin. Sedangkan pemrograman tingkat tinggi lebih
berorientasi kepada manusia agar manusia bisa mudah menulis dan mengerti
pernyataan yang terdapat pada program.
Perbandingan Assembly dengan Bahasa Lain
Pemrograman Assembly merupakan bahasa
yang digunakan untuk merepresentasikan suatu bahasa mesin. Dengan
menggunakan bahasa Assembly seorang programmer akan lebih mudah memahami
instruksi jika dibandingkan dengan menggunakan kode mesin. Bahasa mesin
biasanya menggunakan alamat memori  berupa kode heksadesimal yang
sulit dipahami. Untuk mempermudahnya maka diciptakan bahasa Assembly
yang menggunakan fasilitas label yang terdapat pada Assembly itu
sendiri.
Jika Assembly dibandingkan dengan bahasa
pemrograman tingkat tinggi lainnya, maka Assembly akan sangat sulit
dipahami jika dibandingkan dengan bahasa C. Ini yang membuat Assembly
mulai ditinggalkan karena kerumitan-nya. Saat ini para programmer
cenderung lebih suka menggunakan bahasa C atau C++ untuk melakukan
pemograman pada hardware. Namun pemrograman bahasa tingkat tinggi memiliki keterbatasan terhadap pemanfaatan hardware. Karena pemrograman tingkat tinggi biasanya menerjemahkan sebuah instruksi menjadi kode mesin. Berbeda halnya dengan Assembly yang secara langsung menerjemahkan instruksi menjadi instruksi mesin.
Dalam penulisannya, bahasa tingkat
tinggi biasanya menggunakan IDE (Integrated Development Environment)
yang sudah dikemas dalam bentuk software jadi. Namun untuk bahasa
Assembly cukup menggunakan teks editor seperti notepad, notepad++,
wordpad, dll.
Penulisan Bahasa Assembly
Pada penulisan program dalam bahasa Assembly harus berekstensi .ASM, setelah itu program dikompilasi menjadi file object dengan ekstensi .OBJ, langkah selanjutnya dilink menjadi executable file dengan berekstensi .EXE/.COM, executable file ini yang bisa dijalankan. Untuk melakukan kompilasi program dapat digunakan software Turbo Assembler (TASM).
Perlu diketahui bahwa setiap prosessor pada komputer memiliki kontruksi hardware
yang berbeda sehinggaa bahasa Assembly yang digunakan tiap prosessor
juga berbeda. Hanya pola dasar dan cara penulisannya saja yang sama.
Terdapat 2 bagian pada program dalam bahasa Assembly
- Assembly Directive merupakan bagian pada kode berfungsi sebagai pengarah bagi assembler/compiler untuk menata program.
- Instruction merupakan bagian kode yang harus dieksekusi oleh CPU dengan melakukan operasi yang telah di perintahkan pada program.
Kelebihan Menggunakan Bahasa Assembly
- Cepat pada saat melakukan running program
- Efisien dalam penggunaan memori
- Memiliki ukuran file yang kecil saat di-compile
Kelemahan Menggunakan Bahasa Assembly
- Lebih sulit dipahami pada penulisan kode yang panjang
- Baris program lebih panjang dari pada bahasa tingkat tinggi
- Kesulitan dalam melakukan operasi yang kompleks
source: http://www.geyosoft.com/2012/bahasa-assembly