Machine Languages, Assembly Languages and High-Level Languages


programmer menulis instruksi dan perintah dalam berbagai jenis bahasa pemrograman, beberapa dapat dimengerti secara langsung oleh komputer, dan beberapa yang laen membutuhkan ‘media’ penengah untuk penerjemah. dari ratusan bahasa pemrograman yang ada saat ini, secara garis besar dapat dikelompokkan dalam 3 kategori berikut :

  • Machine languages
  • Assembly languages
  • High-level languages

tiap komputer dapat secara langsung mengerti HANYA bahasa mesin-nya sendiri. bahasa mesin (Machine Language) adalah ‘bahasa alami’ dari sebuah komputer dan bahasa tersebut didefinisikan oleh manufaktur/desain hardware yang bersangkutan. [Catatan: bahasa mesin sering di sebut sebagai object code. istilah ini muncul jauh sebelum istilah “object-oriented programming.” penggunaan kedua “object” dalam istilah tersebut tidak berhubungan.] bahasa mesin pada umumnya terdiri dari deretan angka-angka (tepatnya 1 dan 0, basis binari) yang membeirkan instruksi kepada komputer untuk melakukan operasi dasar komputer. bhasa mesin bersifat dependent (satu jenis bhasa mesin hanya dapat digunakan pada satu jenis mesin/komputer tersebut, sebagai contoh bahasa mesin untuk proc intel x86 tentu tidak sama dengan bahasa mesin yang diaplikasikan pada pro ARM atau RISC). bahasa yang demikian akan terlihat membingungkan bagi manusia, seperti diilustrasikan dibawah, berikut adalah potongan kode bahasa mesin untuk menambahkan gaji lembur ke gaji pokok dan menambahkan keduanya dalam gaji total :

+1300042774
+1400593419
+1200274027

membuat instruksi dalam bahasa mesin akan menyita waktu, cukup melelahkan dan rentan terhadap kesalahan bagi kebanyakan programmer. sebagai alternatif terhadap bahasa tersebut, untuk mempermudah, programmer mulai menggunakan singkatan (yang lebih sering berasal dari bahasa inggris) untuk mewakili operasi dasar. singkatan-singkatan ini membentuk dasar dari bahasa assembly. program translasi yang disebut assemblers dikembangkan untuk melakukan konversi program yang dibuat dengan menggunakan bahasa assembly (pada masa pengembangan awal) menjadi bahasa mesin dengan memanfaatkan kemampuan komputer. berikut ini adalah kode dalam bahasa assembly yang menambahkan gaji lembur ke gaji pokok dan menyimpan nilai dalam gaji total :

load gajipokok
add gajilembur
store gajitotal

meski kode tersebut sudah tampak lebih jelas bagi manusia, isntruksi tersebut tidak dapat dipahami oleh komputer sebelum diterjemahkan ke bahasa mesin
penggunaan komputer meningkat dengan pesan seiring dengan perkembangan bahasa assembly, tetapi programmer masih harus menggunakan banyak instruksi untuk dapat mencapai, bahkan tugas yang cukup sederhana. untuk memeprcepat proses pemrograman, bahasa tingkat tinggi (high-level language) dikembangkan dimana pernyataan tunggal dapat digunakan untuk menyelesaikan tugas yang substansial.

program penerjemah disebut dengan compiler menerjemahkan program engan bahasa tingkat tingi menjadi bahasa mesin. bahasa tingkat tinggi memungkinkan programmer untuk menulis instruksi yang terlihat hampir seperti bhasa sehari-hari (english tentunya, kecuali nar mau bikin bahasa pemrograman pake bahasa indonesia ^_^ )dan berisi notasi umum matematika. program pengjaian yang sama dengan kedua contoh diatas dapat dituliskan dengan bahasa tingkat tinggi menjadi kurang lebih seperti ini :

gajiTotal = gajiPokok + gajiLembur;

dari sudut pandang programmer, tentu saja, bahasa tingkat tinggi lebih dipilih dibandingkan bahasa mesin dan bahasa assembly. C, C++, Microsoft .NET Platform (contoh, Visual Basic .NET, Visual C++ .NET and C#) dan Java adalah diantara beberapa bahasa tingkat tinggi yang sering digunakan.

proses merubah (compile) program dengan bahasa tingkat tinggi menjadi bahasa mesin membutuhkan waktu computer (computer time, clock) yang cukup banyak. program interpreter dikembangkan untuk melakukan eksekusi program yang dibuat dengan bahasa tingkat tinggi secara langsung, meski dengan waktu eksekusi yang lebih lama dan lambat. nterpreter lebih sering digunakan dalam lingkungan pengembangan program, dimana fitur-fitur baru ditambahkan dan error/kesalahan dikoreksi. setelah aplikasi selesai dikembangkan, versi bahasa mesin dapat dibuat (compile) agar aplikasi dapat berjalan lebih efisien.

Source : Deitel “how to program” series

Advertisements

2 comments on “Machine Languages, Assembly Languages and High-Level Languages

  1. om mau nanya, sori neh banyak nanya hehe.. om tau MS. Expression Web ga? itu sama ga seh sama MS. Frontpage jd ga usah pake coding2an, soalnya aku pengen iseng2 bwat website. klo pake php ato dreamweaver, ku ga ngerti coding2annya hehe… maklum masih cupu. thx

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s