'''Bahasa pemrograman''' atau '''bahasa penataolahan''' ({{lang-en|programming language}}) adalah sistem notasi untuk menulis program komputer. Sebagian besar bahasa pemrograman adalah bahasa formal berdasarkan teks, tetapi juga dapat berupa grafis.<ref>{{Cite book|last=Simarmata|first=Janner|url=https://books.google.co.id/books?id=QP1BjG_VIsoC&pg=PA403&dq=Program+komputer&hl=id&newbks=1&newbks_redir=0&source=gb_mobile_search&sa=X&ved=2ahUKEwiFwZDxtfX-AhUC-jgGHVqkAhQQ6AF6BAgNEAM|title=Rekayasa Perangkat Lunak|publisher=Penerbit Andi|isbn=978-979-29-1347-7|language=id}}</ref>[[Berkas:C Hello World Program.png|jmpl|Kode sumber untuk tata olah sederhana yang ditulis menggunakan bahasa pemrograman C. Saat [[program komputer|tata olah]] dikompilasi dan dijalankan, maka layar akan menampilkan "Hello, world!"]]
'''Bahasa pemrograman''', atau sering diistilahkan juga dengan [[bahasa komputer]] atau [[bahasa pemrograman komputer]], adalah instruksi standar untuk memerintah [[komputer]]. Bahasa pemrograman ini merupakan suatu himpunan dari aturan [[sintaks]] dan [[semantik]] yang dipakai untuk mendefinisikan [[program 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 [[algoritma|langkah]] apa secara persis yang akan diambil dalam berbagai situasi. ▼
Deskripsi bahasa pemrograman dibagi menjadi dua komponen; yaitu [[sintaksis]] (bentuk) dan [[semantik]] (makna), yang biasanya didefinisikan oleh bahasa formal. Beberapa bahasa ditentukan oleh dokumen spesifikasi (misalnya, bahasa pemrograman C ditentukan oleh Standar [[ISO]]) sementara bahasa lain (seperti [[Perl]]) memiliki implementasi dominan yang diperlakukan sebagai rujukan. Beberapa bahasa memiliki keduanya, dengan bahasa dasar yang ditentukan oleh standar dan ekstensi diambil dari implementasi dominan yang umum.
== Pengertian Bahasa Pemrograman == ▼
Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
▲'''Bahasa pemrograman ''', atauadalah seringsebuah diistilahkaninstruksi jugastandar denganuntuk [[bahasamemerintah komputer ]] atauagar [[bahasamenjalankan pemrogramanfungsi komputer]], adalah instruksi standar untuk memerintah [[komputer]]tertentu. Bahasa pemrograman ini merupakan suatu himpunan dari aturan [[sintaks]]sintaksis dan [[semantik ]] yang dipakai untuk mendefinisikan [[programtata komputer]]olah (''program''). Bahasa ini memungkinkan seorang [[programmer |penata olah]] (''programmer'') dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis [[algoritma|langkah ]] apa yang secara persis yang akan diambil dalam berbagai situasi.
# Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110
# Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris ''[[Assembly]]''), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode ''mnemonic''), contohnya [http://wiki-indonesia.club/wiki/Assembly#Representasi kode_mesin|MOV], SUB, CMP, JMP, JGE, JL, LOOP, dsb.
# Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
# Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya ''begin, end, if, for, while, and, or, dsb.'' Komputer dapat mengerti bahasa manusia itu diperlukan program ''compiler ''atau'' interpreter.''
Sebagian besar bahasa pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa Tingkat Rendah.
▲== Pengertian Bahasa Pemrograman ==
Bahasa Pemrograman (programming language) adalah sebuah instruksi standar untuk memerintah komputer agar menjalankan fungsi tertentu. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program 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 situasi.
== Fungsi ==
Fungsi bahasa pemrograman itu sendiri yaitu memerintah komputer untuk mengolah data sesuai dengan alur berpikir yang kita''programmer'' inginkan. Keluaran (''output'') dari bahasa pemrograman tersebut dapat berupa program/tata olah, konsol atau aplikasi. Contohnya adalah programtata olah yang digunakan oleh kasir di [[mal|mal-mal]] atau [[pasar swalayan|pasar raya]], penggunaan lampu lalu lintas di jalan raya, dlldan lain-lain.
Bahasa Pemrograman yang kita kenal ada banyak sekali di belahan dunia, tentang ilmu komputer dan teknologi dewasa ini. Perkembangannya mengikuti tingginya [[inovasi]] yang dilakukan dalam dunia teknologi. Contoh bahasa pemrogramanaplikasi yang kitadapat kenalditulis antaradengan lainbahasa adalahpemrograman untukantara membuatlain [[game|aplikasi gamepermainan]], [[antivirus]], web, penyunting, dan teknologi lainnya.
Bahasa pemrograman komputer yang kita kenalpopuler antara lain adalahseperti [[Java]], [[Visual Basic]], [[C++]], [[C (bahasa pemrograman)|C]], [[COBOL|Cobol]], [[PHP]], .Net,NET dan ratusan bahasa lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan dengan fungsi dan perangkat yang menggunakannya.
Secara umum bahasa pemrograman terbagi menjadi 4 kelompok, yaitu :
* Object Oriented Language (Visual dBase, Visual FoxPro, Delphi, Visual C)
* High Level Language (seperti Pascal dan Basic)
* Middle Level Language (seperti bahasa C), dan
* Low Level Language (seperti bahasa Assembly)
== Tingkatan ==
=== Bahasa Tingkattingkat Tinggitinggi (''high-level programming language'') ===
Bahasa pemrograman masuk tingkat initinggi karenaadalah bahasa tersebutpemrograman yang mendekati bahasa manusia.<ref>{{Cite Contohnyabook|title=Pengantar bahasaTeknologi Basic,Informasi Visual- Basic,Konsep Pascal,dan Java, PHPTeori|last=Sobri|first=Muhammad|publisher=|year=|isbn=9789792963120|location=|pages=}}</ref>.
<!-- Ubah daftar ini jika ada kesalahan letak tingkatan, atau penambahan bahasa pemrograman -->
=== Bahasa Tingkat Menengah ===
Disebut tingkat menengah karena bisa masuk ke dalam bahasa tingkat tinggi maupun rendah. Contohnya bahasa C.
Daftar bahasa pemrograman tingkat tinggi:
* [[Python (bahasa pemrograman)|Python]]
* [[Pascal (bahasa pemrograman)|Pascal]]
* [[Java]]
* [[JavaScript]]
* [[C Sharp (bahasa pemrograman)|C#]]
* [[Ruby (bahasa pemrograman)|Ruby]]
* [[Visual Basic]]
* [[Perl]]
* [[PHP]]
* [[Swift (bahasa pemrograman)|Swift]]
=== Bahasa tingkat menengah (''intermediate-level programming language'') ===
Bahasa pemrograman tingkat menengah adalah bahasa pemrograman yang dapat berperan sebagai tingkat tinggi maupun rendah.
Contoh bahasa pemrograman tingkat menengah:
* [[Rust]]
* [[Golang|Go]]
* [[C (bahasa pemrograman)|C]]
* [[C++]]
=== Bahasa tingkat rendah (''low-level programming language'') ===
Bahasa pemrograman tingkat rendah adalah bahasa pemrograman yang sepenuhnya berorientasi pada bahasa mesin sehingga sangat sulit untuk dipelajari manusia.
Contoh bahasa pemrograman tingkat menengah:
* [[Assembly]]
=== Bahasa Tingkat Rendah ===
Bahasa pemrograman masuk tingkat ini karena bahasanya masih jauh dari bahasa manusia. Contohnya bahasa Assembly.
== Generasi ==
Sedangkan menurut generasinya, bahasa pemrograman digolongkan menjadi 45 generasi:
* Generasi ke-1: ''machine language''
* Generasi ke-2: ''assembly language'': ''Assembler''
* Generasi ke-5: ''Programming Language Based Object Oriented & Web Development''
== Proses Pembuatanpembuatan Programprogram ==
Proses pembuatan program yaitu kita menulis kode sumber pada teks editor misalnya notepad kemudian mengubahnya menjadi bahasa mesin yang bisa dieksekusi oleh [[CPU]]. Proses pengubahan kode sumber (''source code'') menjadi bahasa mesin (''machine language'') ini terdiri dari dua macam yaitu kompilasi dan interpretasi.
=== Kompilasi ===
Dalam proses kompilasi semua kode sumber dibaca terlebih dahulu dan jika tidak ada kesalahan dalam menulis program maka akan dibentuk kode mesinnya sehingga program bisa dijalankan. Program yang melakukan tugas ini disebut Compiler''compiler''. Program hasil kompilasi akan berbentuk ''executable''. Program bisa langsung dijalankan tanpa harus memiliki Compilercompiler di komputer yang menjalankan program tersebut. Bahasa yang menggunakan teknik kompilasi misalnya bahasa C, C++, Pascal, Assembly dan masih banyak lagi.
=== Interpretasi (Interpretation) ===
Bahasa yang menggunakan teknik interpretasi akan membaca kode sumber perbarisper baris dan dieksekusi perbarisper baris. Jika ditemukan kesalahan dalam penulisan program maka di baris kesalahan itulah program akan dihentikan. Program yang melakukan tugas ini disebut Interpreter''interpreter''. Pada teknik interpretasi tidak ada akan dihasilkan program ''standalone'' (berdiri sendiri), artinya untuk menjalankan program kitapenata olah harus mempunyai kode sumbernya sekaligus interpreter program tersebut. Bahasa yang menggunakan teknik interpretasi misalnya bahasa Perl, Python, Ruby dan masih banyak lagi.
=== Kompilasi Sekaligussekaligus Interpretasiinterpretasi ===
Ada juga bahasa pemrograman yang menghasilkan programnya dengan teknik kompilasi sekaligus interpretasi., Misalnyacontohnya bahasa javaJava. Dalam pembuatan program javaJava, kode sumber diubah menjadi ''bytecode''. Meskipun nampaktampak seperti bahasa mesin namun ini bukanlah bahasa mesin dan tidak secara ''executable''. Untuk menjalankan ''bytecode'' tersebut kitapenata olah membutuhkan Java Runtime Environment (JRE) yang bertugas sebagai ''interpreter'' sehingga menghasilkan program dari ''bytecode'' tersebut.
Meskipun setiap bahasa pemrograman dibuat untuk membuat program namun setiap bahasa dibuat dengan tujuan dan fungsi yang berbeda-beda., Misalnyacontohnya untuk membuat ''driver hardware'', kitapenata olah tidak bisa menggunakan bahasa Visual Basic. Untuk membuat program berbasis sistem seperti driver kita bisa gunakan bahasa C atau Assembly. Contohnya sistem operasi linux yang open source. Jika anda melihat kode sumbernya anda akan menemukan bahwa linux dibuat menggunakan bahasa C. Sedangkan untuk pemrograman desktop kita bisa menggunakan Visual Basic. Bahasa tersebut dirancang oleh Microsoft untuk pemrograman desktop dengan tampilan GUI yang memukau.
== Bahasa pemrograman yang umum digunakan ==
;HTML / CSS :banyak yang tidak menggaggap ini bagian dari bahasa pemprograman, tetapi jika di lihat dari mana program web berasal maka bisa di pastikan html/CSS adalah dasar dari itu semua,jadi jika anda ingin belajar membuat web statis terebih dahulu anda pasti akan belajar HTML/CSS dasar.
;[[JavaScript ]]: JavaScript adalah carabahasa yang sangat populer untuk menambahkan fitur interaktif untuk halaman web dan aplikasi, .memvalidasi Inidata adalahformulir, salahmemanggil satuAPI bahasa(''Application yangProgramming palingInterface''), mudahpengembangan untukgame dipelajariweb, dan dapatlain-lain. digunakanIni untukadalah apasalah punsatu sepertibahasa memvalidasiyang datapaling formulirmudah untuk mengembangkan permainan dipelajari,menjadikan bahasa menjadikannyapemrograman pilihan yang sangat populer untuk pemula .
;[[PHP ]]:bahasa program yang digunakan terutama untuk mengembangkan halaman web dinamis . Ini berarti bahwa daripada menciptakan sebuah file terpisah penuh kode untuk setiap halaman situs , AndaPHP dapat menulis seperangkat aturan untuk mengakses dan menampilkan informasi dari database yang kemudian dapat membuat halaman dan memanggil mereka ketika mereka dibutuhkan, dibandingkan menciptakan sebuah file terpisah penuh kode untuk setiap halaman situs.
;C + + : . Dikembangkan untuk menambahkan fitur berorientasi objek dengan bahasa C , dengan penambahan kelas dan fitur lainnya . C + + yang sekarang banyak digunakan dengan berbagai besar aplikasi . Belajar C + + juga memiliki keuntungan yaitu lebih mudah untuk mempelajari bahasa C lainnya yaitu C # dan C. Semua bahasa C umumnya dipandang sebagai bahasa pemprograman tingkat menengah . ▼
;C # : Diucapkan C Sharp , bahasa ini diciptakan oleh Microsoft dalam kerangka NET . . Jika Anda ingin menulis aplikasi jendela , atau terutama jika Anda ingin menulis kode untuk perangkat lunak desktop , ini sangat penting. Ini adalah tujuan OOP umum yang berbagi banyak kesamaan dengan bahasa C tua. ▼
▲; [[C + + ]]: .Bahasa Dikembangkanberorientasi untukobjek menambahkanyang fiturturunan berorientasi objek dengandari bahasa C , dengan penambahan kelas dan fitur lainnya . C + + yangsering sekarangdigunakan banyakoleh digunakanpengembang denganuntuk berbagaimelakukan ''maintenance'' performa, AI, dan sebagian besar aplikasi . Belajar C + + juga memiliki keuntungan yaitu lebih mudah untuk mempelajari bahasa C lainnya yaitu C # dan C. Semua bahasa C umumnya dipandang sebagai bahasa pemprogramanpemrograman tingkat menengah .
;C : ini adalah versi C yang digunakan oleh sistem operasi Apple serta sejumlah kecil aplikasi lain . Jika Anda ingin mengkhususkan diri dalam menulis kode untuk produk Apple maka ini adalah program yang harus anda kuasai. ▼
;Python : Sangat populer dalam komunitas ilmiah dan akademik , tetapi juga telah digunakan untuk membuat situs web populer seperti Pinterest . Hal ini relatif mudah untuk belajar dibandingkan dengan sesuatu seperti C atau turunannya , namun masih sangat fleksibel dalam hal apa yang dapat Anda lakukan dengan itu . ▼
▲; [[C #Sharp (bahasa pemrograman)|C#]]: Diucapkan C Sharp , bahasa ini diciptakan oleh [[Microsoft ]] dalam kerangka NET . .C# Jikabanyak Andadigunakan inginuntuk menulis aplikasi jendelaWindows (dalam bentuk Windows Forms atau WinForms, WPF atau terutamaWindows jikaPresentation AndaFoundation, inginUWP menulisatau kodeUniversal untukWindows perangkatPlatform lunakdi desktopWindows 10, inidan WinUI), pengembangan game, sangatdan penting[AI]]. Ini adalah tujuan OOP umum yang berbagi banyak kesamaan dengan bahasa C tua.
;Java : Digunakan oleh Google sebagai bagian integral dari sistem operasi Android , dan oleh pengembang independen untuk membuat aplikasi android ( serta kegunaan lain ) . Java diciptakan dengan " tulis sekali , jalankan di mana saja " ( WORA ) pendekatan untuk memudahkan kode yang ditulis pada satu mesin untuk berjalan di lain mesin. ▼
;Ruby : Ini adalah OOP murni populer dari Jepang. Bahasa pemrograman open source dinamis, mudah dimengerti dan produktif. Sintaks Ruby elegan, natural, mudah dibaca dan ditulis. ▼
;[[Bahasa pemrograman C|C]]: Akar dari bahasa C adalah dari bahasa '''BCPL''' yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan '''B''' pada tahun 1970. Perkembangan selanjutnya dari bahasa '''B''' adalah bahasa '''C''' oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc (''sekarang'': AT&T Bell Laboratories). Bahasa C pertama kali digunakan di komputer Digital Equipment Corporation PDP-11 yang menggunakan sistem operasi UNIX.<ref>{{Cite book|title=Konsep Dasar Pemrograman Bahasa C|last=Hartono|first=Jogiyanto|publisher=Penerbit Andi Yogyakarta|year=2000|isbn=9795333429|location=Yogyakarta|pages=1}}</ref>
;Visual Basic : Berasal dari ' BASIC ' , yang sangat populer di hari-hari awal komputasi personal , Visual Basic ( VB ) memungkinkan program sederhana yang akan dibuat dengan cepat dan mudah, sementara juga memungkinkan untuk coding yang lebih kompleks. ▼
▲;C : iniIni adalah versi C yang digunakan oleh sistem operasi Apple serta sejumlah kecil aplikasi lain . Jika Anda ingin mengkhususkan diri dalam menulis kode untuk produk Apple maka ini adalah program yang harus anda kuasai.
▲; [[Python (bahasa pemrograman)|Python]]: SangatPython sangat populer dalam komunitas ilmiah dan akademik . ,Bahasa tetapi jugaini telah digunakan untuk membuat situs web populer seperti Pinterest dan Instagram. HalPython iniadalah bahasa pemrograman yang relatifpaling mudah untuk belajardipelajari dibandingkan dengan sesuatubahasa sepertipemrograman C atau turunannya , namunkarena masihPython sangatmemiliki fleksibel dalam hal apa[[sintaksis]] yang dapat Anda lakukan dengantidak ituterlalu kompleks.
▲; [[Java (bahasa pemrograman)|Java]]: Digunakan oleh [[Google ]] sebagai bagian integral dari sistem operasi Android , dan oleh pengembang independen untuk membuat aplikasi androidAndroid ( serta kegunaan lain ) . Java diciptakan dengan " tulis sekali , jalankan di mana saja " ( WORA atau ''Write Once, Run Anywhere'') pendekatan untuk memudahkan kode yang ditulis pada satu mesin untuk berjalan di lain mesin lain.
▲; [[Ruby (bahasa pemrograman)|Ruby]]: Ini adalahBahasa OOP murni populer dari Jepang. Bahasa pemrogramandan ''open source '' dinamis,murni mudahyang dimengertipopuler dandari produktifJepang. Sintaks Ruby elegan, natural, mudah dibaca dan ditulis.
▲; [[Visual Basic ]]: Berasal dari 'bahasa BASICpemrograman ' [[BASIC]]', yang sangat populer dipada hari-hari awal komputasi personalpribadi. ,Bahasa Visualini Basicdapat ( VB ) memungkinkanmembuat program sederhana yang akan dibuat dengan cepat dan mudah, sementara jugaserta memungkinkan untuk ''coding '' yang lebih kompleks.
== Daftar ==
== Lihat pula ==
* [[Daftar bahasa pemrograman]]
* [[Bahasa pemrograman pendidikan]]
* [[Bahasa pemrograman tujuan umum|Bahasa pemrograman tujuan umum (GPL)]]
* [[Bahasa pemrograman tujuan khusus|Bahasa pemrograman tujuan khusus (DSL)]]
== Referensi ==
<references />
{{reflist}}
== Pranala luar ==
* {{Wikiversity-inline}}
* {{commonscat-inline|Programming languages|Bahasa pemrograman}}
{{commons}}
* [http://www.ilmusoft.com/artikel/apa-yang-dimaksud-bahasa-pemrograman-komputer/ Apa yang dimaksud Bahasa Pemrograman Komputer ?]
{{Bahasa pemrograman}}
{{Authority control}}
[[Kategori:Bahasa pemrograman| ]]
|