Halo, selamat datang di Seri Belajar Bash Scripting! Pada seri ini, kita akan membahas tentang Bash Loops atau pengulangan dalam Bash.
Penjelasan Singkat
Pengulangan atau looping pada Bash adalah konsep dasar dalam pemrograman yang memungkinkan program untuk melakukan iterasi atau perulangan pada serangkaian perintah yang sama. Bash menyediakan beberapa jenis loop, seperti for
, while
, dan until
, yang memungkinkan kita untuk mengulang perintah-perintah tersebut sampai suatu kondisi terpenuhi. Looping pada Bash juga dapat dikombinasikan dengan perintah break
dan continue
untuk mengendalikan alur program. Dengan menggunakan konsep dasar pengulangan pada Bash, kita dapat membuat program yang lebih efisien dan efektif dalam menyelesaikan tugas-tugas pemrograman sehari-hari.
Cara Kerja Loop atau Pengulangan di Bash
Jadi diagram atau map di atas menggambarkan cara kerja dari loop di bash, yang akan terus mengulangan sampai kondisi bernilai false dan looping akan berhenti. ada beberapa cara untuk memaksa looping berhenti melakukan pengulangan dan menskip pengulangan jika kondisi terpenuhi, yang akan saya bahas di bawah tentang penggunaan continue
dan break
yang bisa membuat looping tidak bekerja seperti map di atas.
Macam-macam Looping pada Bash Linux
Ada beberapa macam Bash Loops yang dapat digunakan dalam skrip Bash, yaitu:
1. For Loop
For Loop digunakan untuk melakukan iterasi terhadap daftar item atau variabel dalam sebuah array. For Loop biasanya digunakan untuk melakukan pengulangan terhadap perintah yang perlu dijalankan sejumlah tertentu kali. Format dari For Loop adalah sebagai berikut:
for variable in daftar_item
do
perintah
done
Contoh penggunaan For Loop:
for i in {1..5}
do
echo $i
done
Output:
1
2
3
4
5
2. While Loop
While Loop digunakan untuk melakukan pengulangan terhadap serangkaian perintah sampai kondisi yang diberikan terpenuhi atau bernilai false. While Loop biasanya digunakan ketika kita tidak mengetahui berapa kali pengulangan harus dilakukan. Format dari While Loop adalah sebagai berikut:
while [ kondisi ]
do
perintah
done
Pada saat While Loop dijalankan, kondisi akan dievaluasi. Selama kondisi masih terpenuhi, perintah-perintah di dalam blok do
akan dijalankan. Setelah perintah-perintah di dalam blok do
dijalankan, kondisi akan dievaluasi kembali. Loop akan berhenti saat kondisi tidak lagi terpenuhi.
Contoh penggunaan While Loop adalah sebagai berikut:
count=1
while [ $count -le 5 ]
do
echo $count
((count++))
done
Pada contoh di atas, loop akan terus mengulang perintah echo $count
selama nilai dari variabel count
kurang dari atau sama dengan 5. Saat nilai variabel count
sama dengan 6, loop akan berhenti.
Output dari perintah ini adalah sebagai berikut:
1
2
3
4
5
Pada contoh di atas, perintah echo $count
akan diulang sebanyak 5 kali, karena nilai variabel count
mulai dari 1 hingga 5 dan kondisi yang diberikan adalah “selama nilai variabel count
kurang dari atau sama dengan 5″. Setelah nilai variabel count
sama dengan 6, loop akan berhenti.
3. Until Loop
Until Loop mirip dengan While Loop, tetapi kondisi yang digunakan berlawanan. Until Loop akan melakukan pengulangan sampai kondisi bernilai true. Format dari Until Loop adalah sebagai berikut:
until [ kondisi ]
do
perintah
done
Contoh penggunaan Until Loop adalah sebagai berikut:
count=1
until [ $count -gt 5 ]
do
echo $count
((count++))
done
Pada contoh di atas, loop akan terus mengulang perintah echo $count
selama nilai dari variabel count
tidak lebih besar dari 5. Saat nilai variabel count
sama dengan 6, loop akan berhenti.
Output dari perintah ini adalah sebagai berikut:
1
2
3
4
5
Pada contoh di atas, perintah echo $count
akan diulang sebanyak 5 kali, karena nilai variabel count
mulai dari 1 hingga 5 dan kondisi yang diberikan adalah “selama nilai variabel count
tidak lebih besar dari 5″. Setelah nilai variabel count
sama dengan 6, loop akan berhenti.
4. Select Loop
Select Loop digunakan untuk membuat menu pilihan dalam skrip Bash. Select Loop akan menampilkan daftar pilihan dan meminta pengguna untuk memilih salah satu pilihan tersebut. Format dari Select Loop adalah sebagai berikut:
select variable in daftar_pilihan
do
perintah
done
Penjelasan dari format di atas adalah sebagai berikut:
select
: keyword untuk memulai Select Loopvariable
: variabel yang akan menyimpan nilai pilihan penggunadaftar_pilihan
: daftar pilihan yang akan ditampilkan dalam menu, dipisahkan oleh spasi atau tabdo
: keyword untuk memulai blok perintah yang akan diulangperintah
: perintah yang akan dijalankan setiap kali pengguna memilih salah satu pilihandone
: keyword untuk menutup blok perintah
Contoh penggunaan Select Loop adalah sebagai berikut:
#!/bin/bash
echo "Pilih jenis buah:"
select buah in Apel Jeruk Mangga Pisang Keluar
do
case $buah in
Apel) echo "Anda memilih Apel";;
Jeruk) echo "Anda memilih Jeruk";;
Mangga) echo "Anda memilih Mangga";;
Pisang) echo "Anda memilih Pisang";;
Keluar) break;;
*) echo "Pilihan tidak valid. Silakan pilih kembali.";;
esac
done
Contoh di atas akan menampilkan menu pilihan jenis buah dan meminta pengguna untuk memilih salah satu jenis buah. Jika pengguna memilih salah satu jenis buah, maka program akan menampilkan pesan “Anda memilih …” sesuai dengan jenis buah yang dipilih. Jika pengguna memilih “Keluar”, maka program akan keluar dari Select Loop dan menyelesaikan eksekusi. Jika pengguna memilih pilihan yang tidak valid, maka program akan menampilkan pesan “Pilihan tidak valid. Silakan pilih kembali.” dan menampilkan menu pilihan kembali.
5. For/In Loop
For/In Loop mirip dengan For Loop, tetapi digunakan untuk melakukan iterasi terhadap daftar item atau variabel yang dipisahkan oleh spasi. Format dari For/In Loop adalah sebagai berikut:
for variable in daftar_item1 item2 item3 ...
do
perintah
done
6. Nested Loop
Nested Loop adalah loop yang terdapat di dalam loop. Nested Loop biasanya digunakan untuk melakukan pengulangan terhadap serangkaian perintah dalam dua atau lebih dimensi. Format dari Nested Loop adalah sebagai berikut:
for i in daftar_item1
do
for j in daftar_item2
do
perintah
done
done
Dengan menggunakan berbagai jenis loop di atas, kita dapat melakukan iterasi dan pengulangan perintah secara otomatis dalam skrip Bash.
Penjelasan Break dan Continue
break
dan continue
adalah kata kunci pada looping di Bash yang digunakan untuk mengontrol aliran program di dalam loop.
Kata kunci Break digunakan untuk menghentikan loop secara paksa saat kondisi tertentu terpenuhi. Ketika kata kunci Break ditemukan di dalam loop, maka loop akan berhenti secara instan dan program akan melanjutkan eksekusi ke perintah selanjutnya di luar loop.
Kata kunci Continue digunakan untuk menghentikan eksekusi perintah yang sedang dijalankan pada saat itu dan melanjutkan loop pada iterasi berikutnya. Dengan kata lain, ketika kata kunci Continue ditemukan di dalam loop, maka perintah-perintah di dalam blok do
yang berada di bawah kata kunci Continue tidak akan dijalankan untuk iterasi saat itu, namun loop akan melanjutkan ke iterasi berikutnya.
Keduanya berguna untuk mengatur aliran program pada saat looping dan dapat membantu mempersingkat kode.
1. Break
break
pada looping di Bash digunakan untuk menghentikan pengulangan atau iterasi yang sedang berlangsung dalam loop. Ketika perintah break
dieksekusi, maka loop akan segera berhenti dan program akan melanjutkan eksekusi perintah setelah loop tersebut.
Perintah break
biasanya digunakan dalam kondisi-kondisi tertentu, seperti jika nilai yang diinginkan sudah ditemukan atau jika suatu kondisi telah terpenuhi.
Contoh penggunaan perintah break
pada loop for
adalah sebagai berikut:
#!/bin/bash
for i in 1 2 3 4 5
do
if [ $i -eq 3 ]
then
break
fi
echo $i
done
echo "Loop Selesai"
Pada contoh di atas, loop for
akan melakukan iterasi dari 1 hingga 5, namun ketika nilai variabel i
sama dengan 3, perintah break
akan dijalankan dan loop akan segera berhenti. Sehingga, hasil output program hanya menampilkan nilai dari variabel i
1 dan 2, dan pesan “Loop Selesai”.
Contoh penggunaan perintah break
pada loop while
adalah sebagai berikut:
#!/bin/bash
i=1
while [ $i -le 5 ]
do
echo $i
i=$((i+1))
if [ $i -eq 3 ]
then
break
fi
done
echo "Loop Selesai"
Pada contoh di atas, loop while
akan melakukan iterasi dari 1 hingga 5, namun ketika nilai variabel i
sama dengan 3, perintah break
akan dijalankan dan loop akan segera berhenti. Sehingga, hasil output program hanya menampilkan nilai dari variabel i
1 dan 2, dan pesan “Loop Selesai”.
2. Continue
continue
pada looping di Bash digunakan untuk menghentikan iterasi yang sedang berlangsung dalam loop dan melanjutkan ke iterasi berikutnya. Ketika perintah continue
dieksekusi, maka loop akan segera melanjutkan ke iterasi berikutnya tanpa menjalankan perintah yang ada setelah continue
dalam blok perulangan.
Perintah continue
biasanya digunakan dalam kondisi-kondisi tertentu, seperti jika suatu nilai tidak memenuhi syarat atau jika suatu kondisi belum terpenuhi.
Contoh penggunaan perintah continue
pada loop for
adalah sebagai berikut:
#!/bin/bash
for i in 1 2 3 4 5
do
if [ $i -eq 3 ]
then
continue
fi
echo $i
done
echo "Loop Selesai"
Pada contoh di atas, loop for
akan melakukan iterasi dari 1 hingga 5, namun ketika nilai variabel i
sama dengan 3, perintah continue
akan dijalankan dan loop akan segera melanjutkan ke iterasi berikutnya. Sehingga, hasil output program hanya menampilkan nilai dari variabel i
yang bukan 3, dan pesan “Loop Selesai”.
Contoh penggunaan perintah continue
pada loop while
adalah sebagai berikut:
#!/bin/bash
i=1
while [ $i -le 5 ]
do
if [ $i -eq 3 ]
then
i=$((i+1))
continue
fi
echo $i
i=$((i+1))
done
echo "Loop Selesai"
Pada contoh di atas, loop while
akan melakukan iterasi dari 1 hingga 5, namun ketika nilai variabel i
sama dengan 3, perintah continue
akan dijalankan dan loop akan segera melanjutkan ke iterasi berikutnya. Sehingga, hasil output program hanya menampilkan nilai dari variabel i
yang bukan 3, dan pesan “Loop Selesai”.
Penutup
Demikianlah penjelasan mengenai Bash Loops atau pengulangan pada Bash Linux. Bash Loops merupakan salah satu fitur yang sangat berguna dalam Bash Scripting untuk melakukan pengulangan atau perulangan perintah-perintah secara otomatis. Dengan memahami dan menguasai konsep dan cara kerja Bash Loops, kita dapat mengoptimalkan pekerjaan kita dan mempersingkat waktu dalam menyelesaikan suatu tugas. Semoga penjelasan ini dapat membantu Anda dalam mempelajari Bash Scripting lebih lanjut. Terima kasih telah membaca!