- Bab 5 dari 8
- 35 menit
- 2 latihan kode
- 4 soal kuis
Bahasa Natural, Pseudocode, dan Flowchart
Di bab ini (9 bagian)
Tujuan bab ini
- Menuliskan satu algoritma dalam tiga bentuk: bahasa natural, pseudocode, dan flowchart.
- Menyebutkan kelebihan dan kekurangan setiap bentuk.
- Mengenali simbol-simbol standar flowchart dan fungsinya.
- Menerjemahkan pseudocode menjadi kode JavaScript.
Bahasa natural
Bahasa natural adalah bahasa sehari-hari yang ditulis sebagai langkah bernomor:
- Masukkan sebuah bilangan.
- Bagi bilangan dengan 2.
- Jika sisanya 0, tulis "Genap".
- Jika tidak, tulis "Ganjil".
Kelebihan: mudah dipahami siapa saja, bahkan yang belum pernah belajar pemrograman.
Kekurangan: bisa bermakna ganda. Langkah 2 misalnya, "bagi dengan 2" bisa diartikan hasil baginya atau sisanya. Langkah 3 memperjelas bahwa yang dilihat adalah sisa, tetapi pembaca harus menyimpulkannya sendiri.
Pseudocode
Pseudocode ("kode semu") adalah tulisan terstruktur yang mirip kode, tetapi tidak terikat pada bahasa pemrograman tertentu:
MOD adalah operasi sisa bagi. Contohnya, 7 MOD 2 = 1 karena 7 dibagi 2 adalah 3 sisa 1, sedangkan 8 MOD 2 = 0.
Kelebihan: terstruktur, ringkas, dan mudah diubah ke bahasa pemrograman apa pun.
Kekurangan: perlu sedikit latihan untuk membaca kata kunci seperti IF, THEN, dan END IF.
Satu hal penting: pseudocode tidak punya aturan baku. Ada yang menulis JIKA ... MAKA, ada yang memakai IF ... THEN. Yang penting konsisten dan jelas. Indentasi (menjorokkan baris) membantu menunjukkan langkah mana yang berada di dalam IF dan mana yang di dalam ELSE.
Flowchart
Flowchart adalah diagram alir. Langkah digambar sebagai simbol dan dihubungkan dengan panah.
Kelebihan: visual dan mudah diikuti alurnya, cocok untuk menjelaskan percabangan.
Kekurangan: memakan tempat dan repot diubah kalau algoritmanya panjang.
Simbol-simbol flowchart
| Simbol | Fungsi |
|---|---|
| Terminator (oval) | Menandai awal (Mulai) dan akhir (Selesai) |
| Proses (persegi panjang) | Perhitungan atau tindakan, misalnya total = a + b |
| Input/Output (jajar genjang) | Memasukkan data atau menampilkan hasil |
| Keputusan (belah ketupat) | Pertanyaan bercabang Ya/Tidak berdasarkan kondisi |
| Konektor (lingkaran kecil) | Menghubungkan alur pada halaman yang sama |
| Sub-proses | Memanggil prosedur yang sudah didefinisikan |
Garis alir (panah) menunjukkan arah urutan langkah. Alur dibaca dari atas ke bawah dan dari kiri ke kanan. Setiap flowchart harus punya satu Mulai dan minimal satu Selesai.
Flowchart genap atau ganjil
Kalau digambarkan, alurnya seperti ini:
- Terminator Mulai.
- Input/Output Masukkan n.
- Keputusan n MOD 2 = 0?
- Cabang Ya menuju Input/Output Tampilkan "Genap".
- Cabang Tidak menuju Input/Output Tampilkan "Ganjil".
- Kedua cabang bertemu di terminator Selesai.
Perhatikan bahwa simbol keputusan selalu punya dua jalan keluar yang diberi label Ya dan Tidak.
Dari pseudocode ke JavaScript
Pseudocode yang rapi hampir bisa diterjemahkan baris per baris:
| Pseudocode | JavaScript |
|---|---|
INPUT n | parameter fungsi n |
n MOD 2 | n % 2 |
= 0 (membandingkan) | === 0 |
IF ... THEN ... ELSE ... END IF | if (...) { ... } else { ... } |
OUTPUT "Genap" | return "Genap"; |
Hasilnya:
Kenapa === dan bukan =? Di JavaScript, satu tanda sama dengan (=) berarti mengisi nilai, misalnya let x = 5. Untuk membandingkan, pakai tiga tanda sama dengan (===). Ini berbeda dari pseudocode, tempat = sering dipakai untuk membandingkan.
Lebih dari dua cabang
Bagaimana kalau pilihannya lebih dari dua? Pseudocode bisa memakai ELSE IF, dan JavaScript juga:
Kondisi diperiksa dari atas. Begitu satu kondisi benar, cabang lain dilewati. Itu sebabnya urutan kondisi penting: kalau nilai >= 60 diletakkan paling atas, nilai 90 akan masuk "Remedial".
Memilih bentuk yang tepat
Tidak ada bentuk yang selalu paling baik. Pilih sesuai pembaca dan tujuannya:
- Untuk menjelaskan ke teman atau orang tua, bahasa natural paling mudah diterima.
- Untuk merancang program sebelum menulis kode, pseudocode paling praktis.
- Untuk presentasi atau menunjukkan percabangan yang rumit, flowchart paling mudah diikuti.
Banyak programmer berpengalaman memulai dari pseudocode di kertas, baru kemudian menulis kode.
Kesalahan umum
- Flowchart tanpa Selesai, atau dengan beberapa Mulai. Alur jadi tidak jelas awal dan akhirnya.
- Simbol keputusan dengan satu panah keluar. Keputusan selalu bercabang Ya dan Tidak.
- Memakai
=untuk membandingkan di JavaScript. Gunakan===. - Urutan
else ifyang keliru, sehingga kondisi yang lebih luas menutupi kondisi yang lebih sempit.
Rangkuman
- Algoritma bisa ditulis dalam bahasa natural, pseudocode, atau flowchart.
- Bahasa natural mudah dipahami tetapi bisa bermakna ganda; pseudocode terstruktur dan mudah diubah ke kode; flowchart visual dan mudah diikuti.
- Pseudocode tidak punya aturan baku, yang penting konsisten dan jelas. MOD adalah operasi sisa bagi.
- Simbol flowchart: terminator, proses, input/output, keputusan, konektor, dan sub-proses, dihubungkan garis alir.
- Di JavaScript, MOD ditulis
%, dan perbandingan memakai===.
Slide 14 sampai 16 dari deck Computational Thinking: Berpikir Komputasional dari Nol. Penjelasan lengkapnya ada di mode Baca.

Selesaikan bab ini
- 1. Baca materi
- 2. Latihan kode (2)
- 3. Kuis (4 soal)
Latihan kode: Dari pseudocode ke kode: harga tiket museum
Terjemahkan pseudocode ini menjadi fungsi hargaTiket(umur):
Ingat: OUTPUT menjadi return, dan ELSE IF menjadi else if.
Latihan kode: Positif, negatif, atau nol
Tulis jenisBilangan(n) dari pseudocode berikut:
Perhatikan huruf besar di awal setiap teks keluaran.
Cek pemahaman
1Apa arti operasi MOD dalam pseudocode?
2Simbol flowchart yang dipakai untuk pertanyaan bercabang Ya/Tidak adalah
3Pseudocode memiliki aturan penulisan baku yang wajib diikuti semua orang.
4Apa hasil pemanggilan statusNilai(65)?
function statusNilai(nilai) { if (nilai >= 75) { return "Tuntas"; } else if (nilai >= 60) { return "Remedial"; } else { return "Mengulang"; } }
