Bahasa pemrograman tingkat tinggi: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
RobotQuistnix (bicara | kontrib)
k Model eksekusi: clean up
 
(48 revisi perantara oleh 36 pengguna tidak ditampilkan)
Baris 1:
'''Bahasa pemrograman tingkat tinggi''' atau '''bahasa aras tinggi'''<ref>https://bundet.com/d/1574-pengertian-bahasa-pemrograman</ref> adalah sebuah [[bahasa pemrograman]] yang jika dibandingkan dengan [[bahasa pemrograman tingkat rendah]] memiliki sifat lebih mudah digunakan, lebih portabel (mudah diadaptasikan) antar-platform, dan lebih abstrak. Bahasa-bahasa semacam ini sering melakukan [[abstraksi]] terhadap beberapa operasi [[CPU]], seperti halnya pengaksesan memori.
 
== Fitur-fitur Bahasa pemrograman tingkat tinggi ==
 
Istilah "bahasa pemrograman tingkat tinggi" tidak serta merta menjadikan bahasa tersebut lebih baik dibandingkan dengan bahasa pemrograman tingkat rendah. Akan tetapi, maksud dari "tingkat tinggi" di sini merujuk kepada abstraksi yang lebih tinggi dibandingkan dengan bahasa tingkat rendah terhadap [[bahasa mesin]]. Dibandingkan dengan harus berurusan dengan register, alamat memori dan [[callCall stack|stack-stack panggilan]], bahasa pemrograman tingkat tinggi akan berurusan dengan [[variabel]], [[larik]], dan ekspresi [[aritmetika]] atau [[aljabar Boolean]]. Selain itu, tidak seperti [[bahasa rakitan]], bahasa tingkat tinggi tidak memiliki ''[[opcode]]'' atau kode operasi yang dapat secara langsung menjadikan bahasa tersebut menjadi kode mesin. Fitur lainnya seperti rutin-rutin penanganan ''[[tipeTipe data string|string]]'', fitur [[pemrograman berorientasi objek]], input/output terhadap [[berkasBerkas komputer|berkas]] juga terdapat di dalam jenis bahasa ini.
 
Secara umum, bahasa tingkat tinggi akan membuat pemrograman komputer yang kompleks menjadi lebih sederhana, sementara 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 pemrograman tingkat rendah, sementara bahasa tingkat tinggi digunakan untuk mempermudah pemrograman.
Baris 8 ⟶ 9:
Akan tetapi, dengan bertambah rumitnya arsitektur mikroprosesor modern, kompilator-kompilator bahasa pemrograman tingkat tinggi dapat membuat kode yang lebih efisien dibandingkan dengan para programmer bahasa pemrograman tingkat rendah yang melakukannya secara manual.
 
Perlu dicatat bahwa istilah "tingkat tinggi" dan "tingkat rendah" adalah relatif. Pada awalnya, bahasa rakitan dianggap sebagai bahasa tingkat rendah, sementara [[COBOL]], [[bahasaBahasa pemrograman C|C]], dan lain-lainnya dianggap sebagai bahasa tingkat tinggi, mengingat mereka mengizinkan abstraksi terhadap fungsi, variabel, dan evaluasi ekspresi. Akan tetapi, banyak programmer saat ini mungkin menganggap bahasa C sebagai bahasa pemrograman tingkat rendah, mengingat bahasa pemrograman tersebut mengizinkan akses memori secara langsung dengan menggunakan alamatnya, dan juga dapat menggunakan beberapa direktif bahasa rakitan.
 
== Model eksekusi ==
Ada tiga buah model eksekusi untuk bahasa tingkat tinggi, yakni:
* [[bahasaBahasa pemrograman yang diinterpretasikan|Diinterpretasikan]]<{{br>}}Bahasa jenis ini akan dibaca dan dieksekusi secara langsung tanpa adanya proses atau tahap kompilasi oleh [[kompilator]]. Alat bantu yang mampu melakukannya disebut sebagai ''[[interpreterPenerjemah (komputasi)|penerjemah]] (''interpreter'').
* [[bahasaBahasa pemrograman yang dikompilasi|Dikompilasi]]<{{br>}}Bahasa jenis ini akan ditransformasikan ke dalam bentuk yang dapat dieksekusi sebelum dijalankan. Ada dua jenis kompilasi yang sering digunakan, yakni:
** '''''Intermediate representation'''''<{{br>}}Ketika sebuah bahasa dikompilasi ke dalam intermediate representation, representasi tersebut dapat dioptimalkan atau disimpan untuk eksekusi pada lain waktu tanpa adanya kebutuhan untuk membaca lagi [[kodeKode sumber|kode sumber program]]. Ketika representasi intermediate disimpan, umumnya, hal tersebut dinamakan dengan ''[[bytecode]]''.
** '''''Machine code generation'''''<{{br>}}Beberapa bahasa dapat melakukan kompilasi secara langsung ke dalam bahasa mesin.
* [[bahasaBahasa pemrograman yang ditranslasikan|Ditranslasikan]]<{{br>}}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.
 
{{Authority control}}
 
{{bahasa-komputer-stub}}
[[Kategori:Bahasa komputer]]
 
 
[[bn:উচ্চস্তরের প্রোগ্রামিং ভাষা]]
{{bahasa-komputer-stub}}
[[ca:Llenguatges de programació d'alt nivell]]
[[de:Höhere Programmiersprache]]
[[en:High-level programming language]]
[[es:Lenguaje de alto nivel]]
[[fr:Langage de haut niveau]]
[[gl:Linguaxe de alto nivel]]
[[he:שפה עילית]]
[[hr:Programski jezik visoke razine]]
[[hu:Magasszintű programozási nyelv]]
[[is:Æðra forritunarmál]]
[[it:Linguaggio di programmazione ad alto livello]]
[[ja:高級言語]]
[[ko:고급 프로그래밍 언어]]
[[ms:Bahasa pengaturcaraan aras tinggi]]
[[no:Høynivåspråk]]
[[pl:Język wysokiego poziomu]]
[[pt:Linguagem de programação de alto nível]]
[[ru:Высокоуровневый язык программирования]]
[[sl:Visokonivojski jezik]]