Kode semu (bahasa Inggris: pseudo-code) merupakan deskripsi tingkat tinggi informal dan ringkas atas algoritme pemrograman komputer yang menggunakan konvensi struktural atas suatu bahasa pemrograman. Pembuatan kode semu ditujukan untuk dibaca oleh manusia dan bukan oleh mesin. Kode semu biasanya tidak menggunakan elemen detail yang tidak diperlukan untuk kebutuhan pemahaman manusia atas suatu algoritma, 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 detail, atau dengan menggunakan notasi matematis. Tujuan dari penggunaan kode-semu 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 algoritma. Kode-semu 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-semu, sebuah program yang masih berupa kode-semu tidak dapat dijalankan. Kode-semu menyerupai pula kerangka program, termasuk dummy code, yang bisa dikompilasi tanpa kesalahan. Diagram alur dapat pula dimasukkan sebagai alternatif berbasis grafis sebuah kode-semu.

Penggunaan

sunting

Buku-buku teks dan publikasi ilmiah yang membahas tentang ilmu komputer serta komputasi numerik sering menggunakan kode semu dalam mendeskripsikan suatu algoritma 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 algoritma yang bersifat spesifik, utamanya algoritma 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

sunting

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, C++, 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

sunting
<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
<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

sunting

๐Ÿ“š Artikel Terkait di Wikipedia

Tahun kabisat

menurut definisi ini ada sejak diluncurkannya kalender Gregorian (1582). Pseudocode untuk menentukan suatu tahun merupakan tahun kabisat atau bukan: if year

MD5

\wedge ,\vee ,\neg } menunjukkan operasi logikan XOR, AND, OR dan NOT. Pseudocode pada algoritma MD5 adalah sebagai berikut. //Catatan: Seluruh variable

SHA-2

Wikipedia.") 0xย b71c91e1cd82d017ce78391b47b29ce792294f2673136dd25aace018 Pseudocode untuk algoritma SHA-256 adalah sebagai berikut. Perlu diingiat bahwa terdapat

Algoritma pencarian string

Berikut adalah Algoritma brute force yang sedang bekerja mencari string: Pseudocode algoritma brute force ini: procedure BruteForceSearch( input m, n: integer

Daftar istilah teknologi informasi

(Brand awareness) Klon (Clone) Kode hasad (Malicious code) Kode semu (Pseudocode) Kodek (Codec) Kompil (Compile) Kompilator (Compiler) Komputasi awan (Cloud

Algoritma Knuth-Morris-Pratt

mengulangi langkah 2 sampai pattern berada di ujung teks. Berikut adalah pseudocode algoritma KMP pada fase pra-pencarian: procedure preKMP( input P: array[0

Algoritma Boyer-Moore

mengulangi langkah 2 sampai pattern berada di ujung teks. Berikut adalah pseudocode algoritma Boyer-Moore pada fase pra-pencarian: procedure preBmBc( input

Network Time Protocol

1119 diterbitkan mendefinisikan NTPv2 dengan cara mesin negara, dengan pseudocode untuk menggambarkan operasinya. Memperkenalkan protokol manajemen dan