Menu
CoddyTech

Contoh Pseudocode

15 contoh lengkap dalam pseudocode Cambridge IGCSE dan A-Level, dari OUTPUT pertama sampai bubble sort. Setiap contoh menampilkan output-nya, dan kamu bisa menjalankannya di editor di bawah.

Cara membaca contoh-contoh ini

Pseudocode menjelaskan langkah-langkah sebuah program dalam bahasa Inggris yang terstruktur, tanpa aturan ketat bahasa pemrograman sungguhan. Setiap contoh di bawah memakai gaya Cambridge yang dipakai di ujian IGCSE dan A-Level: DECLARE untuk variabel, ← untuk memberi nilai, OUTPUT untuk mencetak, dan blok yang ditutup dengan ENDIF, NEXT, atau ENDWHILE.

Setiap contoh menyebutkan sebuah masalah, memberikan pseudocode-nya, menunjukkan output yang dihasilkannya, dan menjelaskan cara kerjanya. Tekan Jalankan di editor untuk memuat contoh mana pun ke editor di bagian atas halaman, tempat kamu bisa menjalankannya baris demi baris dan melihat variabelnya berubah. Baru mengenal sintaksnya? Editor pseudocode punya pustaka yang bisa diklik untuk setiap konstruksi.

1. Hello, World

Tampilkan pesan di layar.

Pseudocode
OUTPUT "Hello, World!"
Output
Hello, World!

OUTPUT mencetak apa pun yang mengikutinya, dan teks ditulis di dalam tanda kutip ganda. Satu baris ini sudah merupakan program lengkap: pseudocode tidak butuh fungsi main dan tidak butuh import.

2. Menjumlahkan dua angka

Simpan dua bilangan bulat, jumlahkan, lalu cetak totalnya.

Pseudocode
DECLARE a : INTEGER
DECLARE b : INTEGER
DECLARE total : INTEGER
a ← 12
b ← 30
total ← a + b
OUTPUT "The total is ", total
Output
The total is 42

Setiap variabel dideklarasikan dengan nama dan tipe sebelum dipakai. Panah ← menyimpan sebuah nilai, jadi baca total ← a + b sebagai "total menjadi a ditambah b". Koma di dalam OUTPUT menggabungkan teks dan nilai dalam satu baris.

3. Genap atau ganjil

Tentukan apakah sebuah angka genap atau ganjil.

Pseudocode
DECLARE n : INTEGER
n ← 17
IF n MOD 2 = 0 THEN
    OUTPUT n, " is even"
ELSE
    OUTPUT n, " is odd"
ENDIF
Output
17 is odd

MOD memberikan sisa hasil bagi. Bilangan genap tidak menyisakan apa pun saat dibagi 2, jadi n MOD 2 = 0 adalah pengujiannya. IF memilih salah satu dari dua cabang dan ENDIF menutup bloknya. Di pseudocode, satu = membandingkan dua nilai; tanda itu tidak pernah dipakai untuk memberi nilai.

4. Menilai skor ujian

Ubah skor dari 100 menjadi nilai huruf: A untuk 80 ke atas, B untuk 60 sampai 79, C di bawah 60.

Pseudocode
DECLARE score : INTEGER
DECLARE grade : CHAR
score ← 74
IF score >= 80 THEN
    grade ← 'A'
ELSE
    IF score >= 60 THEN
        grade ← 'B'
    ELSE
        grade ← 'C'
    ENDIF
ENDIF
OUTPUT "Score ", score, " gets grade ", grade
Output
Score 74 gets grade B

Pengecekan berjalan dari batas tertinggi ke bawah, jadi skor 74 gagal di pengujian pertama dan lolos di pengujian kedua. Menaruh satu IF di dalam ELSE milik percabangan lain adalah cara pseudocode Cambridge menulis rangkaian else-if. Sebuah CHAR menyimpan satu karakter di dalam tanda kutip tunggal.

5. Menjumlahkan angka 1 sampai 10

Jumlahkan setiap bilangan bulat dari 1 sampai 10.

Pseudocode
DECLARE total : INTEGER
DECLARE i : INTEGER
total ← 0
FOR i ← 1 TO 10
    total ← total + i
NEXT i
OUTPUT "Sum of 1 to 10 is ", total
Output
Sum of 1 to 10 is 55

Perulangan FOR berjalan sebanyak jumlah yang tetap: i bernilai 1, 2, 3, dan seterusnya sampai 10, dan NEXT i menandai akhir badan perulangan. Total berjalan dimulai dari 0 dan bertambah di setiap putaran. Jawabannya, 55, sesuai dengan rumus n(n + 1) / 2.

6. Mencetak tabel perkalian

Cetak lima baris pertama tabel perkalian 7.

Pseudocode
DECLARE i : INTEGER
FOR i ← 1 TO 5
    OUTPUT "7 x ", i, " = ", 7 * i
NEXT i
Output
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35

Penghitung perulangan i dipakai di dalam perhitungan, jadi setiap putaran mencetak baris yang berbeda. OUTPUT bisa menggabungkan beberapa potongan teks dan beberapa nilai dengan koma.

7. Hitung mundur dengan perulangan WHILE

Hitung mundur dari 5 sampai 1, lalu cetak pesan penutup.

Pseudocode
DECLARE count : INTEGER
count ← 5
WHILE count > 0 DO
    OUTPUT count
    count ← count - 1
ENDWHILE
OUTPUT "Liftoff!"
Output
5
4
3
2
1
Liftoff!

Perulangan WHILE memeriksa kondisinya sebelum setiap putaran dan berhenti begitu kondisinya bernilai salah. Di sini kondisinya adalah count > 0, dan badan perulangan mengurangi count satu per satu setiap kali. Hilangkan baris yang menguranginya dan perulangan tidak akan pernah berakhir. Pakai WHILE saat kamu tidak tahu sebelumnya berapa putaran yang dibutuhkan.

8. Mencari angka terbesar di sebuah array

Cari nilai terbesar di daftar berisi enam angka.

Pseudocode
DECLARE nums : ARRAY[1:6] OF INTEGER
DECLARE i : INTEGER
DECLARE largest : INTEGER
nums[1] ← 14
nums[2] ← 3
nums[3] ← 27
nums[4] ← 9
nums[5] ← 21
nums[6] ← 6
largest ← nums[1]
FOR i ← 2 TO 6
    IF nums[i] > largest THEN
        largest ← nums[i]
    ENDIF
NEXT i
OUTPUT "The largest number is ", largest
Output
The largest number is 27

ARRAY[1:6] mendeklarasikan enam slot bernomor 1 sampai 6, karena array Cambridge biasanya dimulai dari 1. Program menganggap elemen pertama adalah yang terbesar, lalu membandingkan setiap elemen lainnya dengannya dan menyimpan mana yang lebih besar. Setelah satu kali melewati array, largest berisi jawabannya.

9. Menghitung rata-rata

Cari rata-rata dari empat nilai ujian.

Pseudocode
DECLARE marks : ARRAY[1:4] OF INTEGER
DECLARE i : INTEGER
DECLARE total : INTEGER
marks[1] ← 70
marks[2] ← 85
marks[3] ← 64
marks[4] ← 91
total ← 0
FOR i ← 1 TO 4
    total ← total + marks[i]
NEXT i
OUTPUT "Average mark: ", total / 4
Output
Average mark: 77.5

Perulangan menambahkan setiap elemen array ke total, lalu program membaginya dengan jumlah nilai. Operator / memberikan hasil desimal, itulah sebabnya output-nya 77.5. Pakai DIV jika kamu ingin pembagian bilangan bulat.

11. Bubble sort

Urutkan lima angka dari yang terkecil ke yang terbesar.

Pseudocode
DECLARE nums : ARRAY[1:5] OF INTEGER
DECLARE i : INTEGER
DECLARE j : INTEGER
DECLARE temp : INTEGER
nums[1] ← 5
nums[2] ← 1
nums[3] ← 4
nums[4] ← 2
nums[5] ← 8
FOR i ← 1 TO 4
    FOR j ← 1 TO 5 - i
        IF nums[j] > nums[j + 1] THEN
            temp ← nums[j]
            nums[j] ← nums[j + 1]
            nums[j + 1] ← temp
        ENDIF
    NEXT j
NEXT i
FOR i ← 1 TO 5
    OUTPUT nums[i]
NEXT i
Output
1
2
4
5
8

Bubble sort membandingkan setiap pasangan elemen yang bersebelahan dan menukarnya kalau urutannya salah. Setelah setiap putaran perulangan luar, nilai terbesar yang tersisa sudah berpindah ke ujung, jadi perulangan dalam bisa berhenti satu elemen lebih awal setiap kali. Penukarannya butuh variabel ketiga, temp, untuk menyimpan satu nilai sementara nilai lainnya disalin.

Lihat animasi algoritma ini

12. Faktorial dengan fungsi

Tulis fungsi yang mengembalikan n faktorial (n!), lalu pakai untuk menghitung 5!.

Pseudocode
FUNCTION Factorial(n : INTEGER) RETURNS INTEGER
    DECLARE result : INTEGER
    DECLARE i : INTEGER
    result ← 1
    FOR i ← 2 TO n
        result ← result * i
    NEXT i
    RETURN result
ENDFUNCTION

OUTPUT "5! = ", Factorial(5)
Output
5! = 120

Sebuah FUNCTION menerima parameter, mengerjakan tugasnya, dan mengembalikan nilai dengan RETURN; header-nya menyebutkan tipe nilai yang dikembalikan. Variabel yang dideklarasikan di dalamnya hanya ada selama fungsi itu berjalan. 5! adalah 5 × 4 × 3 × 2 × 1, yaitu 120.

13. Menghitung huruf vokal dalam sebuah kata

Hitung berapa huruf vokal yang ada di kata PSEUDOCODE.

Pseudocode
DECLARE word : STRING
DECLARE letter : CHAR
DECLARE vowels : INTEGER
DECLARE i : INTEGER
word ← "PSEUDOCODE"
vowels ← 0
FOR i ← 1 TO LENGTH(word)
    letter ← SUBSTRING(word, i, 1)
    IF letter = 'A' OR letter = 'E' OR letter = 'I' OR letter = 'O' OR letter = 'U' THEN
        vowels ← vowels + 1
    ENDIF
NEXT i
OUTPUT word, " has ", vowels, " vowels"
Output
PSEUDOCODE has 5 vowels

LENGTH memberikan jumlah karakter dalam sebuah string, dan SUBSTRING(word, i, 1) mengambil satu karakter mulai dari posisi i. Perulangan mengunjungi setiap karakter dan menambah penghitung satu setiap kali karakter itu A, E, I, O, atau U.

14. FizzBuzz

Cetak angka 1 sampai 15, tapi cetak Fizz untuk kelipatan 3, Buzz untuk kelipatan 5, dan FizzBuzz untuk kelipatan keduanya.

Pseudocode
DECLARE i : INTEGER
FOR i ← 1 TO 15
    IF i MOD 15 = 0 THEN
        OUTPUT "FizzBuzz"
    ELSE
        IF i MOD 3 = 0 THEN
            OUTPUT "Fizz"
        ELSE
            IF i MOD 5 = 0 THEN
                OUTPUT "Buzz"
            ELSE
                OUTPUT i
            ENDIF
        ENDIF
    ENDIF
NEXT i
Output
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

Urutan pengecekan itu penting. 15 adalah kelipatan 3 dan juga kelipatan 5, jadi pengujian untuk 15 harus didahulukan; kalau tidak, program akan mencetak Fizz dan tidak pernah sampai ke FizzBuzz. Ini pemanasan klasik di wawancara kerja karena menguji cara berpikir seperti ini.

15. Percobaan password dengan REPEAT UNTIL

Coba sampai tiga password secara bergantian dan berikan akses kalau salah satunya benar.

Pseudocode
DECLARE attempts : ARRAY[1:3] OF STRING
DECLARE tries : INTEGER
DECLARE guess : STRING
attempts[1] ← "hunter1"
attempts[2] ← "letmein"
attempts[3] ← "open sesame"
tries ← 0
REPEAT
    tries ← tries + 1
    guess ← attempts[tries]
    OUTPUT "Try ", tries, ": ", guess
UNTIL guess = "open sesame" OR tries = 3
IF guess = "open sesame" THEN
    OUTPUT "Access granted"
ELSE
    OUTPUT "Locked out"
ENDIF
Output
Try 1: hunter1
Try 2: letmein
Try 3: open sesame
Access granted

Perulangan REPEAT ... UNTIL memeriksa kondisinya di akhir, jadi badan perulangan selalu berjalan minimal sekali. Perulangan berhenti saat password cocok atau setelah percobaan ketiga. Tebakan-tebakannya diambil dari array supaya contohnya berjalan tanpa perlu mengetik; dalam jawaban ujian, biasanya kamu membaca masing-masing tebakan dengan INPUT.

FAQ contoh pseudocode

Apa contoh pseudocode?
Contoh singkatnya menentukan apakah sebuah ujian lulus: IF score >= 50 THEN OUTPUT "Pass" ELSE OUTPUT "Fail" ENDIF. Bacaannya hampir seperti bahasa Inggris, tapi mengikuti aturan yang tetap, jadi bisa diubah ke Python, Java, atau bahasa lain baris demi baris. 15 program di halaman ini bergerak dari satu baris sampai pencarian dan pengurutan.
Bagaimana cara menulis pseudocode?
Tentukan apa yang harus dilakukan program, lalu tulis langkah-langkahnya secara berurutan dengan sedikit kata kunci: DECLARE untuk variabel, ← untuk memberi nilai, IF untuk keputusan, FOR atau WHILE untuk pengulangan, dan OUTPUT untuk hasil. Beri indentasi pada badan setiap blok, tutup dengan kata kunci penutupnya, dan tulis satu aksi per baris.
Apakah pseudocode sama di setiap ujian?
Tidak. Cambridge (IGCSE dan A-Level) memakai DECLARE dan panah ←, AQA memakai ← tanpa deklarasi, Exam Reference Language milik OCR mirip Python, dan Edexcel menulis SET ... TO. Contoh di sini memakai gaya Cambridge; editor pseudocode bisa berpindah di antara keempat gaya tersebut.
Bisakah aku menjalankan pseudocode?

Bisa, di halaman ini. Pseudocode bukan bahasa pemrograman sungguhan, jadi tidak ada compiler resminya, tapi editor di sini menjalankan pseudocode Cambridge di browsermu, menampilkan output-nya, dan menjalankannya baris demi baris. Tekan Jalankan di editor di bawah contoh mana pun.

Apa bedanya pseudocode dengan flowchart?

Keduanya menjelaskan algoritma sebelum ditulis menjadi kode. Flowchart menggambar langkah-langkahnya sebagai kotak dan panah, cocok untuk proses singkat dengan sedikit keputusan. Pseudocode menuliskannya sebagai teks terstruktur, yang tetap rapi untuk program yang lebih panjang dan lebih mudah diubah menjadi kode sungguhan.

Apakah aku harus mendeklarasikan variabel di pseudocode?
Di pseudocode Cambridge, ya: skema penilaian mengharapkan DECLARE name : TYPE sebelum sebuah variabel dipakai. Gaya lain, seperti milik AQA, melewatkan deklarasi. Mendeklarasikan variabel juga memberi tahu pembaca tipe nilai yang disimpannya.
Ilustrasi bahasa pemrograman di Coddy

Dari pseudocode ke kode sungguhan bersama Coddy

Mulai