Pseudocode harus mendeskripsikan keseluruhan logika algoritma sehingga pemrograman menjadi tugas menerjemahkan baris-baris pseudocode menjadi kode nyata.
Untuk masing-masing hal berikut, mari kita bahas mengapa setiap pseudocode dapat dianggap sebagai contoh pseudocode yang "Baik" atau "Buruk":
Contoh 1.1:
PROGRAM IsEvenOrOdd:
var num = number;
IF (num % 2 === 0)
THEN Print "even";
ELSE Print "odd";
ENDIF;
END.
T. Bagaimana menurut kami?
A. Ini bukanlah contoh yang bagus. Di sini kami menggunakan "var" dalam kodesemu kami yang seharusnya dibaca dalam bahasa Inggris! Selain itu, kita tidak boleh menggunakan sintaks javascript "===" dalam kondisi kita. Akankah non-programmer mengetahui bahwa
num % 2 === 0
menunjukkan bilangan genap?
Contoh 1.2:
PROGRAM IsEvenOrOdd:
Read number;
IF (number divided by two has no remainder)
THEN Print the number is even;
ELSE Print the number is odd;
ENDIF;
END.
T. Bagaimana menurut kami?
A.Ini lebih baik. Itu lebih dekat ke bahasa Inggris. Ini dengan jelas menyatakan apa yang ingin kami capai dan bagaimana caranya, tanpa terjebak dalam hal-hal kecil dalam kode. Bahkan seseorang yang tidak membuat kode dapat membantu kita memeriksa logika kita. Apakah ada bilangan yang habis dibagi dua, rapi -- tanpa menyisakan sisa -- genap? Apakah ada hal lain yang aneh?
Dari Jadilah Kreatif Hari Ini
Contoh 2.1:
Make PB&J Sandwich:
Gather bread, peanut butter and jelly.
Apply peanut butter to slice of bread.
Apply jelly to another slice of bread.
Bring the two slices of bread together.
Eat and enjoy.
T. Bagaimana menurut kami?
A. Ini adalah tempat yang baik untuk memulai. Ini adalah serangkaian instruksi yang bagus dan intuitif untuk kita ikuti. Namun, kami masih belum mengetahui langkah fisik apa yang diperlukan.
Luangkan waktu sejenak untuk membayangkan. Bayangkan jika Anda belum pernah membuat sandwich sebelumnya. Pernah. Pikirkan tentang instruksi yang Anda perlukan untuk sandwich pertama itu. Komputer tidak memiliki memori nyata. Setiap kali ia memulai suatu tugas, ia tidak ingat pernah mengerjakannya sebelumnya. Kita harus menceritakannya pada setiap langkah, setiap saat. Kita perlu memecahnya menjadi langkah-langkah kecil agar komputer dapat memahaminya.
Contoh 2.2:
PROGRAM MakePB&JSandwich:
Grab a paper plate;
Open bread container;
Grab bread package;
Untwist bread package;
Open bread bag and remove two slices;
Place slices on paper plate;
Grab a plastic knife;
Open peanut butter jar;
Use knife to scoop out peanut butter;
Apply peanut butter to one slice of bread;
Spread peanut butter on slice;
Place knife on plate;
Close peanut butter jar;
Open jelly bottle;
Squeeze jelly onto second bread slice;
Close jelly bottle;
Place down jelly;
Pick up knife;
Spread jelly on slice;
Bring two slices of bread together;
Cut slices in half down the middle;
Throw knife in the trash;
Pick up one half of sandwich;
Enjoy;
END.
T. Bagaimana menurut kami?
A. Urutan contoh ini sangat teliti! Namun kami tetap berasumsi dengan syarat tertentu peralatan atau bahan kami sudah ada. Bagaimana jika kita kehabisan piring? Akankah kita mengambil serbet untuk meletakkan sandwich kita? Bagaimana jika kita kehabisan jeli? Apakah Anda akan membuang sandwichnya atau memakannya hanya dengan selai kacang?
Komputer tidak pintar. Kita perlu memberi mereka petunjuk langkah demi langkah untuk memperhitungkan kondisi. Mereka tidak bisa beradaptasi untuk melakukan perubahan tanpa disuruh secara eksplisit. Pemrograman adalah serangkaian tugas yang dapat diselesaikan hanya jika sejumlah kondisi tertentu terpenuhi.
Komputer tidak bisa beradaptasi, tapi kita bisa. Pass pertama Anda pada pseudocode mungkin tidak mencakup semuanya. Setelah Anda mengetahui lebih banyak, Anda dapat kembali memperbarui dan memfaktorkan ulang kodesemu Anda.
Pseudocode bukan sekedar menuliskan langkah-langkah yang sudah Anda ketahui. Ini adalah alat untuk membantu Anda mengatasi masalah tersebut. Sebelum kita dapat menulis pseudocode untuk menyelesaikan masalah, kita perlu mengetahui masalahnya.
Berikut beberapa langkah yang dapat membantu pemecahan masalah:
Akhirnya, kami mengambil tindakan. Inilah saat kami akhirnya mulai menulis kode. Kami berjuang keras untuk mengambil langkah-langkah kecil, memverifikasi bahwa setiap langkah mencapai apa yang kami inginkan, apa yang kami harapkan, sebelum melanjutkan. Jika kita melakukan terlalu banyak hal sekaligus dan semuanya rusak, dan hal ini selalu terjadi, kita tidak akan tahu apa yang menyebabkan masalahnya. Kita tidak akan tahu bagian mana yang harus dipercaya. Manusia berkembang dengan kemenangan mudah. Kita perlu melihat kemajuan ke depan. Ingat itu. Gunakan itu. Rayakan kemenangan Anda.
T. Di mana letak pseudocode dalam langkah-langkah ini?
A. Hancurkan ATAU Mulai dari yang kecil
Proses ini berulang. Kami terus berputar-putar dan mengulangi langkah-langkah sebelumnya, hanya pada level yang berbeda.
Ketika kita pertama kali mendekati suatu masalah, kita melihat gambaran besarnya. "Hancurkan" memberi kita langkah besar. Kemudian, kita mengambil salah satu langkah tersebut dan "Hancurkan". Sekarang, mulai dari yang kecil, kami menulis kodesemu untuk membantu mengilustrasikan masalahnya.
Pseudocoding membuktikan bahwa kita telah mengidentifikasi masalah, memahaminya secara konseptual , dan telah memecahnya menjadi langkah-langkah kecil yang dapat kita ikuti.
Tidak ada satu pun, sintaksis tetap untuk kodesemu. Itu hanya perlu jelas, sederhana, dan ringkas.
Jika Anda merasa buntu, silakan gunakan sintaks ini:
Referensi: Pengantar Pseudocode
Struktur Umum Pseudocode
PROGRAM <ProgramName>:
<Do Stuff>
END.
Pilihan: Pernyataan IF/ELSE
IF (<Condition>)
THEN <Statements>;
ELSE <Statements>;
ENDIF;
Iterasi: LOOP
WHILE (<Condition>)
ENDWHILE;
Ikuti instruksi di starter_code/pseudo_code_practice.md