Ini yang bakal kamu bikin di akhir pelajaran ini. Bu Sri mengantar pesanan lewat ojek, dan ongkirnya gratis kalau belanjanya di atas Rp 50.000. Programmu membaca satu pesanan, lalu menjawab. Untuk pesanan 65000 dia menulis baris pertama di bawah ini, untuk pesanan 50000 baris kedua:
Gratis ongkir
Ongkir 10000
Program yang sama, dua jawaban beda. Sampai pelajaran tadi, semua barismu selalu jalan. Mulai sekarang programmu bisa memilih baris mana yang jalan.
JIKA ... MAKA ... AKHIR JIKA
belanja ← 65000
JIKA belanja > 50000 MAKA
TULIS "Gratis ongkir"
AKHIR JIKA
TULIS "Terima kasih"
Gratis ongkir
Terima kasih
JIKAdiikuti kondisi, laluMAKA. Baris di bawahnya, sampaiAKHIR JIKA, cuma jalan kalau kondisinya benar.AKHIR JIKAmenutup bloknya. Baris sesudahnya jalan seperti biasa, apa pun kondisinya.- Baris di dalam blok digeser 4 spasi. Komputer gak mewajibkan, tapi kamu jadi gampang melihat mana yang masuk
JIKA.
Ganti baris pertamanya jadi belanja ← 30000, dan yang tercetak cuma Terima kasih:
belanja ← 30000
JIKA belanja > 50000 MAKA
TULIS "Gratis ongkir"
AKHIR JIKA
TULIS "Terima kasih"
Terima kasih
SELAIN ITU: kalau kondisinya salah
belanja ← 30000
JIKA belanja > 50000 MAKA
TULIS "Gratis ongkir"
SELAIN ITU
TULIS "Ongkir 10000"
AKHIR JIKA
Ongkir 10000
Baris di bawah SELAIN ITU jalan kalau kondisinya salah. Dari dua cabang, selalu tepat satu yang jalan: gak pernah dua-duanya, gak pernah gak ada sama sekali. Di JavaScript dan Python nanti, JIKA jadi if dan SELAIN ITU jadi else.
Membandingkan dua nilai
Kondisi itu perbandingan, dan hasilnya BENAR atau SALAH:
TULIS 65000 > 50000
TULIS 50000 > 50000
TULIS 50000 >= 50000
BENAR
SALAH
BENAR
| Tanda | Artinya |
|---|---|
> |
lebih dari |
< |
kurang dari |
>= |
lebih dari atau sama dengan |
<= |
kurang dari atau sama dengan |
= |
sama dengan |
≠ |
gak sama dengan (boleh juga != atau <>) |
"Di atas 50.000" artinya > 50000, jadi belanja tepat 50000 masih bayar ongkir. "Minimal 50.000" artinya >= 50000. Beda satu tanda = bisa memindahkan satu pembeli dari bayar ongkir ke gratis, jadi baca syaratnya pelan-pelan.
= membandingkan, ← mengisi
Teks juga bisa dibandingkan:
kode ← "HEMAT"
JIKA kode = "HEMAT" MAKA
TULIS "Diskon 5000"
AKHIR JIKA
Diskon 5000
kode ← "HEMAT" mengisi kode. kode = "HEMAT" di dalam JIKA bertanya: isinya HEMAT bukan? Sebelum lanjut, coba tebak: kalau pembelinya mengetik hemat huruf kecil, diskonnya tetap berlaku gak?
kode ← "hemat"
JIKA kode = "HEMAT" MAKA
TULIS "Diskon 5000"
SELAIN ITU
TULIS "Kode gak dikenal"
AKHIR JIKA
Kode gak dikenal
Gak berlaku. Dua teks baru dianggap sama kalau tiap hurufnya sama, termasuk besar-kecilnya. Di JavaScript dan Python nanti, membandingkan pakai == (JavaScript lebih suka ===), karena = di sana selalu mengisi.
⚠️ Kenapa JIKA-nya gak mau jalan?
MAKAlupa.JIKA belanja > 50000berhenti dengan "Baris 2: setelah kondisi JIKA harus ada MAKA."AKHIR JIKAlupa. Komputer berhenti di barisJIKA-nya: "Baris 2: JIKA ini belum ditutup." Pesan berikutnya bahkan memberi tahu tempatnya: "Tambahkan AKHIR JIKA setelah baris 3."←di dalam kondisi.JIKA kode ← "HEMAT" MAKAberhenti dengan "Baris 2: di kondisi, bandingkan pakai=, bukan←."- Isinya ditulis di baris yang sama.
JIKA belanja > 50000 MAKA TULIS "Gratis ongkir"berhenti dengan "Baris 2: setelah MAKA, pindah baris dulu." Isi blok selalu di baris sendiri. - Tandanya kebalik.
belanja => 50000berhenti dengan "Baris 2: di pseudocode, pakai>=, bukan=>."
Satu lagi yang gak bikin error: >= padahal maksudnya >. Programnya jalan mulus, cuma pembeli yang belanja tepat 50000 ikut gratis ongkir. Coba programmu dengan angka yang pas di batasnya.
TL;DR: JIKA kondisi MAKA ... AKHIR JIKA menjalankan isinya cuma kalau kondisinya BENAR. Tambah SELAIN ITU untuk isi yang jalan kalau kondisinya SALAH, dan dari dua cabang selalu tepat satu yang jalan. Kondisi membandingkan dengan >, <, >=, <=, =, atau ≠. "Di atas 50.000" itu > 50000, "minimal 50.000" itu >= 50000. Di dalam kondisi, = membandingkan, dan ← di sana error. Teks dibandingkan huruf per huruf, besar-kecilnya ikut.