Tutorial Bash Shell Scripting : Functions

Tutorial Bash Shell Scripting : Functions - Hallo bertemu lagi, sejauh ini apakah anda masih semangat untuk belajar bahasa pemograman bash shell? Saya harap iya, di bagian sebelumnya kita sudah belajar konsep loop  di bash shell. Nah, sekarang kita akan belajar bash shell lagi dan kita sudah menginjak ke bagian functions.

Tutorial Bash Shell Scripting : Functions

Tutorial Bash Shell Scripting : Functions

Functions

Functions berguna untuk mempermudah anda mengulangi sebuah kode tertentu, dan ini bertujuan untuk menghemat penulisan sebuah kode, saya akan memberikan basic syntax dalam pembuatan function di bash shell.
nama_function () {
   <commands>
}
Atau anda bisa menulisnya seperti ini.
function nama_function {
   <commands>

Beberapa Point Yang Harus di Ingat !

  1. Kedua metode di atas sama sama valid, diantara keduanya tidak memiliki kelebihan atau kekurangan, anda bisa memilih salah satu dan itu tergantung anda sendiri mau pilih yang mana.
  2. Di beberapa bahasa pemograman argumen biasanya di letakkan di dalam tanda kurung () , tetapi di bash shell tidak seperti itu, dan anda tidak pernah bisa melakukan itu terhadap function bash shell.
  3. function harus diletakkan sebelum pemanggilan function itu sendiri.

Contoh Kode :

#!/bin/bash
#
# basic example

print_helloworld () {
        echo "Hello World"
}

# cara memanggil sebuah function
print_helloworld
print_helloworld
OUTPUT :
$ ./function
Hello World
Hello World

Passing Arguments

Seperti bahasa pemograman lainnya, di function bash shell anda bisa passing arguments.

Contoh Kode:

#!/bin/bash
#
#

print_anu () {
        echo "Hello $1"
        echo "Welcome to Myworld $1"
}

print_anu "MaxRooted"
# print_anu = pemanggilan function
# "MaxRooted" = argument
OUTPUT :
$ ./function
Hello MaxRooted
Welcome to Myworld MaxRooted

Return Values

Kita dapat meneruskan sebuah local variable yang ada di dalam sebuah function bash shell dengan menggunakan keyword atau statement return, lalu nilai dari variable tersebut disimpan ke variable defaultnya yaitu $?, Returning values di bash shell tidak seperti bahasa pemograman lainnya, bash shell tidak bisa returning variable lebih dari satu.

Contoh Kode :

#!/bin/bash
#
#

myfunction () {
   echo "Basic example return value by $1"
   return 5
}

myfunction "MaxRooted"
echo "The Return Value is $?"
OUTPUT :
$ ./function
Basic example return value by MaxRooted
The Return Value is 5
Contoh Kode :
#!/bin/bash
#
#

penjumlahan () {
        sum=$(($num1+$num2))
        return $sum
}

read -p "Masukkan angka ke-1: " num1
read -p "Masukkan angka ke-2: " num2
penjumlahan $num1 $num2
echo "Hasilnya adalah : $?"
OUTPUT :
$ ./function
Masukkan angka ke-1: 30
Masukkan angka ke-2: 20
Hasilnya adalah : 50

Variable Scope

Secara default variable yang sudah anda buat selama ini adalah variable global, tetapi anda juga bisa membuat sebuah variable local di dalam sebuah function dan yang hanya bisa terlihat dan dibaca oleh function tersebut.  Untuk membuat variable tersebut anda cukup tambahkan keyword/statement local sebelum nama variable, sebagai contoh.
local nama_variable=<value>
Ini untuk mencegah pengubahan secara tidak sengaja oleh skrip lain, dan ini cukup membantu.

Contoh Kode :

#!/bin/bash
#
#
var_scope () {
        local namaku="Max"
        echo "Ketika function dipanggil namaku $namaku dan temanku $temanku"
        temanku="Alex"

}

# global variable disini
namaku="MaxRooted"
temanku="Asep"
# sebelum function dipanggil
echo "Sebelum function dipanggil namaku $namaku dan temanku $temanku"
# function dipanggil
var_scope
# sesudah function dipanggil
echo "Sesudah function dipanggil namaku $namaku dan temanku $temanku"
OUTPUT :
$ ./function
Sebelum function dipanggil namaku MaxRooted dan temanku Asep
Ketika function dipanggil namaku Max dan temanku Asep
Sesudah function dipanggil namaku MaxRooted dan temanku Alex

Pahami kode diatas, mungkin akan sedikit sulit tetapi saya berharap anda tidak akan menyerah dan terus berfikir keras ! wkwkk...

Comments