Shell Script – Perhitungan Aritmatik

5 11 2009

Untuk melakukan perhitungan aritmatik, shell tidak memiliki kemampuan
built-in, tetapi meminta bantuan program lain yaitu `expr`. Program expr
berfungsi untuk mengevaluasi suatu expresi baik itu perbandingan string
atau operasi aritmatik sederhana.

Operator aritmatik yang disediakan expr antaran lain:
+———–+———————————————————–+
| Operator | KETERANGAN |
+———–+———————————————————–+
| + | Operator Penjumlahan contoh: expr 1 + 1 |
+———–+———————————————————–+
| – | Operator Pengurangan contoh: expr 10 – 9 |
+———–+———————————————————–+
| * | Operator Perkalian contoh: expr 10 \* 10 |
+———–+———————————————————–+
| / | Operator Pembagian contoh: expr 10 / 2 |
+———–+———————————————————–+
| % | Operator Modulus contoh: expr 15 % 3 |
+———–+———————————————————–+

Selain digunakan untuk perhitungan aritmatik, perintah `expr` juga cukup
handal untuk melakukan manipulasi string, untuk lebih jelas silahkan lihat
halaman manual dari expr dengan mengetikkan `man expr`.

contoh:
Buatlah sebuah shell script untuk menghitung nilai dari argument-1 dikali
argument-2 ditambah argument-3!

jawaban:
Secara matematis perhitungannya adalah

(argument-1 + argument-2) + argument-3.

Tidak seperti bahasa tingkat tinggi, pada shell script untuk memberi
prioritas pada suatu perhitungan kita menggunakan tanda $[ ... ]. Jadi
perhitungannya menjadi

$[ argument-1 + argument-3 ] + argument-3

Keuntungan lain ketika kita menggunakan tanda $[...] adalah kita tidak perlu
melakukan escaping character pada tanda perkalian(*). Berikut ini adalah
shell scriptnya.

bash-2.04$ vi hitung.sh
#!/bin/sh

bil1=$1
bil2=$2
bil3=$3

echo -n “HASIL DARI $bil1 * $bil2 + $bil3 = ”
echo `expr $[ $bil1 * $bil2 ] + $bil3`

bash-2.04$ chmod +x hitung.sh
bash-2.04$ ./hitung.sh 10 10 10

HASIL DARI 10 * 10 + 10 = 110





Shell Script – Variable

5 11 2009

Pemberian variabel pada shell script bersifat ‘dynamic typing’ karena
shell script tidak mengenal adanya tipe data. Pada shell script dikenal
dua istilah variabel yaitu SYSTEM VARIABLE(SV) dan USER DEFINED VARIABLE
(UDV). SV adalah kumpulan variabel yang telah dideklarasikan secara otomatis
oleh shell, sedangkan UDV adalah variabel yang kita buat sendiri. Contoh dari
variabel SV adalah HOME, SHELL, RANDOM, OSTYPE, dan masih banyak yang lain.

Dalam membuat variabel ada beberapa aturan yang harus dipenuhi agar variabel
tersebut dianggap valid oleh shell, syntax untuk penamaan variabel adalah:

nama_variabel=NILAI

Perhatikan bahwa tidak ada spasi antara nama_variabel dengan tanda ‘=’ juga
dengan NILAI. Ini adalah suatu KEHARUSAN. Berikut adalah beberapa aturan
tentang penamaan variabel:

1. Variabel HARUS diawali ABJAD atau _ (tidak dapat diawali angka)
2. Variabel dapat terdiri dari karakter alphanumeric dan _
3. Variabel bersifat CaSe SeNsItIvE
4. Jika isi variabel mengandung spasi sebaiknya apit dengan tanda petik (’)
atau (”).
5. Gunakan escape character (\) untuk karakter non-literal
seperti (\’, \$, \?, dll)

Untuk mencetak nilai dari suatu variabel digunakan tanda dollar ($) didepan
nama variabel, contoh:

bash-2.04$ a=’Hello ‘
bash-2.04$ b=’World!’
bash-2.04$ echo $a$b
Hello World!
bash-2.04$ echo ${a}${b}
Hello World!

Cara yang terakhir adalah cara yang disarankan untuk menghindari kesalahan
dalam melakukan concat string.

Jika anda ingin menyimpan output dari suatu perintah kedalam suatu variabel
gunakan tanda backtick (`). Contoh, kita akan melihat isi direktori home
lalu menyimpannya dalam variabel isi_home.

bash-2.04$ isi_home=`ls /home`
bash-2.04$ echo $isi_home

Dalam shel juga terdapat SPECIAL VARIABEL untuk mendapatkan exit status dari
suatu program. Pada UNIX setiap program dinyatakan selesai TANPA error
apabila exit statusnya SAMA DENGAN 0. Selain itu maka program tersebut
selesai tapi dengan error. Variabel tersebut adalah “$?”.

bash-2.04$ ls /home
bash-2.04$ echo $?
0
bash-2.04$ ls /file/ngawur
bash-2.04$ echo $?
2

Angka 2(TIDAK SAMA DENGAN 0) menunjukkan bahwa program ls keluar dengan
status terjadi error. Penggunaan exit sangat penting saat kita membuat
shell script yang kompleks, dimana didalamnya kita banyak menggunakan
program lain.





Apa itu shell script?!

5 11 2009

Dalam lingkungan unix, kata ’shell’ mengacu pada semua program yang dapat
dijalankan pada command line. Jadi secara sederhana shell script merupakan
kumpulan perintah yang disimpan pada suatu file. Extensi umum yang digunakan
untuk shell script adalah ‘.sh’, sebenarnya hal ini tidak mutlak karena
pada dasarnya unix mengabaikan extensi file.

Shell juga dapat mengacu pada program yang menangani command line itu
sendiri dalam sistem operasi UNIX program tersebut adalah Bourne Shell
(1978 – Steve Bourne) disingkat sh. Dalam sistem operasi GNU/Linux shell yang
menjadi standar adalah Bourne Again Shell(bash). Bash merupakan shell yang
kompatibel dengan sh dan memiliki lebih banyak fitur.

Jika anda ingin menguasai shell script tentu anda harus tahu dan hafal
sedikit banyak perintah dasar command line, seperti mengkopi file(cp),
merename file(mv), mencetak string (echo), melihat file(cat), dan beberapa
perintah dasar lainnya.

Shell script juga menyediakan beberapa fitur yang tersedia pada bahasa
pemrograman tingkat tinggi seperti variabel, percabangan dan perulangan.
Berikut ini adalah contoh sederhana penggunakan shell script:

bash-2.04$ vi hello.sh
#!/bin/sh
echo ‘HELLO WORLD’

Untuk menjalankan ada dua cara, pertama melalui program shell itu sendiri

bash-2.04$ sh hello.sh

Kedua adalah mengeksekusinya secara independen, untuk melakukan hal tersebut
anda harus memberi permission ‘execute’ pada file.

bash-2.04$ chmod +x hello.sh
bash-2.04$ ./hello.sh
HELLO WORLD

Baris pertama #!/bin/sh adalah MUTLAK diperlukan dan HARUS diletakkan pada
BARIS PERTAMA agar file yang anda buat dikenali sistem sebagai shell script.
Tanda ‘#!’ sering disebut ’shebang’ operator. Tanda tersebut menandakan
bahwa file tersebut adalah shell script. Sisanya misal ‘/bin/sh’ adalah
lokasi file binari atau program. Dalam contoh kita menggunakan program
bash ‘/bin/sh’ atau ‘/bin/bash’.

Tanda # jika tidak terletak pada baris dan kolom paling awal akan dianggap
sebagai komentar oleh shell.








Follow

Get every new post delivered to your Inbox.