Apa perbedaan antara Pseudocode dan Algoritma?

Dalam istilah yang sangat sederhana, Kodesemu adalah narasi yang menggambarkan logika algoritma.

Pseudocode bukan kode yang dapat dieksekusi jadi tidak wajib untuk menggunakan sintaks yang tepat; Namun, akan sangat membantu untuk mengikuti standar yang banyak digunakan dalam industri ini, yang dapat dengan mudah dipahami oleh tim solusi.

Unified Modeling Language (UML) dan metodologi pemodelan bisnis lainnya juga dapat disebut sebagai contoh pseudocode. Meskipun tidak murni berbasis teks, alat ini digunakan untuk memberikan representasi visual dari tugas atau proses yang dapat dieksekusi.

Ini adalah praktik terbaik untuk secara jelas mendokumentasikan pseudocode terstruktur dan lengkap untuk membantu menerjemahkannya secara akurat dan merupakan bagian penting dalam perencanaan solusi dan logika pemrograman.

Jika pseudocode tidak ada untuk suatu algoritma, maka waktu yang tidak perlu dihabiskan untuk memikirkan solusinya, atau mengekstraksi beberapa ide yang tidak jelas saat dalam tahap pengkodean, biasanya dengan tenggat waktu yang menjulang.

Saat memecahkan masalah suatu algoritma, pseudocode memberikan pemikiran latar belakang tentang bagaimana ia disatukan dan pengembang mungkin atau mungkin tidak selalu ada untuk membantu mengetahuinya.

Lihatlah contoh kode semu ini dari Khan Academy[saya]:

Ini adalah pseudocode berbasis teks yang ditulis dalam alat pengembangan perangkat lunak.

Tanda sebelumnya // menunjukkan teks adalah komentar (atau dikomentari dalam istilah pengembangan) dan karenanya bukan bagian dari kode yang dapat dieksekusi.

Teks tebal di bawah ini menunjukkan sintaks dan dimensi pengembang saat menafsirkannya dari persyaratan dalam pseudocode menjadi kode yang dapat dieksekusi.

// Bagaimana kita memasukkan ide-ide kita ke dalam kode?

// Gambarkan wajahnya, sebuah oval di tengah
ellipse (lebar /2, tinggi/2, 200, 300);

// Gambarkan dua mata, dua oval, sekitar 2/3 di atas wajah, dan 1/5 ukuran wajah
ellipse (lebar /2 - 40, tinggi/2 - 50, 40, 40);
ellipse (lebar /
2 + 40, tinggi/2 - 50, 40, 40);

Contoh lain di bawah ini menunjukkan pendekatan yang lebih teknis dan terstruktur untuk menulis kodesemu:

Jika nilai siswa lebih besar dari atau sama dengan 60

Cetak “Dilakukan Dengan Baik!”

lain

Cetak “Maaf, Anda gagal”

Ketika merujuk ke pseudocode terstruktur, ada istilah standar yang mewakili logika algoritma, seperti URUTAN, SEMENTARA, JIKA-LALU-LAIN dan konstruksi tambahan yang juga berguna termasuk ULANGI SAMPAI, KASUS, dan UNTUK.

Istilah-istilah ini dipahami oleh pengembang dan membantu untuk membangun persyaratan tanpa menggunakan istilah slang atau pribadi yang mungkin tidak dipahami oleh orang lain.

  • URUTAN menunjukkan eksekusi atas ke bawah dari tugas secara berurutan.
  • SEMENTARA adalah loop berulang yang dieksekusi sampai suatu kondisi, yang didefinisikan pada awal terpenuhi.
  • JIKA-LALU-LAIN adalah keputusan yang diambil antara dua kondisi:
Contoh

JIKA Jam Kerja> Normal Minggu LALU

Menampilkan pesan absen lembur

LAIN

Tampilkan pesan kartu absen normal

  • ULANGI SAMPAI adalah loop berulang yang dieksekusi sampai suatu kondisi, yang didefinisikan pada akhirnya, terpenuhi.
Contoh

ULANG

urutan

SAMPAI kondisi

  • KASUS memberikan beberapa keputusan berdasarkan nilai ekspresi.
  • UNTUK adalah loop penghitungan berulang

Perhatikan bahwa untuk setiap tugas atau proses, gunakan AKHIR/BERAKHIR JIKA (di mana IF digunakan) pada akhir untuk menunjukkan itu adalah titik penghentian atau hasil keluaran.

Ketika konstruk bersarang di dalam satu sama lain, mereka harus indentasi jelas dari konstruk induknya, jadi dengan kata lain, semua pernyataan yang menunjukkan ketergantungan harus diindentasi.

Dengan kata kerja, kata-kata 'melakukan', gunakan istilah-istilah seperti Process, Computer, Reset, Increment, Add, Multiply, Print, Display dll dan catat indentasi mempromosikan pseudocode yang diinginkan.

Sekarang mari kita lihat algoritma dan bagaimana mereka berbeda dengan pseudocode.

Pertama, apa itu algoritma?

“Secara informal, suatu algoritma adalah prosedur komputasi yang terdefinisi dengan baik
beberapa nilai, atau set nilai, sebagai input dan menghasilkan beberapa nilai, atau set nilai, sebagai
keluaran. Algoritme dengan demikian adalah urutan langkah komputasi yang mengubah
input ke dalam output
.” [ii]

Jadi dalam istilah yang lebih sederhana, suatu algoritma adalah logika kode yang dapat dieksekusi yang didefinisikan oleh urutan langkah-langkah untuk menyelesaikan masalah atau menyelesaikan tugas.

Tidak seperti pseudocode, orang yang menulis algoritma membutuhkan pengetahuan pemrograman karena ditafsirkan oleh komputer - bukan pengembang - untuk menjalankan tugas, memanipulasi, mengenkripsi, dan mengekstrak data.

Algoritma secara mendasar menginstruksikan program komputer untuk melakukan tugas, sebagaimana didefinisikan dalam logika kode. Kesalahan dalam sintaks pemrograman apa pun akan mencegah keberhasilan pelaksanaan tugas-tugas ini, yang merupakan tempat pengetahuan pemrograman diperlukan.

Saat menulis kodesemu pada tahap perencanaan, ingat algoritma harus efektif, fokus, dan mencapai hasil akhir; semua aspek dari solusi harus selalu dipertimbangkan.

Apa yang dilakukan algoritma? Pada dasarnya, ini dijalankan oleh pemicu, atau proses, atau algoritma lain dan menerima data sebagai inputnya. Data melewati langkah-langkah instruksi dan manipulasi untuk menghasilkan output.

Data disimpan dalam variabel dan masing-masing variabel diberi nama untuk algoritma untuk menetapkan data untuk itu selama proses eksekusi.

Algoritma juga dinamai karena mereka dapat menyertakan referensi dan panggilan ke algoritma lain. Mungkin ada banyak kompleksitas dan teknis ketika mengembangkan algoritma, terlepas dari perangkat lunak pengkodean yang digunakan dan oleh karena itu perlu didefinisikan dengan baik untuk menghasilkan hasil yang akurat dan diinginkan..

Aspek penting lain untuk dipertimbangkan dengan desain dan implementasi suatu algoritma adalah seberapa cepat dijalankan. Ini semakin terbukti dengan pengguna akhir yang terbiasa dengan perangkat lunak yang lebih cepat dan perangkat yang lebih cepat.

Misalnya, menerapkan filter ke kriteria pencarian dan menunggu waktu yang lama untuk hasil yang ditampilkan dapat menjadi pengalaman yang tak tertahankan. Pengembang kemudian akan menyelidiki bagaimana dan kapan data diterima, dapatkah data disaring dalam sub-proses, dll.

Menulis logika kode yang memperlambat proses apa pun memiliki dampak negatif pada pengguna, pengembang, dan bisnis.

Singkatnya, pseudocode adalah narasi penting untuk perencanaan logika kode dan menerapkan solusi yang kuat. Solusi ini diimplementasikan menggunakan algoritma terstruktur, cepat, dan efektif yang menghasilkan hasil yang akurat dan diinginkan.