Bahasa rakitan: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Tag: Suntingan perangkat seluler Suntingan peramban seluler
Wadaihangit (bicara | kontrib)
k Menambahkan foto ke halaman #WPWP
 
(20 revisi perantara oleh 12 pengguna tidak ditampilkan)
Baris 1:
{{Multiple issues|{{Tambah referensi}}{{Tambah catatan kaki}}}}
'''Bahasa rakitan''' atau lebih umum dikenal sebagai '''Assembly''' adalah bahasa pemrograman tingkat rendah yang digunakan dalam pemograman [[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 pemrograman tingkat tinggi|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.
[[Berkas:Motorola 6800 Assembly Language.png|jmpl|Bahasa Perakitan Motorola 6800]]
'''Bahasa rakitan''' atau lebih umum dikenal sebagai '''Assembly''assembly language''''' adalah bahasa pemrograman tingkat rendah yang digunakan dalam pemogramanpemrograman [[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 pemrograman tingkat tinggi|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.
 
Pada bahasa rakitan, [[programmer]] umumnya menggunakan sebuah [[Perangkat lunak utilitas|program utilitas]] yang disebut sebagai '''perakit''' ({{asal kata|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.
Baris 7 ⟶ 9:
== 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 ==
Baris 18 ⟶ 20:
B0 61
Pada instruksi di atas, <code>B0</code> berarti: 'Pindahkan nilai berikut ke register ''AL''', dan <code>61</code> 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:
<sourcesyntaxhighlight lang="asm">MOV AL, 61h ; Isi register AL dengan nilai 97 (61 hex)</sourcesyntaxhighlight>
Bahasa rakitan memungkinkan programmer untukmenambahkan bisakomentar jadiatas gobloksetiap daninstruksi programeryang bisaditulis meretasuntuk ygmempermudah tidakpembacaan dan bisalebih dimudah retaspemahaman.
 
== Lihat pula ==
* [[Bahasa Pemrogramanpemrograman]]
* [[Kompiler]]
* [[Pemrograman]]
* [[Set instruksi]]
 
== RujukanReferensi ==
{{reflist}}
 
== Bacaan lanjutan ==
* {{en}} [http://www.asmcommunity.net/book/ ''ASM Community Book''] {{Webarchive|url=https://web.archive.org/web/20130602003436/http://www.asmcommunity.net/book/ |date=2013-06-02 }} "An online book full of helpful ASM info, tutorials and code examples" by the ASM Community
* {{en}} Jonathan Bartlett: ''[http://programminggroundup.blogspot.com/ Programming from the Ground Up]''. Bartlett Publishing, 2004. ISBN 0-9752838-4-7<br />Also available online [http://download.savannah.gnu.org/releases-noredirect/pgubook/ProgrammingGroundUp-1-0-booksize.pdf as PDF] {{Webarchive|url=https://web.archive.org/web/20090206015549/http://download.savannah.gnu.org/releases-noredirect/pgubook/ProgrammingGroundUp-1-0-booksize.pdf |date=2009-02-06 }}
* {{en}} Robert Britton: ''MIPS Assembly Language Programming''. Prentice Hall, 2003. ISBN 0-13-142044-5
* {{en}} Paul Carter: ''PC Assembly Language''. Free ebook, 2001.<br />[http://drpaulcarter.com/pcasm/ Website]
* {{en}} Jeff Duntemann: ''Assembly Language Step-by-Step''. Wiley, 2000. ISBN 0-471-37523-3
* {{en}} Randall Hyde: ''The Art of Assembly Language''. No Starch Press, 2003. ISBN 1-886411-97-2<br />Draft versions [http://webster.cs.ucr.edu/AoA/index.html available online] {{Webarchive|url=https://web.archive.org/web/20110128075719/http://webster.cs.ucr.edu/AoA/index.html |date=2011-01-28 }} as PDF and HTML
* {{en}} Peter Norton, John Socha, ''Peter Norton's Assembly Language Book for the IBM PC'', Brady Books, NY: 1986.
* {{en}} Michael Singer, ''PDP-11. Assembler Language Programming and Machine Organization'', John Wiley & Sons, NY: 1980.
Baris 42 ⟶ 44:
* {{en}} John Waldron: ''Introduction to RISC Assembly Language Programming''. Addison Wesley, 1998. ISBN 0-201-39828-1
 
{{Authority control}}
{{computer-stub}}
 
[[Kategori:Bahasa pemrograman|Rakitan]]
 
 
[[pl:Asembler#Język asemblera]]
{{computer-stub}}