Bahasa pemrograman: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
DimasIgnatius (bicara | kontrib)
Membalikkan revisi 7499667 oleh Ubaidiella (bicara)
Etewe (bicara | kontrib)
Image suggestions feature: 1 image added.
 
(287 revisi antara oleh lebih dari 100 100 pengguna tak ditampilkan)
Baris 1:
'''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 ==
Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
Bahasa pemrograman adalah sebuah instruksi standar untuk memerintah komputer agar menjalankan fungsi tertentu. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaksis dan semantik yang dipakai untuk mendefinisikan tata 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 langkah apa yang secara persis 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|''Assembly'']]), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode ''mnemonic''), contohnya 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.
 
== Fungsi ==
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.
Fungsi bahasa pemrograman itu sendiri yaitu memerintah komputer untuk mengolah data sesuai dengan alur berpikir yang ''programmer'' inginkan. Keluaran (''output'') dari bahasa pemrograman tersebut dapat berupa tata olah, konsol atau aplikasi. Contohnya adalah tata olah yang digunakan oleh kasir di [[mal|mal-mal]] atau [[pasar swalayan|pasar raya]], penggunaan lampu lalu lintas di jalan raya, dan lain-lain.
== Tingkatan Bahasa Pemrograman ==
=== Bahasa Tingkat Tinggi ===
Bahasa pemrograman masuk tingkat ini karena bahasa tersebut mendekati bahasa manusia. Contohnya bahasa Basic, Visual Basic, Pascal, Java dan lainnya.
 
Perkembangannya mengikuti tingginya [[inovasi]] yang dilakukan dalam dunia teknologi. Contoh aplikasi yang dapat ditulis dengan bahasa pemrograman antara lain [[game|aplikasi permainan]], [[antivirus]], web, penyunting, dan teknologi lainnya.
=== Bahasa Tingkat Menengah ===
Disebut tingkat menengah karena bisa masuk ke dalam bahasa tingkat tinggi maupun rendah. Contohnya bahasa C.
 
Bahasa pemrograman yang populer antara lain seperti [[Java]], [[Visual Basic]], [[C++]], [[C (bahasa pemrograman)|C]], [[COBOL|Cobol]], [[PHP]], .NET dan ratusan bahasa lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan dengan fungsi dan perangkat yang menggunakannya.
=== Bahasa Tingkat Rendah ===
Bahasa pemrograman masuk tingkat ini karena bahasanya masih jauh dari bahasa manusia. Contohnya bahasa Assembly.
 
== Tingkatan ==
== Proses Pembuatan Program ==
=== Bahasa tingkat tinggi (''high-level programming language'') ===
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.
Bahasa pemrograman tingkat tinggi adalah bahasa pemrograman yang mendekati bahasa manusia<ref>{{Cite book|title=Pengantar Teknologi Informasi - Konsep dan Teori|last=Sobri|first=Muhammad|publisher=|year=|isbn=9789792963120|location=|pages=}}</ref>.
 
<!-- Ubah daftar ini jika ada kesalahan letak tingkatan, atau penambahan bahasa pemrograman -->
=== Kompilasi (Compilation) ===
 
Daftar bahasa pemrograman tingkat tinggi:
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. Program hasil kompilasi akan berbentuk executable. Program bisa langsung dijalankan tanpa harus memiliki Compiler di komputer yang menjalankan program tersebut. Bahasa yang menggunakan teknik kompilasi misalnya bahasa C, C++, Pascal, Assembly dan masih banyak lagi.
* [[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'') ===
=== Interpretasi (Interpretation) ===
Bahasa pemrograman tingkat menengah adalah bahasa pemrograman yang dapat berperan sebagai tingkat tinggi maupun rendah.
Bahasa yang menggunakan teknik interpretasi akan membaca kode sumber perbaris dan dieksekusi perbaris. Jika ditemukan kesalahan dalam penulisan program maka di baris kesalahan itulah program akan dihentikan. Program yang melakukan tugas ini disebut Interpreter. Pada teknik interpretasi tidak ada akan dihasilkan program standalone, artinya untuk menjalankan program kita harus mempunyai kode sumbernya sekaligus interpreter program tersebut. Bahasa yang menggunakan teknik interpretasi misalnya bahasa Perl, Python, Ruby dan masih banyak lagi.
 
Contoh bahasa pemrograman tingkat menengah:
=== Kompilasi Sekaligus Interpretasi ===
* [[Rust]]
* [[Golang|Go]]
* [[C (bahasa pemrograman)|C]]
* [[C++]]
 
=== Bahasa tingkat rendah (''low-level programming language'') ===
Ada juga bahasa pemrograman yang menghasilkan programnya dengan teknik kompilasi sekaligus interpretasi. Misalnya bahasa java. Dalam pembuatan program java kode sumber diubah menjadi bytecode. Meskipun nampak seperti bahasa mesin namun ini bukanlah bahasa mesin dan tidak executable. Untuk menjalankan bytecode tersebut kita membutuhkan Java Runtime Environment (JRE) yang bertugas sebagai interpreter sehingga menghasilkan program dari bytecode tersebut.
Bahasa pemrograman tingkat rendah adalah bahasa pemrograman yang sepenuhnya berorientasi pada bahasa mesin sehingga sangat sulit untuk dipelajari manusia.
 
Contoh bahasa pemrograman tingkat menengah:
Meskipun setiap bahasa pemrograman dibuat untuk membuat program namun setiap bahasa dibuat dengan tujuan dan fungsi yang berbeda-beda. Misalnya untuk membuat driver hardware kita 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.
* [[Assembly]]
 
== Generasi ==
== Daftar Bahasa Pemrograman ==
Sedangkan menurut generasinya, bahasa pemrograman digolongkan menjadi 5 generasi:
Berikut ini adalah daftar bahasa pemrograman komputer:<ref>[[Daftar bahasa pemrograman]]. Diakses tanggal 31 Januari 2012</ref>
* Generasi ke-1: ''machine language''
* Generasi ke-2: ''assembly language'': ''Assembler''
* Generasi ke-3: ''high level programming language'', contoh: C dan Pascal
* Generasi ke-4: 4 GL (''fourth-generation language''), contoh: SQL
* Generasi ke-5: ''Programming Language Based Object Oriented & Web Development''
 
== Proses pembuatan program ==
* [[Aro]]
Proses pembuatan program yaitu kita menulis kode sumber pada teks editor 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.
* {{program|Ada}}
* [[ALGOL]]
* [[Applescript]]
* [[Assembly]]
* [[BASIC]]:
** [[ASP]]
** [[BASIC]]
** [[COMAL]]
** [[Visual Basic]]
** [[Visual Basic for Applications]]
** [[VBScript]]
* [[Batch (MS-DOS)]]
* [[COBOL]]
* UNIX [[shell script]]:
** [[Bourne shell]] (sh) script
** [[Bourne-Again shell]] (bash) script
** [[Korn shell]] (ksh) script
** [[C shell]] (csh) script ™
* {{program|C}}:™
** [[C++]]™
** [[C sharp|C#]]™
** [[Visual C++]]
* [[ColdFusion]]
* [[dBase]] dkk.:
** [[Clipper]]
** [[Foxbase]]
** [[Visual FoxPro]]
* [[Eiffel]]
* [[Fortran]]
* [[Go]]
* [[Haskell]]
* [[Java]]
** [[JavaScript]]
** [[JSP]]
* [[Lisp]]
* {{program|Logo}}
* {{program|Pascal}}
** {{program|Delphi}}
* [[Perl]]
* [[Prolog]]
* {{program|Python}}
* [[PHP]]
* {{program|Pike}}
* {{program|R}}
* [[REXX]]
* [[REBOL]]
* {{program|RPG}}
* {{program|Ruby}}
* [[Simula]]
* [[Smalltalk]]
* [[Scheme]]
* [[SQL]]
 
==Lihat= jugaKompilasi ===
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''. Program hasil kompilasi akan berbentuk ''executable''. Program bisa langsung dijalankan tanpa harus memiliki compiler di komputer yang menjalankan program tersebut
 
=== Interpretasi ===
Bahasa yang menggunakan teknik interpretasi akan membaca kode sumber per baris dan dieksekusi per baris. Jika ditemukan kesalahan dalam penulisan program maka program akan dihentikan. Program yang melakukan tugas ini disebut ''interpreter''. Pada teknik interpretasi tidak ada akan dihasilkan program ''standalone'' (berdiri sendiri), artinya untuk menjalankan program penata olah harus mempunyai kode sumbernya sekaligus interpreter program tersebut.
 
=== Kompilasi sekaligus interpretasi ===
Ada juga bahasa pemrograman yang menghasilkan programnya dengan teknik kompilasi sekaligus interpretasi, contohnya Java. Dalam pembuatan program Java, kode sumber diubah menjadi ''bytecode''. Meskipun tampak seperti bahasa mesin namun ini bukanlah bahasa mesin dan tidak secara ''executable''. Untuk menjalankan ''bytecode'' tersebut penata 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, contohnya untuk membuat ''driver hardware'', penata olah tidak bisa menggunakan bahasa Visual Basic.
 
== Bahasa pemrograman yang umum digunakan ==
[[Berkas:Python example.jpg|jmpl|Kode program menggunakan bahasa pemrograman Python]]
;[[JavaScript]]: bahasa yang sangat populer untuk menambahkan fitur interaktif untuk halaman web dan aplikasi, memvalidasi data formulir, memanggil API (''Application Programming Interface''), pengembangan game web, dan lain-lain. Ini adalah salah satu bahasa yang paling mudah untuk dipelajari,menjadikan bahasa pemrograman pilihan yang sangat populer untuk pemula.
 
;[[PHP]]:bahasa program yang digunakan terutama untuk mengembangkan halaman web dinamis. PHP dapat menulis seperangkat aturan untuk mengakses dan menampilkan informasi dari database yang kemudian dapat membuat halaman dan memanggil mereka ketika dibutuhkan, dibandingkan menciptakan sebuah file terpisah penuh kode untuk setiap halaman situs.
 
;[[C++]]: Bahasa berorientasi objek yang turunan dari bahasa C, dengan penambahan kelas dan fitur lainnya. C++ sering digunakan oleh pengembang untuk melakukan ''maintenance'' performa, AI, dan sebagian besar aplikasi. C++ juga memiliki keuntungan yaitu lebih mudah untuk mempelajari bahasa C lainnya yaitu C# dan C. Semua bahasa C umumnya dipandang sebagai bahasa pemrograman tingkat menengah.
 
;[[C Sharp (bahasa pemrograman)|C#]]: Diucapkan C Sharp, bahasa ini diciptakan oleh [[Microsoft]] dalam kerangka NET. C# banyak digunakan untuk menulis aplikasi Windows (dalam bentuk Windows Forms atau WinForms, WPF atau Windows Presentation Foundation, UWP atau Universal Windows Platform di Windows 10, dan WinUI), pengembangan game, dan [AI]]. Ini adalah tujuan OOP umum yang berbagi banyak kesamaan dengan bahasa C tua.
 
;[[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>
 
:Ini adalah versi C yang digunakan oleh sistem operasi Apple serta sejumlah kecil aplikasi lain.
 
;[[Python (bahasa pemrograman)|Python]]: Python sangat populer dalam komunitas ilmiah dan akademik. Bahasa ini telah digunakan untuk membuat situs web populer seperti Pinterest dan Instagram. Python adalah bahasa pemrograman yang paling mudah untuk dipelajari dibandingkan dengan bahasa pemrograman C atau turunannya, karena Python memiliki [[sintaksis]] yang tidak terlalu kompleks.
 
;[[Java (bahasa pemrograman)|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 atau ''Write Once, Run Anywhere'') pendekatan untuk memudahkan kode yang ditulis pada satu mesin untuk berjalan di mesin lain.
 
;[[Ruby (bahasa pemrograman)|Ruby]]: Bahasa OOP dan ''open source'' murni yang populer dari Jepang. Sintaks Ruby elegan, natural, mudah dibaca dan ditulis.
 
;[[Visual Basic]]: Berasal dari bahasa pemrograman '[[BASIC]]', yang sangat populer pada hari-hari awal komputasi pribadi. Bahasa ini dapat membuat program sederhana yang akan dibuat dengan cepat dan mudah, serta memungkinkan untuk ''coding'' yang lebih kompleks.
 
== Daftar ==
{{main|Daftar bahasa pemrograman}}
 
== 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)]]
 
==Daftar PustakaReferensi ==
<references />
{{Reflist}}
 
== Pranala Luarluar ==
* {{Wikiversity-inline}}
* [http://www.ilmusoft.com/artikel/apa-yang-dimaksud-bahasa-pemrograman-komputer/ Apa yang dimaksud Bahasa Pemrograman Komputer ?]
* {{commonscat-inline|Programming languages|Bahasa pemrograman}}
 
[[Kategori:{{Bahasa pemrograman| ]]}}
{{Authority control}}
 
[[Kategori:Bahasa pemrograman| ]]
{{Link FA|he}}
{{Link FA|vi}}