sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Tinjau kembali algoritma pengurutan dara. Pencarian data terkecil dilakukan dengan membanding-bandingkan data. Mula-mula data pertama dianggap data terkecil sementara (min) Bandingkan min dengan data ke-2, 3,..., N. Selama proses pembandingan, bila data lebih kecil dari min, maka data ke-j itu menjadi min yang baru. Langkah terakhir tulis dalam pernyataan berikut:
jika data ke-j lebih kecil dari min, maka isikan data ke-j sebagai min yang baru
Pernyataan diatas dapat ditulis dalam struktur umum
if kondisi then
aksi
Dalam bahasa Indonesia if berarti "jika" dan then artinya "maka. Kondisi adalah persyaratan yang dapat bernilai benar. Sebaliknya, apabila kondisi bernilai salah, maka aksi tidak dilaksanakan. Perhatikan bahwa kata if dan then merupakan kata kunci (keywords) untuk struktur pemilihan ini.
Dalam kehidupan sehari-hari, kita sering memnuliskan pelaksanaan tindakan dila suatu persyaratan dipenuhi. Misalnya:
if Amir memperoleh juara kelas then
ayah akan membelikannya sepeda
if jalan Dago macet then
lewat jalan alternatif ke jalan Dipati Ukur
if mobilmu rusak then
pakai saja sepeda motorku
if x habis dibagi 2 then
tulis x adalah bilangan genap
dan lain-lain sebagainya
struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi (persyaratan dipenuhi (bernilai benar) dan tidak memberi pilihan aksi lain bila kondisi bernilai salah. Bentuk pemilihan yang lebih umum ialah memilih satu dari dua buah aksi bergantung pada nilai kondisinya:
if kondisi then
aksi 1
else
aksi 2
Else artinya "kalau tidak". Bila kondisi bernilai benar, aksi 1 akan dikerjakan kalau tidak, aksi 2 yang akan dikerjakan. Misalnya pada pernyataan berikut:
if hari hujan then
pergilah dengan becak
else
pergilah dengan motor
Jika hari memang hujan maka aksi "pergilah dengan becak" dilakukan, sebaliknya, aksi "pergilah dengan motor" dilakukan bila hari tidak hujan.
Contoh lainnya adalah menentukan nilai terbesar dari dua buah bilangan bublat, x dan y (andaikan x ≠ y)
if x > y then
tulis x sebagai bilangan terbesar
else
tulis y sebagai bilangan terbesasr
Menentukan apakah bilangan bulat merupakan bilangan genap atau ganjil:
if x habis dibagi 2 then
tulis x adalah bilangan genap
else
tulis x adalah bilangan ganjil
Apabila pilihan aksi yang dilakukan lebih dari dua buah, maka struktur pemilihannya menjadi lebih rumit, seperti pada contoh berikut (pemilihan bersarang)
if lampu pengatur lalu lintas berwarna merah then
anda harus berhenti
else
if lampu lintas berwarna kuning then
anda boleh jalan tapi dengan hati-hati
else
anda boleh silakan terus berjalan
Perhatikanlah bahwa penggunaan indentasi (rongak kosong) membuat algoritma menjadi lebih mudah dibaca. Tanpa indentasi, algoritma menjadi lebih sulit dibaca, misalnya jika algoritma ditulis seperti ini:
if lampu pengatur lalu lintas berwarna merah then
anda harus berhenti
else if lampu lintas berwarna kuning then
anda boleh jalan tapi dengan hati-hati else
anda boleh silakan terus berjalan
Perancang algoritma sangat dianjurkan membuat identasi semacam ini pada setiap struktur pemilihan, agar algoritma menjadi lebih mudah dibaca.
Contoh lain dan pemilihan bersarang adalah menentukan bilangan terbesar dari tiga buah bilangan x, y dan z
if x > y then
if x > z then
tulis x sebagai bilangan terbesar
else
tulis z sebagai bilangan terbesar
else
if y > z then
tulis y sebagai bilangan terbesar
else
tulis z sebagai bilangan terbesar
Bayangkan betapa sulitnya memahami algoritma di atas jika ditulis seperti dibawah ini
if x > y then
if x > z then
tulis x sebagai bilangan terbesar
else tulis z sebagai bilangan terbesar
else if y > z then
tulis y sebagai bilangan terbesar
else tulis z sebagai bilangan terbesar