Apakah perbedaan antara High-level Languages ( Bahasa Tingkat tinggi) dan Machine Language (Bahasa Mesin)?

Apakah perbedaan antara High-level Languages ( Bahasa Tingkat tinggi) dan Machine Language (Bahasa Mesin) ?

Machine language adalah representasi tertulis machine code (kode mesin), yaitu kode operasi suatu mesin tertentu. Bahasa ini bersifat khusus untuk mesin tertentu dan dimengerti langsung oleh mesin, sehingga pelaksanaan proses sangat cepat. Abstraksi bahasa ini adalah kumpulan kombinasi kode biner “0” dan “1” yang sangat tidak alamiah bagi kebanyakan orang, kecuali insinyur pembuat mesin komputer. Karena tidak alamiah bagi kebanyakan orang, bahasa mesin juga disebut bahasa tingkat rendah.

Sedangkan High level language adalah bahasa yang membuat pemrograman lebih mudah dipahami, lebih manusiawi, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh : Algol, BASIC, COBOL, C, C++, FORTRAN, LISP, Pascal, PL/1, dan sebagainya.

Bahasa pemrograman merupakan sebuah instruksi yang digunakan untuk memerintahkan komputer dalam melakukan suatu pekerjaan. Terdapat 3 tingkatan dalam bahasa pemrograman, yaitu :

  1. Bahasa Pemrograman Tingkat Rendah
  2. Bahasa Pemrograman Tingkat Menengah
  3. Bahasa Pemrograman Tingkat Tinggi

Bahasa Mesin
Bahasa mesin termasuk ke dalam bahasa tingkat rendah (low level language) karena sifat dari bahasa mesin lebih berorientasi pada mesin. Bahasa ini hanya akan dipahami oleh komputer itu sendiri. Bahasa ini berupa kode-kode yang terdiri dari sekumpulan angka yang ada di dalam komputer. Bahasa mesin diwakili oleh kode angka 1 (satu) dan 0 (nol). Kode ini merupakan sinyal elektronik yang memberitahu komputer apa yang harus dikerjakan. Dalam penggunaannya biasanya intruksi dituliskan dalam bentuk bahasa pemrograman yang akan disampaikan ke kompiler, assembler, atau interpreter yang bertugas untuk menerjemahkan bahasa pemrograman tadi ke bahasa mesin.

Bahasa Pemrograman Tingkat Tinggi
Bahasa tingkat tinggi mempunyai ciri-ciri mudah dimengerti karena kedekatannya terhadap bahasa sehari-hari. Sebuah pernyataan program diterjemahkan kepada sebuah atau beberapa mesin dengan menggunakan compiler. Bahasa ini memakai instruksi yang berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb. Bahasa pemrograman yang termasuk dalam bahasa tingkat tinggi adalah sebagai berikut : C++ (Turbo C++), Visual Basic (non – .NET), PHP (prosedural), Delphi (Borland), Pascal (Turbo Pascal), dan lain-lain.

Bahasa pemrograman, atau sering disebut juga dengan bahasa komputer, adalah instruksi standar untuk memerintah 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 secara persis yang akan diambil dalam berbagai macam situasi.

Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari beberapa tingkatan. Perhatikan gambar berikut:


Lalu, kira-kira apa perbedaan antara high-level languages dan machine language?


High-Level Language


hi-level_programming
High-level language (atau bahasa pemrograman tingkat tinggi) adalah sebuah bahasa pemrograman yang jika dibandingkan dengan bahasa pemrograman tingkat rendah, memiliki sifat lebih mudah digunakan, lebih mudah diadaptasikan antar-platform, dan lebih abstrak. Bahasa-bahasa semacam ini sering melakukan abstraksi terhadap beberapa operasi CPU, seperti halnya pengaksesan memori.

Bahasa pemrograman tingkat tinggi membawa banyak perkembangan fantastis. Perkembangan tersebut meliputi pemrograman berorientasi obyek, pemrograman berbasis web (duiembangkan dengan konsep cloud), pemrograman basis data, dan masih banyak lagi termasuk pemrograman perangkat mobile yang saat ini marak di gunakan dan nampaknya akan atau tengah menjadi trend perangkat lunak.

Terdapat 3 model eksekusi untuk bahasa pemrograman tingkat tinggi. Apa saja?

  1. Interpretasi
    Bahasa jenis ini akan dibaca dan dieksekusi secara langsung tanpa adanya proses atau tahap kompilasi oleh kompilator. Alat bantu yang mampu melakukannya disebut sebagai penerjemah (interpreter).

  2. Kompilasi
    Bahasa jenis ini akan ditransformasikan ke dalam bentuk yang dapat dieksekusi sebelum dijalankan. Ada dua jenis kompilasi yang sering digunakan, yakni Intermediate representation dan Machine code generation

  3. Translasi
    Sebuah bahasa juga dapat ditranslasikan ke dalam bahasa pemrograman tingkat rendah di mana kompilator kode bahasa asli telah beredar luas. Bahasa pemrograman C merupakan salah satu target yang umum untuk translator seperti ini.

Contoh bahasa pemrograman tingkat tinggi antara lain: C++ (Turbo C++), PHP (prosedural), Delphi (Borland), dan Pascal (Turbo Pascal).


Machine Language


machinelanguage1

Machine Language atau bahasa mesin merupakan seperangkat instruksi serta data yang dapat dieksekusi secara langsung oleh prosesor komputer. Bahasa mesin merupakan tingkatan yang paling rendah dari bahasa pemrograman dan biasanya digunakan sebagai tujuan kompilasi oleh kompiler pada bahasa-bahasa pemrograman lain dalam tingkatan yang lebih tinggi. Penerjemahan kode pada bahasa pemrograman interpretatif atau bahasa skrip umumnya tidak termasuk dalam kriteria tersebut karena umumnya bahasa skrip menerjemahkan kode sumber menjadi P-Code, kode penjembatan antara kode sumber dan kode mesin.

Pemrograman dengan bahasa mesin nampaknya juga 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. Alasannya karena bahasa mesin dapat di katakan sebagai “bahasa komputer asli” yang hanya terdiri dari karakter 0 dan 1 saja, juga di kenal dengan sebutan “bahasa biner”.

Jadi, kesimpulannya adalah?

Secara umum, bahasa tingkat tinggi akan membuat pemrograman komputer yang kompleks menjadi lebih sederhana, sementara bahasa mesin yang tergolong sebagai bahasa tingkat rendah cenderung untuk membuat kode yang lebih efisien. Dalam sebuah bahasa tingkat tinggi, elemen-elemen kompleks dapat dipecah ke dalam beberapa elemen yang lebih sederhana, meski masih dapat dianggap kompleks, di mana bahasa tersebut menyediakan abstraksi. Karena alasan ini, kode-kode yang harus berjalan dengan efisien dapat ditulis dalam bahasa mesin, sementara bahasa tingkat tinggi digunakan untuk mempermudah pemrograman.

Contoh dari keduanya (+ Assembly language) sebagai berikut:
1-CompLang

:grinning:
Sumber:

Bahasa Pemrograman