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


Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s




Follow

Get every new post delivered to your Inbox.