by

Pilot

Pengambilan keputusan adalah konsep dasar dalam pemrograman. Di Bash, kita memakai if, if…else, if…elif…else, dan nested if untuk mengeksekusi perintah hanya ketika kondisi tertentu bernilai benar.

1) Bentuk Dasar if

Struktur paling sederhana mengevaluasi test command (ekspresi/kondisi). Jika hasilnya benar, blok perintah dijalankan; jika salah, blok dilewati.

if TEST-COMMAND
then
  # STATEMENTS
fi

Contoh

#!/bin/bash

echo -n "Masukkan angka: "
read VAR

if [[ $VAR -gt 10 ]]
then
  echo "Angka lebih besar dari 10."
fi

Jalankan: bash test.sh. Jika Anda memasukkan 15, pesan di atas akan tampil.

2) if…else

Gunakan else untuk menentukan blok alternatif ketika kondisi bernilai salah.

if TEST-COMMAND
then
  # STATEMENTS1
else
  # STATEMENTS2
fi

Contoh

#!/bin/bash

echo -n "Masukkan angka: "
read VAR

if [[ $VAR -gt 10 ]]
then
  echo "Angka lebih besar dari 10."
else
  echo "Angka sama dengan atau kurang dari 10."
fi

3) if…elif…else

Tambahkan satu atau lebih elif untuk memeriksa beberapa kondisi secara berurutan. Saat satu kondisi bernilai benar, kondisi berikutnya tidak diperiksa lagi. Bagian else bersifat opsional.

if TEST-COMMAND1
then
  # STATEMENTS1
elif TEST-COMMAND2
then
  # STATEMENTS2
else
  # STATEMENTS3
fi

Contoh

#!/bin/bash

echo -n "Masukkan angka: "
read VAR

if [[ $VAR -gt 10 ]]
then
  echo "Lebih besar dari 10."
elif [[ $VAR -eq 10 ]]
then
  echo "Sama dengan 10."
else
  echo "Kurang dari 10."
fi

4) Nested if (If Bersarang)

Anda dapat menempatkan if di dalam if lain. Contoh di bawah ini meminta tiga angka lalu mencetak angka terbesar.

#!/bin/bash

echo -n "Angka pertama: "
read A
echo -n "Angka kedua: "
read B
echo -n "Angka ketiga: "
read C

if [[ $A -ge $B ]]
then
  if [[ $A -ge $C ]]
  then
    echo "$A adalah yang terbesar."
  else
    echo "$C adalah yang terbesar."
  fi
else
  if [[ $B -ge $C ]]
  then
    echo "$B adalah yang terbesar."
  else
    echo "$C adalah yang terbesar."
  fi
fi

Untuk banyak percabangan, pertimbangkan pakai case agar lebih rapi.

5) Kondisi Ganda (AND/OR)

Gabungkan kondisi dengan operator logika && (AND) atau || (OR).

#!/bin/bash

echo -n "Angka pertama: "
read A
echo -n "Angka kedua: "
read B
echo -n "Angka ketiga: "
read C

if [[ $A -ge $B ]] && [[ $A -ge $C ]]
then
  echo "$A adalah yang terbesar."
elif [[ $B -ge $A ]] && [[ $B -ge $C ]]
then
  echo "$B adalah yang terbesar."
else
  echo "$C adalah yang terbesar."
fi

6) Operator Test yang Sering Dipakai

Di Bash, perintah test tersedia dalam tiga bentuk:

test EXPRESSION
[ EXPRESSION ]
[[ EXPRESSION ]]

Untuk portabilitas (lintas shell POSIX), biasakan memakai bentuk lama [ … ]. Bentuk [[ … ]] menyediakan kemampuan lebih dan tersedia di Bash modern. Gunakan ! untuk negasi, dan kutip string saat perbandingan guna menghindari pemecahan kata/globbing.

String

  • -n VAR — benar jika panjang VAR > 0.
  • -z VAR — benar jika VAR kosong.
  • STR1 = STR2 — benar jika sama.
  • STR1 != STR2 — benar jika tidak sama.

Angka

  • A -eq B — sama dengan.
  • A -gt B — lebih besar dari.
  • A -lt B — lebih kecil dari.
  • A -ge B — lebih besar/sama dengan.
  • A -le B — lebih kecil/sama dengan.

Berkas

  • -h FILE — ada dan merupakan symlink.
  • -r FILE — ada dan dapat dibaca.
  • -w FILE — ada dan dapat ditulis.
  • -x FILE — ada dan dapat dieksekusi.
  • -d FILE — ada dan merupakan direktori.
  • -e FILE — ada (tipe apa pun).
  • -f FILE — ada dan merupakan berkas biasa.

Kesimpulan


Dengan if, if…else, dan if…

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rata rata rating 0 / 5. Jumlah rate 0

Yuk Rate 5 Artikel Ini!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Pilot

Drove Jetorbit to be the best technology solution for business every human on planet.

Bagikan:

Tags:

Leave a Comment