0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan4 halaman

Memahami Pseudocode dan Contohnya

Diunggah oleh

BambangLuPS
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan4 halaman

Memahami Pseudocode dan Contohnya

Diunggah oleh

BambangLuPS
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd

Mengenal Pseudocode

Atau agar lebih rapi, kita gunakan pseudocode. Psedudocode adalah konvensi
terstruktur atau cara menyajikan penjelasan algoritma dengan bahasa yang deskriptif
seperti kita menulis kalimat biasa sehingga mudah kita baca. Umumnya digunakan
bahasa Inggris atau bahasa perantara yang mirip bahasa pemrograman. Lihatlah contoh
algoritma penambahan angka sederhana dengan pseudocode berikut.

Bahasa Inggris

READ and SAVE "first number"


READ and SAVE "second number"
COMPUTE "first number" added by "second number"
SAVE previous computation result
SHOW the computation result
Bahasa inggris diatas nantinya akan diubah menjadi bahasa pemrograman yang kita
mau. Dibawah ini adalah contoh hasil konversi pseudocode diatas menjadi kode di
bahasa lain. Saat ini kamu hanya cukup melihat hasil konversinya sekilas saja,
tidak harus dipelajari, karena kita akan fokus pada pseudocode terlebih dahulu.

JavaScript

var a,b,c;
a = prompt("First Number?");
b = prompt("Second Number?");
c = Number(a) + Number(b);
[Link](c);
alert("Result = " + c);
Dengan begini, kita bisa menjelaskan proses atau alur logika tanpa bahasa
pemrograman tertentu. Sehingga juga logika yang sama bisa ditransfer atau
diterapkan ke bahasa pemrograman lain. Misalnya...

Python

a = input("First Number? ")


b = input("Second Number? ")
c = int(a) + int(b)
print("Result", c)
Ruby

puts "First Number?"


a = [Link]
puts "Second Number?"
b = [Link]
c = a.to_i + b.to_i
puts c
Lebih dalam tentang Pseudocode
Berikut adalah contoh yang perlu kamu tahu saat membuat pseudocode. Jangan Terpaku
100% dengan contoh, karena dalam pseudocode tidak terpaku pada penggunakan kata
tertentu. Selama pseudocode dapat dimengerti sesama pembaca, maka sudah cukup bisa
digunakan. Kita bisa menggunakan huruf kapital untuk keyword yang ditekankan dari
sebuah step. Misal: CALCULATE 5 plus 2, atau DISPLAY "hello".

Storing Values
Biasanya, pada saat kita belajar matematika atau fisika, kita akan bertemu dengan
rumus. Paling sederhana adalah rumus luas persegi, yaitu width dikalikan height.

Kita sebagai manusia dengan natural dapat langsung mengkalkulasi nilai panjang dan
lebar untuk mendapatkan luas. Tapi, komputer tidak semudah itu. Komputer harus
menyimpan nilai panjang dan nilai lebar di dalam memori. Memori komputer, bayangkan
saja seperti otak kita yang bisa menyimpan berbagai informasi. Sebetulnya, saat
kita menghitung panjang dan lebar secara tidak sadar kita pun menampung nilai
tersebut di kepala kita.

Contoh Pseudocode

STORE "width" with any value


STORE "height" with any value
STORE "area" without any value

CALCULATE "width" times "height"


SET "area" value with calculation result

DISPLAY "area"
Bisa dilihat dari pseudocode diatas, ada beberapa step yang kita jalankan. Mari
kita bahas tiap step ke bahasa yang lebih "manusiawi" :)

Simpan "width" dengan nilai berapapun


Simpan "height" dengan nilai berapapun
Simpan "area" tanpa diberikan nilai. Ini akan kita isi nanti.
Hitung hasil perkalian "width" dengan "height"
Setelah mendapatkan hasil perhitungan, isikan hasilnya ke dalam "area"
Tampilkan nilai dari "area"
Conditional
Saat komputer menjalankan program, seringkali komputer harus melakukan sebuah
tindakan jika suatu kondisi terpenuhi. Mudahnya, di kehidupan sehari-hari misalnya,
jika kita lapar, kita akan makan. "Jika kita lapar" adalah sebuah kondisi, dan
"kita akan makan" adalah step yang hanya akan dijalankan apabila kondisi tersebut
terpenuhi.

Contoh Pseudocode

IF "hungry"
DO "eat"
DISPLAY "i am happy"
Jika kita lihat pseudocode diatas, bisa dijabarkan sebagai step berikut

Jika lapar, maka masuk ke step 2. Jika tidak, abaikan step 2 dan langsung ke step
3.
lakukan proses "eat"
Tampilkan "i am happy"
Yang terjadi disini ada dua kemungkinan. Jika lapar, step 2 akan diabaikan. Kita
bisa lihat dari pseudocode dimana "eat" kita buat menjorok ke dalam (ingat dengan
identasi di HTML? ya betul! :D) untuk menunjukkan semua proses yang menjorok ke
dalam setelah sebuah kondisi merupakan proses yang dijalankan hanya jika kondisi
terpenuhi.

Tidak hanya sampai disana, kondisional bisa juga melakukan proses yang hanya
dijalankan jika kondisi tidak terpenuhi. Misal, saat nilai ujian dibawah 70, saya
harus berlajar lebih giat. Tapi jika tidak, maka saya layak memberi reward untuk
diri sendiri.

Contoh Pseudocode

STORE "score" to any number

IF "score" < 70
DO "learn more"
ELSE
DO "reward myself"
DO "continue with life..."
Nah disini terjadi yang biasa dinamakan percabangan. Jika score dibawah 70, maka
kita akan "learn more", dan jika tidak, maka kita harus "reward myself".

Namun apapun kondisinya, kita pasti akan masuk ke step "continue with life..."

Pseudocode diatas bisa digambarkan ke step berikut:

Jika "score" dibawah 70, masuk ke step 2a. Jika tidak, masuk ke step 2b. 2a.
Lakukan "learn more" 2b. Lakukan "reward myself"
Lakukan "continue with life..."
Saat program berjalan, berarti hanya ada dua kemungkinan. Antara menjalankan step 1
-> 2a -> 3, atau step 1 -> 2b -> 3.

Looping
Nah sekarang kita akan masuk ke bagian terakhir yang dibutuhkan hari ini dan
sekaligus yang sedikit lebih sulit dibandingkan bagian sebelumnya, yaitu
perulangan.

Komputer seringkali dibutuhkan untuk melakukan sebuah proses yang sama berulang-
ulang. Hal ini sering disebut sebagai looping. Tentunya, saat komputer melakukan
looping, pasti ada kalanya proses tersebut akan berhenti. Sama hal nya saat kita
sebagai manusia melakukan berbagai hal yang berulang, pasti ada kalanya kegiatan
itu kita hentikan. Nah, looping sebetulnya melibatkan yang sudah kita pelajari
sebelumnya, yaitu conditional. Looping akan terus dilakukan sampai sebuah kondisi
terpenuhi. Contoh mudahnya adalah, kita akan makan hingga kenyang bukan?

Contoh Pseucodode

WHILE "hungry"
DO "eat"
Nah, pseudocode di atas cukup simple dan mencontohkan kita proses paling sederhana
dalam looping. WHILE adalah standard keyword untuk menunjukkan kondisi "selama kita
masih lapar", lakukan proses makan.

Biasanya, saat kita membuat looping, ada sebuah proses yang dilakukan untuk
mencapai kondisi tersebut. Kita coba perbaiki contoh pseudocode diatas, dengan
asumsi kemampuan makan kita dalam sekali makan adalah 5 sendok nasi. Kita coba
umpakan kemampuan makan ini sebagai "hungry level".

STORE "full level" with 0

WHILE "full level" < 5


ADD "full level" by 1

DISPLAY "I'm full!"


Nah, looping kali ini sudah lebih mendekati coding sebenarnya. Saat terjadi
looping, harus ada proses apapun yang akan membuat kondisi perulangan lambat laun
akan terpenuhi. Pseudocode di atas menggambarkan kita mulai dari level kenyang kita
dari 0, berarti kita saat ini sangat lapar. Setiap kali kita melakukan proses
makan, tingkat kenyang kita akan bertambah 1. Karena kita hanya kuat makan hingga 5
kali, maka kondisinya adalah "full level" < 5.

Kita coba ilustrasikan step pseudocode diatas:

Simpan nilai "full level" dengan angka 0


Ulangi step 3 selama "full level" masih dibawah 5. Jika "full level" sudah 5,
lanjut ke step 4.
Tambah "full level" dengan 1, agar semakin mendekati batas perulangan. Kembali ke
step 2.
Tampilkan "I'm full", berarti saya sudah sangat kenyang!
Ternyata, setelah dijabarkan, looping tidak begitu sulit, bukan? Nah, sebuah
komputer tentu saja dapat memiliki program yang sangat memungkinkan menggabungkan
penyimpanan nilai, kondisi, dan perulangan dengan sekaligus. Disini, kita sebagai
calon programmer diwajibkan untuk mampu menggabungkan berbagai konsep ke dalam satu
kesatuan.

Kita akan coba membuat pseudocode yang menggunakan looping dan conditional
sekaligus, berangkat dari kasus berikut:

Seorang anak SD sedang belajar angka genap dan ganjil. Dia ditugaskan oleh ibu guru
untuk menghitung angka dari 1 sampai 10 dengan menyebut angka tersebut dan untuk
setiap angka ganjil, ia harus menyebut "ODD!" dan sebaliknya jika genap, ia harus
menyebut "EVEN!".

Tunggu! Angka disebut genap jika habis dibagi dua. Tapi bagaimana saya menyebutnya
di pseudocode? Mudah, caranya adalah menggunakan yang namanya mod, atau
kepanjangannya modulo. Modulo, adalah sebuah proses matematika untuk mendapatkan
remainder atau sisa bagi dari sebuah proses pembagian. Misal, angka 3 jika dibagi 2
sisanya adalah 1. Nah berarti kita bisa menyebutkan proses ini sebagai 3 mod 2.

Contoh Pseudocode

STORE "count" to 1

WHILE "count" < 11


DISPLAY "count"
CALCULATE "count" mod 2
STORE "remainder" to the result of calculation
IF "remainder" equals to 0
DISPLAY "EVEN!"
ELSE
DISPLAY "ODD!"

int * const ptr = &x;: Ini adalah constant pointer. Artinya, ptr adalah pointer
yang selalu menunjuk ke alamat yang sama (alamat &x). Anda tidak bisa mengubah ptr
untuk menunjuk ke alamat lain setelah inisialisasi, tetapi Anda bisa mengubah nilai
yang ditunjuk oleh ptr.
int const * ptr = &x; Ini adalah pointer to a constant. Artinya, ptr adalah pointer
yang dapat diarahkan ulang, tetapi nilai yang ditunjuk oleh pointer tersebut tidak
dapat diubah. Anda tidak bisa mengubah nilai x melalui ptr.

Aspek Constant Pointer (int * const ptr) Pointer to a Constant (int const * ptr)
Apakah pointer dapat diarahkan ulang? Tidak, pointer selalu menunjuk ke alamat
yang sama. Ya, pointer dapat diarahkan ulang ke alamat yang berbeda.
Apakah nilai yang ditunjuk bisa diubah? Ya, nilai yang ditunjuk oleh pointer bisa
diubah. Tidak, nilai yang ditunjuk tidak bisa diubah.
Contoh Kode yang Bisa Berjalan ++(*ptr); untuk mengubah nilai yang ditunjuk
oleh pointer. Tidak bisa, karena mencoba mengubah nilai yang ditunjuk oleh
pointer yang const.

Anda mungkin juga menyukai