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, 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.
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, 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 bantu
pengawakutuan (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.