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