Struktur Dasar Algoritma: Pemilihan (Selection) dengan IF-ELSE
Setelah memahami Struktur Runtunan (Sequence) di mana semua instruksi berjalan lurus dari atas ke bawah, saatnya kita belajar membuat program yang lebih "cerdas". Program yang cerdas adalah program yang bisa membuat keputusan.
Di sinilah Struktur Pemilihan (Selection) berperan. Jika Struktur Runtunan adalah jalan lurus, maka Struktur Pemilihan adalah persimpangan jalan . Pada persimpangan ini, program harus membuat keputusan untuk memilih jalur mana yang akan dieksekusi berdasarkan kondisi tertentu.
Fondasi Pemilihan: Kondisi Boolean
Setiap keputusan dalam algoritma bermuara pada sebuah pertanyaan yang hanya memiliki dua kemungkinan jawaban: Benar (True) atau Salah (False). Pernyataan yang menghasilkan nilai True/False ini disebut ekspresi Boolean. Ekspresi ini dibentuk menggunakan operator relasi (pembanding) untuk membandingkan dua nilai.
- Contoh 1:
5 = 5(menghasilkanTrue) - Contoh 2:
3 = 4(menghasilkanFalse) - Contoh 3:
nilai >= 60(menghasilkanTrueatauFalsetergantung isi variabelnilai)
Ekspresi-ekspresi ini juga dapat digabungkan menggunakan operator logika seperti AND, OR, dan NOT untuk membentuk kondisi yang lebih kompleks.
Bentuk Pemilihan 1: Kasus Tunggal (IF-THEN)
Ini adalah bentuk pemilihan paling dasar. Sebuah blok aksi hanya akan dijalankan jika sebuah kondisi bernilai True. Jika kondisi bernilai False, maka blok aksi tersebut akan dilewati dan program akan lanjut ke instruksi berikutnya.
Analogi: "Jika hari ini hujan, maka bawa payung." (Jika tidak hujan, Anda tidak melakukan aksi apa pun terkait payung).
Notasi Algoritmik:
if (Syarat) then
Aksi
endif
Contoh Algoritma:
// Program untuk mengecek apakah A lebih besar dari B
Deklarasi:
A, B: integer
Deskripsi:
Read(A, B)
if A > B then
write('A adalah bilangan terbesar')
endifBentuk Pemilihan 2: Kasus Ganda (IF-THEN-ELSE)
Struktur ini merupakan pengembangan dari IF-THEN. Ia menyediakan blok aksi alternatif yang akan dijalankan apabila kondisi pada IF tidak terpenuhi (bernilai False). Ini memungkinkan program untuk menangani dua kemungkinan hasil.
Analogi: "Jika nilai >= 60, maka status 'Lulus'. Jika tidak, maka status 'Tidak Lulus'."
Contoh Kasus: Menentukan Kelulusan Siswa
Program ini akan meminta input nilai siswa, lalu menentukan status kelulusannya berdasarkan nilai tersebut.
Program Pascal:
program Menentukan_Kelulusan;
uses crt;
var
N: integer; // Variabel untuk menyimpan nilai
begin
clrscr;
write('Masukkan Nilai Siswa: '); // Instruksi input
readln(N);
if N >= 60 then // Pengujian kondisi
write('Siswa Dinyatakan Lulus') // Diproses jika kondisi True
else
write('Siswa Dinyatakan Tidak Lulus'); // Diproses jika kondisi False
readln;
end.
Pada program di atas, hanya salah satu dari dua pernyataan write yang akan dieksekusi, tidak pernah keduanya. Pilihan ini sepenuhnya bergantung pada hasil evaluasi kondisi N >= 60.
Kesimpulan
Struktur Pemilihan (Selection) adalah "otak" dari sebuah algoritma. Ia memberikan kemampuan pada program untuk bereaksi secara dinamis terhadap data dan input yang berbeda. Dengan IF-THEN, program dapat menjalankan aksi opsional, dan dengan IF-THEN-ELSE, program dapat memilih satu dari dua jalur yang tersedia.
Menguasai struktur ini akan membawa Anda selangkah lebih dekat untuk membuat program yang lebih interaktif dan cerdas. Langkah selanjutnya adalah mempelajari bagaimana cara membuat program melakukan tugas berulang-ulang dengan Struktur Perulangan (Repetition).
Tantangan: Buatlah algoritma dalam bahasa natural untuk menentukan apakah sebuah bilangan yang diinput adalah Positif atau Negatif menggunakan struktur IF-THEN-ELSE.
