Apa Itu Bash Array?
Bash array adalah struktur data yang dirancang untuk menyimpan informasi secara terindeks. Dengan kata lain, array ini merupakan sekumpulan besar variabel. Tidak seperti array biasa yang digunakan dalam bahasa pemrograman lainnya, bash array bisa menyimpan berbagai jenis elemen. Misalnya, Anda bisa menggunakannya untuk menyimpan string dan angka.
Bash adalah skrip perintah yang paling sering digunakan oleh user Linux untuk melakukan automasi. Dalam proses automasi tugas ini, Anda biasanya harus menangani ribuan elemen. Nah, bash array adalah salah satu solusi yang bisa membantu Anda.
Dengan array ini, Anda bisa mengelola VPS atau server fisik dengan lebih mudah. Tapi, bagaimana cara menggunakan bash array? Apakah mudah digunakan?
Tenang, kami akan menjelaskan semuanya dalam tutorial ini. Selain membahas berbagai jenis bash array, kami juga memberikan beberapa contoh yang mungkin bisa membantu Anda saat menggunakannya.
Pertama, mari lihat jenis-jenis bash array dulu yang terbagi menjadi 2:
- Indexed – array direferensikan melalui bilangan bulat atau angka.
- Associative – array direferensikan melalui string atau rangkaian karakter dan kata.
Ingat, bash tidak mendukung array multidimensi sehingga Anda tidak bisa menambahkan array dalam sebuah array.
Cara Mendeklarasikan Array di Bash
Ada beberapa cara untuk mendeklarasikan array indexed dan associative di bash. Perlu diingat bahwa ukuran bash array tidak perlu dideklarasikan sebelumnya karena array ini tidak memiliki batas maksimum untuk jumlah elemen yang bisa disimpan.
Indexed Array
Kami akan mulai dengan indexed array bash sederhana. Sebagai contoh, kami akan menggunakannya untuk membuat daftar berisi sejumlah alat transportasi.
Opsi pertama adalah mendeklarasikan sebuah array menggunakan shell built-in declare dengan flag -a dan memberikan elemen untuk array tersebut:
declare -a IndexedArray IndexedArray[0]=car IndexedArray[1]=plane IndexedArray[2]=bike
Anda bisa melakukan hal yang sama tanpa declare builtin:
IndexedArray[0]=car IndexedArray[1]=plane IndexedArray[2]=bike
Atau, buat lebih sederhana dengan:
IndexedArray=(car plane bike)
Ingat, indeks dimulai dari urutan 0. Jadi, contoh di atas akan menetapkan indeks 0 pada elemen car dalam array.
Tapi, ada opsi untuk mengatur array dengan indeks:
IndexedArray=([0]='car' [1]='plane' [2]='bike')
Salah satu fitur menarik bash array adalah tidak diperlukannya nomor indeks selanjutnya secara berurutan. Misalnya, Anda bisa mendeklarasikan elemen pertama dan ketiga saja, tapi membiarkan elemen kedua array kosong:
IndexedArray[0]=car IndexedArray[2]=bike
Associative Array
Indexed array tidak memerlukan declare built-in, tapi Anda tidak bisa membuat bash array associative kalau belum mendeklarasikannya:
declare -A AssociativeArray
Lalu, tambahkan nilainya. Ingat, key atau kuncinya harus berupa string:
AssociativeArray[color]=blue AssociativeArray[type]=car AssociativeArray[topspeed]=200
Cara lainnya adalah seperti ini:
declare -A AssociativeArray=( [color]=blue [type]=car [topspeed]=200 )
Cara Menambahkan Variabel ke Bash Array
Tambahkan variabel bash dengan mudah menggunakan operator plus dan sama dengan ( +=). Misalnya, proses untuk indexed array akan terlihat seperti berikut:
IndexedArray=(car plane bike) IndexedArray+=(motorcycle)
Indexed array sekarang memiliki elemen baru. Perhatikan, cara ini ditambahkan ke akhir array. Dengan begitu, elemen motorcycle akan ditambahkan sebagai elemen terakhir.
Untuk associative array, prosesnya sangat mirip. Tapi di sini Anda perlu menentukan kunci serta semua elemennya:
declare -A AssociativeArray AssociativeArray[color]=blue AssociativeArray+=([tyre]=alloy [engine]=bensin)
Cara Merujuk dan Print Elemen Array
User bisa merujuk nilai bash array menggunakan indeks atau kunci elemen. Untuk melakukannya, buat indexed array:
IndexedArray=(car plane bike)
Untuk merujuk variabel array pertama, gunakan syntax berikut:
${IndexedArray[0]}
Gabungkan dengan echo, dan hasilnya akan seperti berikut:
echo ${IndexedArray[0]}
Outputnya akan menunjukkan elemen pertama. Kalau dalam contoh ini adalah car. Logika yang sama berlaku saat merujuk dan print associative array:
declare -A AssociativeArray=( [color]=blue [type]=car [topspeed]=200 ) echo ${AssociativeArray[type]}
Outputnya juga car.
Untuk print seluruh array, gunakan @ sebagai indeks. Skrip lengkapnya seperti berikut:
Anda juga bisa print kunci array sebagai gantinya. Untuk melakukannya, tambahkan tanda seru sebelum nama array:
Cara Menghapus Elemen Bash Array
Cara menghapus elemen bash array mirip dengan cara mereferensikannya. Gunakan indeks atau kunci yang digabungkan dengan unset built-in untuk menghapus elemen array.
Berikut contoh menghapus satu elemen dari indexed array:
Logika serupa berlaku untuk associative array:
Untuk menghapus seluruh array, tentukan unset dengan nama array seperti yang ditunjukkan berikut:
Tidak ada yang ditampilkan karena unset builtin telah menghapus elemen array yang coba Anda print.
Cara Looping melalui Array
Membuat bash for loop merupakan salah satu hal dasar dalam mempelajari tutorial bash script. Anda juga bisa menggunakan loop dengan array. Misalnya, kasus penggunaan paling umum adalah untuk mengulangi setiap item array:
Anda juga bisa menggabungkan kunci dengan elemen array dan print semuanya sekaligus seperti berikut:
Cara Meneruskan Array ke dalam Fungsi
Fungsi menghemat banyak waktu saat membuat skrip. Daripada menulis kode yang sama berulang kali, Anda bisa memanggil fungsi yang sudah ditulis. Di sini, kami akan menggabungkan loop iterasi yang disebutkan sebelumnya dan membuat fungsi darinya:
function Iteration { m=${#IndexedArray[@]} for (( i=0; i<m; i++ )) do echo ${IndexedArray[$i]} done } IndexedArray=(car bike plane) Iteration ${IndexedArray[@]}
Saat fungsi tersebut dijalankan di command line, hasilnya akan seperti berikut:
Kesimpulan
Nah, kini Anda sudah mengetahui apa itu bash array dan cara menggunakannya.
Bash merupakan salah satu bahasa command dan shell yang paling populer untuk server virtual serta server fisik berbasis Linux. Dengan bash array dan bash script, user bisa mengotomatiskan task dan menghemat waktu daripada menggunakan cara manual.
Dalam tutorial ini, kami telah membahas sebagian besar cara pengoperasian array:
- Mendeklarasikan dan membuat indexed array dan associative array.
- Menambahkan dan menghapus variabel dari array.
- Merujuk dan menge-print array.
- Looping melalui array dan meneruskannya ke fungsi.
Semoga berhasil!