Functions¶
Functions adalah merupakan sebuah metode dimana script kode kita disimpan di dalamnya dan bisa kita ambil sebanyak yang kita inginkan. Oke lalu bagaimana dengan struktur dari function di shell scripting, nah seperti inilah strukturnya :
name nah bukti bahwa itu function ditandai dengan kata function, nah ada yang unik dari si shell scripting dimana ketika kita membuat function kita bisa lakukan tanpa kata function di dalam script sehingga kita bisa langsung membuat namanya, contohnya seperti ini Loh heh, semudah itukah? enak banget dong, ya itulah enaknya shell scripting dimana kita bisa melakukan sesimple mungkin, lalu bagaimana dengan contohnya? oke kita ambil contoh simpel aja yang pertama itu tentang penentuan nilai lebih besar dengan struktur yang pertama , kedua kita buat contoh tentang bilangan genap dengan struktur yang kedua, oke kita buat contoh pertama function isGt(){
echo -e "Masukan Angka Pertama: \c"
read angka1
echo -e "Masukan Angka Kedua: \c"
read angka2
if [[ $angka1 -gt $angka2 ]]
then
echo "Angka Terbesar : $angka1"
else
echo "Angka Terbesar : $angka2"
fi
}
isGt
isGt maka cara manggil function cukup isGt saja, dan outputnya akan seperti ini Next kita buat untuk yang kedua dimana kita membuat dengan looping dan mencari angka genap dengan struktur seperti contoh kedua
genap(){
for i in {1..50}
do
if (( $i%2 == 0 ))
then
echo "Ini adalah Genap : $i"
else
echo ""
fi
done
}
genap
Function Variabel¶
Function variabel ialah sebuah functions yang diikuti dengan variabel. Contoh seperti ini function ganjil memiliki variabel isNum dan dia mengikuti dari function yang ada di ganjil. Bagaimana si bang? sepertinya ribet banget, contohnya strukturnya seperti ini
isNum=50
function ganjil(){
for (( i=0; i<=isNum; i++))
do
if (( $i%2 != 0 ))
then
echo "Angka Ganjil : $i"
else
echo
fi
done
}
ganjil
Function Pass Parameter¶
Oke, function pass parameter ialah merupakan metode function yang diikuti oleh argumen yang kita inginkan, biasanya ketika tidak diikuti argumen function ini akan menjadi error. Lalu bagaimana function pass parameter di shell scripting. Oke sebelum berlanjut, sedikit informasi aja sebenarnya metode ini tidak terlalu berguna ketika di production karena shell scripting sendiri berfungsi untuk membuild sebuah sistem melalui command yang ada
$2 $3 dan seterusnya sebanyak parameter yang kalian inginkan, contohnya seperti ini function isMoreFunctionPassParameter(){
echo "Namaku $1 $2"
}
isMoreFunctionPassParameter "Ahmad" "Subarjo"
Function Return Value¶
Oke sama dibahasa pemograman lainnya, di shell scripting terdapat return value juga, dimana fungsinya juga sama untuk mengembalikan data yang ada. Namun di shell scripting cara memanggilnya itu unik dengan menggunakan $?, tetapi secara fungsional tetap saja return value ini sama dengan pass parameter dimana jarang ada yang memakainya. Oke untuk contoh return value di function seperti ini
return: Kiyo: numeric argument required ketika di running. Oke mungkin untuk return seperti ini aja, next kita bahas function recursive Function Recursive¶
Oke sebelum membahas ke pokok materi kita bahas dulu apa si yang dimaksud dengan recursive. Recursive ialah sebuah metode dimana memanggil sebuah progam ke progam lainnya dengan cara memanggil diri sendiri. Nah sama dengan materi function recursive kali ini dimana terdapat dua function yang salah satu functionnya memanggil function lain, lalu memanggil function itu sendiri. Piye si, kok ruwet banget, oke kita kasih contoh flownya seperti ini
function isFunction1(){
echo "Hello World"
isFunction2 "Kiyo"
}
function isFunction2{
echo "Hay my name is $1"
}
isFunction1
isFunction1 menyimpan isFunction2 dan ketika di running manggilnya isFunction1 maka hasilnya dari isFunction1 dan isFunction2, oke coba kita buat progam pengecekan prime number dimana function dua berperan untuk inputanya function isResult(){
isPrime
value=`factor $isNumber | wc -w`
if [[ $value -eq 2 ]]
then
echo "$isNumber bilangan prima"
else
echo "$isNumber bukan bilangan prima"
fi
}
function isPrime(){
echo -e "Enter Number : \c"
read isNumber
}
isResult
recursive function sampai disini saja next kita bahas apa itu local variables Local Variables¶
Local Variables adalah sebuah metode dimana variabel ini hanya bisa diakses oleh lokal saja atau dalam function saja, contohnya semisalnya kita memiliki nama function isName nah di isName ini terdapat sebuah variabel name yang dibuat lokal sehingga yang bisa akses ini adalah function saja. Oke lalu bagaimana contoh dari yang bukan lokal bang, begini contohnya
function isName(){
name=$1
echo "My Name : $name"
}
name="Dias"
echo "My Name : $name => Before"
isName Kiyo
echo "My Name : $name => After"
Maka output yang before itu adalah Dias, lalu print Kiyo, dan yang after itu juga Kiyo
Oke lalu contoh lokal nya itu bisa ditandai dengan kata local sebelum variabelnya, contoh seperti ini
function isName(){
local name=$1
echo "My Name : $name"
}
name="Dias"
echo "My Name : $name => Before"
isName Kiyo
echo "My Name : $name => After"
Maka output yang before itu adalah Dias, lalu print Kiyo, dan yang after itu juga Dias. Kenapa bisa begitu mas? ya karena si variabel name telah di setting local yang dimana hanya bisa diakses dengan function saja
Dibuat: September 23, 2022