Tutorial Looping dengan For pada Bash

Perulangan atau looping adalah satu fitur dasar yang ada di setiap bahasa pemrograman. Dengan menggunakan looping, kalian dapat mengulang suatu perintah atau tindakan tertentu secara terus-menerus berdasarkan kondisi yang telah ditentukan.

Panduan ini akan membahas perulangan for dalam bahasa pemrograman Bash dan contoh penggunaannya.

Dasar penggunaan “for”

Perulangan for dapat kalian gunakan untuk melakukan iterasi dari suatu list.

Contoh penggunaan for berikut ini untuk melakukan iterasi dari kumpulan string:

for i in Mango Rambutan Durian; do
  echo "$i"
done

Versi perulangan dari kumpulan bilangan:

for i in 1 2 3; do
  echo "$i"
done

Kalian dapat menggunakan range untuk membuat list bilangan dari rentang nilai tertentu.

Misalnya, perintah berikut ini untuk membuat list dari angka 0 sampai 5 kemudian melakukan iterasi dari hasil list tersebut.

for i in {0..5}; do
  echo "$i"
done

Kalian juga dapat menambahkan interval pada saat membuat list pada Bash.

Misalnya, perintah berikut ini untuk membuat list dari 0 dan 10 dengan interval 2 agar menghasilkan range yang terdiri dari bilangan genap saja.

for i in {0..10..2}; do
  echo "$i"
done

Penggunaan “for” dengan array

Bahasa pemrograman Bash juga mendukung tipe data array, yang berfungsi untuk menyimpan banyak item dalam satu variabel.

Dengan demikian, kalian bisa melakukan perulangan dengan for dari sebuah array untuk melakukan iterasi, misalnya seperti pada skrip berikut ini:

fruits=("Rambutan" "Durian" "Salak")

for i in "${fruits[@]}"; do
  echo "$i"
done

Syntax “for” yang mirip bahasa pemrograman C

Untuk membuat for yang mirip seperti pada bahasa pemrograman C, gunakan syntax di bawah ini:

for ((i = 0 ; i < 10 ; i++)); do
  echo "$i"
done

Perulangan di atas berfungsi untuk mencetak bilangan dari 0 sampai 9.

Statement Continue & Break

Sama seperti bahasa pemrograman lain, ketika membuat perulangan dengan for, kalian juga dapat menggunakan continue dan break.

Continue berfungsi untuk melakukan iterasi ke item selanjutnya dan tidak mengeksekusi kode setelah continue yang berada di dalam for.

Sedangkan break berfungsi untuk menghentikan perulangan sepenuhnya.

Misalnya, penggunaan continue pada skrip berikut ini berfungsi untuk melanjutkan iterasi ke item selanjutnya apabila item tersebut bernilai genap (habis dibagi 2).

for i in {0..10}; do
  # jika nilai $i habis dibagi 2
  # akan lanjut iterasi ke item selanjutnya
  # dan perintah `echo "$i"` tidak dieksekusi
  if [[ $((i % 2)) -eq 0 ]]; then
    continue
  fi

  echo "$i"
done

Seperti kubilang dari awal, dengan break kalian dapat menghentikan perulangan, misalnya perulangan ini akan berhenti jika nilai dari item sama dengan 5:

for i in {0..10}; do
  # jika nilai $i sama dengan 5
  # iterasi akan berhenti
  # alhasil perulangan hanya mencetak bilangan sampai 4.
  if [[ $i -eq 5 ]]; then
    break
  fi

  echo "$i"
done