Kode semu: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Borgxbot (bicara | kontrib)
k Robot: Cosmetic changes
menghapus istilah yang berbahasa Inggris dan telah memiliki padanan dalam bahasa Indoensia
 
(34 revisi perantara oleh 19 pengguna tidak ditampilkan)
Baris 1:
'''Kode-palsu semu''' atau dalam ([[bahasa inggrisInggris]]: lebih dikenal sebagai '''pseudo-code''') merupakan deskripsi tingkat tinggi informal dan ringkas atas [[algoritmaalgoritme]] [[pemrograman komputer]] yang menggunakan konvensi struktural atas suatu [[bahasa pemrograman]],. danPembuatan kode semu ditujukan untuk dibaca oleh manusia dan bukan oleh mesin. Kode palsusemu biasanya tidak menggunakan elemen detildetail yang tidak diperlukan untuk kebutuhan pemahaman manusia atas suatu algoritmaalgoritme, seperti deklarasi variabel, kode ataupun subrutin untuk sistem yang bersifat spesifik. Bahasa pemrograman yang digunakan lebih diperbanyak dengan deskripsi dalam bahasa natural atas sesuatu hal yang bersifat detildetail, atau dengan menggunakan notasi matematis. Tujuan dari penggunaan kode-palsusemu adalah untuk mempermudah manusia dalam pemahaman dibandingkan menggunakan bahasa pemrograman yang umum digunakan, terlebih aspeknya yang ringkas serta tidak bergantung pada suatu sistem tertentu merupakan prinsip utama dalam suatu algoritmaalgoritme. Kode-palsusemu umumnya digunakan dalam buku-buku ataupun publikasi karya ilmiah yang mendokumentasikan suatu algortima, dan juga dalam perencanaan pengembangan program komputer, untuk membuat sketsa atas struktur sebuah program sebelum program yang sesungguhnya ditulis.
 
Tidak ada satu pun standar yang berlaku atas kode-palsusemu, sebuah program yang masih berupa kode-palsusemu tidak dapat dijalankan. Kode-palsusemu menyerupai pula kerangka program (''skeleton programs''), termasuk ''dummy code'', yang bisa dikompilasi tanpa kesalahan. [[Diagram alur]] dapat pula dimasukkan sebagai alternatif berbasis grafis sebuah kode-palsusemu.
 
== Penggunaan ==
Buku-buku teks dan publikasi ilmiah yang membahas tentang [[ilmu komputer]] serta komputasi numerik sering menggunakan kode semu dalam mendeskripsikan suatu algoritme dengan tujuan agar programer dapat memahaminya meskipun mereka tidak memahami bahasa pemrograman yang digunakan. Dalam buku-buku teks biasanya disertakan pula pengantar yang membahas tentang notasi dan konvensi yang digunakan, termasuk di dalamnya notasi dan konvensi yang digunakan pada kode semu. Tingkat kejelasan secara lebih detail atas penggunaan suatu bahasa pemrograman kadang-kadang digunakan pula sebagai pendekatan — sebagai contoh, buku teks Donald Knuth "''The Art of Computer Programming''" menggunakan bahasa [[assembly]] untuk mikroprosesor yang sebenarnya tidak ada.
 
Seorang programer yang akan mengimplementasikan suatu algoritme yang bersifat spesifik, utamanya algoritme yang masih belum begitu dikenalinya, umumnya menggunakan kode semu sebagai penjelasan, kemudian ia akan dengan mudah "menerjemahkan" penjelasan tersebut ke dalam bahasa pemrograman dan mengubahsuai agar dapat berinteraksi secara benar dalam program secara keseluruhan. Programer dapat pula memulai sebuah proyek dengan membuat sketsa kode dengan menggunakan kode semu di atas kertas sebelum menulisnya dalam bahasa pemrograman yang sesungguhnya, sebagai mana dilakukan dalam pendekatan "top-down".
 
== Sintaksis ==
Kode semu umumnya tidak mengikuti aturan umum yang berlaku pada suatu bahasa pemrograman; dalam arti tidak ada suatu bentuk standar yang sistematik, namun meskipun penulis umumnya menggunakan tata cara ataupun sintaksis, contoh struktur kontrol, dari bahasa pemrograman umum yang digunakan. Umumnya sintaksis yang populer digunakan menggunakan sintaksis bahasa pemrograman [[Pascal]], [[BASIC]], [[C (bahasa pemrograman)|C]], [[C++]], [[Java (bahasa pemrograman)|Java]], [[Lisp]], dan [[ALGOL]].
 
Deklarasi variabel umumnya tidak digunakan, begitu pula halnya dengan blok kode yang sering kali digantikan dengan satu baris penjelasan dalam bahasa manusia (natural).
 
Bentuk serta corak dari kode semu bisa sangat beragam bergantung pada penulis dari masing-masing publikasi dan buku teks tersebut, dari yang model kode semu paling sederhana hingga sangat detail sehingga hampir serupa dengan bahasa pemrograman yang sesungguhnya.
 
=== Contoh ===
<pre><variable> = <expression>
if <condition>
do stuff
else
do other stuff
while <condition>
do stuff
for <variable> from <first value> to <last value> by <step>
do stuff with variable
function <function name>(<arguments>)
do stuff with arguments
return something
<function name>(<arguments>) // Function call</pre>
<variabel> = <nilai>
jika <kondisi>
lakukan sesuatu
lain
lakukan yang lain
ketika <kondisi>
Lakukan sesuatu
untuk <variabel> dari <awal> ke <akhir> dengan <langkah>
lakukan dengan variabel
fungsi <nama_fungsi>(<argumen>)
lakukan sesuatu dengan argumen
hasilkan sesuatu
<variabel> = <nama_fungsi>(<argumen>) //Pemanggilan fungsi dengan hasil ke variabel
Atau
<nama_fungsi>(<argumen>) //Pemanggilan fungsi
 
== Pranala luar ==
* {{en}} [http://www.csc.calpoly.edu/~jdalbey/SWE/pdl_std.html A pseudocode standard]
* {{en}} [http://calgo.acm.org/ Collected Algorithms of the [[Association for Computing Machinery|ACM]]]
* {{en}} [http://www.cs.cornell.edu/Courses/cs482/2003su/handouts/pseudocode.pdf Pseudocode Guidelines], PDF file.
* {{en}} [http://www.coderookie.com/2006/tutorial/the-pseudocode-programming-process/ Pseudocode Programming Process] base on data from Code Complete book
{{algoritmaalgoritme-stub}}
{{Authority control}}
 
[[Kategori:Topik bahasa pemrograman]]
[[Kategori:AlgoritmaAlgoritme]]
[[Kategori:Kode sumber]]
 
[[kk:Программа жобасының тілі]]
[[ca:Pseudocodi]]
[[cs:Pseudokód]]
[[de:Pseudocode]]
[[el:Ψευδοκώδικας]]
[[en:Pseudocode]]
[[es:Pseudocódigo]]
[[fa:شبه‌کد]]
[[fi:Pseudokoodi]]
[[fr:Pseudo-code]]
[[gl:Pseudocódigo]]
[[he:פסאודו קוד]]
[[hu:Pszeudokód]]
[[it:Pseudocodice]]
[[ja:擬似コード]]
[[ko:의사코드]]
[[nl:Pseudocode]]
[[pl:Pseudokod]]
[[pt:Pseudocódigo]]
[[ru:Псевдокод (язык описания алгоритмов)]]
[[sl:Psevdokoda]]
[[sr:Псеудокод]]
[[sv:Pseudokod]]
[[tr:Sözde kod]]
[[uk:Псевдокод]]
[[vi:Mã giả]]
[[zh:伪代码]]