• Tidak ada hasil yang ditemukan

Expresi dan Test. Praktikum 5 A. T U J U A N B. DASAR TEORI. Operator Kondisi

N/A
N/A
Protected

Academic year: 2021

Membagikan "Expresi dan Test. Praktikum 5 A. T U J U A N B. DASAR TEORI. Operator Kondisi"

Copied!
9
0
0

Teks penuh

(1)

Expresi dan Test

Praktikum

5

A. T U J U A N

1. Menggunakan statement built-in pada system linux untuk menyelesaikan permasalahan matematika.

2. Menggunakan statement Let dan ekspresi atau perintah subtitusi untuk perkalian, penjumlahan, pengurangan dan pembagian serta hasil bagi. 3. Menggunakan perintah Test untuk memeriksa informasi tentang suatu file

dan melakukan perbandingan suatu nilai baik string ataupun numerik.

B. DASAR TEORI

Ekspresi

Ekspresi pada bahasa-bahasa tingkat tinggi terbagi atas dua macam yaitu ekspresi kondisi dan ekspresi aritmatika. Kedua macam ekspresi ini menggunakan operator.

Operator Kondisi

|| atau (OR)

&& dan (AND) ! tidak(NOT)

Konstanta kondisi ada dua: 0 untuk kondisi salah (FALSE) dan 1 untuk kondisi benar (TRUE). Sedangkan untuk operator relasi yang menghasilkan TRUE atau FALSE sebagai berikut:

(2)

Operator Relasi

== sama dengan

!= tidak sama dengan

=~ sama dengan untuk string !~ tidak sama dengan untuk string

<= lebih kecil atau sama dengan >= lebih besar atau sama dengan > lebih besar

< lebih kecil

Operator yang berhubungan dengan aritmatika adalah: Perkalian *

Pembagian /

Penjumlahan +

Pengurangan -

Modulo (sisa hasil bagi) %

Contoh:

($#argv > 2 || $#argv == 0) jumlah parameter sama dengan 0 atau lebih dari dua

($1 =~ -*) parameter pertama dimulai dengan – (strip)

($nama !~ *.c) nama tidak diakhiri dengan .c

Untuk operasi matematika ada 3 cara yang dapat digunakan, dengan statement builtin let atau expr atau perintah subtitusi seperti contoh berikut:

#memakai let

let jumlah=$a+$b #memakai expr

bagi=`expr $a / $b`

#memakai perintah subtitusi $((ekspresi)) modul =$(($a%$b))

(3)

fungsi expr begitu berdaya guna baik untuk operasi matematika ataupun string contohnya:

$ mystr="linux" $ expr length $mystr 5

Selain itu Bash pada system linux juga menyediakan statement declare dengan opsi -i hanya untuk data integer (bilangan bulat). Contohnya:

declare -i angka angka=100;

Apabila variabel yang dideklarasikan menggunakan declare -i ternyata nilainya string (karakter), maka Bash akan mengubahnya ke nilai 0, tetapi jika tidak menggunakannya maka dianggap sebagai string.

Test

Test adalah utility sh shell yang berguna untuk memeriksa informasi tentang suatu file dan berguna untuk melakukan perbandingan suatu nilai baik string ataupun numerik

syntaxnya: test ekspresi atau [ expression ]

Proses kerja test yaitu dengan mengembalikan sebuah informasi status yang dapat bernilai 0 (benar) atau 1 (salah) dimana nilai status ini dapat dibaca pada variabel spesial $?.

$ test 5 -gt 3 $ echo $?

0

pernyataan 5 -gt (lebih besar dari) 3 yang dievaluasi test menghasilkan 0 pada variabel status $? itu artinya pernyataan tersebut adalah benar, selanjutnya hasil dari evaluasi dengan expresi berikut

$ test 3 -lt 1 $ echo $?

(4)

status bernilai 1, berarti pernyataan salah.

Simbol -gt dan –lt pada contoh diatas disebut sebagai operator, secara sederhana operator adalah karakter khusus (spesial) yang melakukan operasi terhadap sejumlah operand, misalkan 2+3, "+" adalah operator sedangkan 2 dan 3 adalah operandnya, pada contoh test diatas yang bertindak sebagai oparatornya adalah -lt dan -gt, sedangkan bilangan disebelah kiri dan kanannya adalah operand. cukup banyak operator yang disediakan bash antara lain (dapat dilihat dengan man bash atau info bash di prompt shell):

1. Operator untuk integer

Operator Keterangan

bil1 -eq bil2 Mengembalikan Benar jika bil1 sama dengan bil2 bil1 -ne bil2 Benar jika bil1 tidak sama dengan bil2

bil1 -lt bil2 Benar jika bil1 lebih kecil dari bil2

bil1 -le bil2 Benar jika bil1 lebih kecil atau sama dengan bil2 bil1 -gt bil2 Benar jika bil1 lebih besar dari bil2

bil1 -ge bil2 Benar jika bil1 lebih besar atau sama dengan bil2

2. Operasi string

Operator Keterangan

-z STRING Mengembalikan Benar jika panjang STRING adalah zero

-n STRING Mengembalikan Benar jika panjang STRING adalah non zero

STRING1 ==

STRING2 Benar jika STRING1 sama dengan STRING2

3. Operator file

Operator Keterangan

-f FILE Mengembalikan Benar jika FILE ada dan merupakan file biasa -d FILE Benar jika FILE ada dan merupakan direktory

4. Operator logika

(5)

ekspr1 -a ekspr2 Benar jika ekspresi1 dan ekspresi2 benar (and,&&) ! ekspresi Mengembalikan Benar jika ekspresi tidak benar (not!)

C. PROSEDUR

1. Masuk ke sistem operasi Linux. 2. Login sebagai stD3XXYYY.

3. Gunakan statement pada shell : Let , Expresi , Subtitusi dan Test.

4. Catatlah hasil dari setiap perintah pada prosedur no.3 sebagai laporan sementara.

D. PERCOBAAN

Percobaan 1 : Menggunakan let

1. Operasi aritmatika (Perkalian) $ vi arit1.sh

#!/bin/bash let a = 4*5 echo $a

2. Operasi aritmatika (Pembagian) $ vi arit2.sh

#!/bin/bash let a = 20/5 let hasil = “$a” echo $hasil

3. Operasi aritmatika (Penjumlahan) $ vi arit3.sh

#!/bin/bash let 20 + 5

let “hasil = 20 + 5” echo $hasil

4. Operasi aritmatika (Pengurangan) dengan perintah input read $ vi arit4.sh

#!/bin/bash

echo –n “input bil-1 = “ read b

echo –n “input bil-2 = “ read c

(6)

let hasil = “$b - $c”

echo “Hasil pengurangan = $hasil” 5. Kombinasi operasi aritmatika

$ vi arit5.sh #!/bin/bash

let x = 100 let y = 25

let “jumlah = x+y” let “kurang = x-y” let “perkalian = x*y” let “bagi = x/y”

echo $jumlah echo $kurang echo $perkalian echo $bagi

6. Perhitungan nilai tukar rupiah $ vi arit6.sh

#!/bin/bash

echo –n “Masukkan nilai rupiah = “ read r

let “USD = r/9000” let “YEN= r/3000” let “PESO = r/1750”

echo “Nilai dolar = “$USD echo “Nilai yen = “$YEN echo “Nilai peso = “$PESO

Percobaan 2 : Menggunakan expresi dan subtitusi

1. Perintah expresi dan subtitusi pada operasi aritmatika $ vi expres1.sh #!/bin/bash #mat1 a=10 b=5 #memakai let let jumlah=$a+$b let kurang=$a-$b let kali=$a*$b #memakai expr bagi=`expr $a / $b`

#memakai perintah subtitusi $((ekspresi)) mod=$(($a%$b)) #sisa pembagian echo "$a+$b=$jumlah"

(7)

echo "$a-$b=$kurang" echo "$a*$b=$kali" echo "$a/$b=$bagi" echo "$a%$b=$mod“

2. Fungsi expr untuk operasi matematika ataupun string $ mystr="linux"

$ expr length $mystr

3. Fungsi expr untuk perhitungan aritmatika dan string $ expr \( 5 \* 9 \)% 4

$ tty

$ expr `tty` : "/dev/tty\(.. \ )"

4. Statement declare dengan opsi -i untuk data integer (bilangan bulat). $ vi decl.

sh

#!/bin/bash

declare -i angka angka=100;

echo $angka;

5. Menggunakan Command subtitusi dengan fungsi expr $ frames=`expr 5 + 13`

$ count=10

$ count=`expr $count + 1` $ echo $frames $count

Percobaan 3 : Menggunakan test

1. Menggunakan statement test dengan operator integer $ test 5 -gt 3

$ echo $?

$ test 3 -lt 1 $ echo $?

2. Menggunakan statement test dengan operator untuk mengetahui kondisi nilai suatu variable

$ vi test.sh #!/bin/sh

if [ "$X" -lt "0" ] then

echo "X is less than zero" fi

if [ "$X" -gt "0" ]; then echo "X is more than zero" fi

[ "$X" -le "0" ] && \

(8)

[ "$X" -ge "0" ] && \

echo "X is more than or equal to zero" $ X=5

$ export X $ ./test.sh

3. Meggunakan statement test dengan operator untuk mengetahui kondisi string

$ vi test1.sh # String test.

echo “**** String comparisons.”

string=”In Xanadu did Kublai Khan...” # Note quotes around multi-word string. echo -n “test -z: “

if (test -z “$string”) then

echo “Length of \$string is zero.” else

echo “Length of \$string is NOT zero. Expected.” fi

echo -n “test -n: “

if (test -n “$string”) then

echo “Length of \$string is NOT zero. Expected.” else

echo “Length of \$string is zero.” fi

4. Menggunakan statement test dengan operator file $ if test –r /etc/motd

> then

> echo Readable > fi

$ [ -d /bin ] && echo /bin is a directory

E. Latihan

1. Buatlah program bash script untuk menghitung resistansi total dari rangkaian seri-paralel (campuran) 3 resistor jika diketahui nilai resistornya R1 = 5 ohm, R2 dan R3 = 10 ohm.

2. Buatlah program bash script untuk mengetahui variabel X berisi angka atau string dengan ketentuan sebagai berikut:

a. jika variabel diberi nilai angka 0 atau lebih besar dari 0, maka ditampilkan

(9)

b. jika variabel diberi nilai string "Hello" , maka ditampilkan pesan

X adalah string yang sesuai dengan kata Hello

c. jika selain keduanya, maka ditampilkan isi dari variabel tersebut

3. Buatlah program bash script untuk membandingkan dua bilangan yang terdapat pada variabel X dan Y, sehinggah diperoleh hasil X=Y atau X != Y (X tidak sama dengan Y).

Referensi

Dokumen terkait

Seorang wanita, usia 50 tahun, datang ke puskesmas dengan keluhan kaki tidak dapat berjalan sejak 3 minggu yang lalu. Riwayat sebelumnya pasien sering keputihan berbau

Penulis panjatkan puji syukur alhmdulillah kehadirat Allah SWT yang telah melimpahkan rahmat, taufik dan hidayah-Nya serta memberikan kekuatan, ketabahan,

Dengan demikian di dalam penyelesaian perkara pidana yang menyangkut tubuh, kesehatan dan nyawa manusia seperti kasus pembunuhan yang menyebabkan kematian pemeriksaan

4 Siswa dapat menjelaskan tentang upaya yang dapat dilakukan untuk menjaga sistem Siswa dapat menjelaskan tentang upaya yang dapat dilakukan untuk menjaga

Kegiatan shalawat tersebut kemudian menjadi rutinitas seminggu dua kali yakni setiap malam selasa dan sabtu, sehingga oleh Gus Hafidz bersama Majelis Syubbanul

MEMPERHATIKAN : Hasil Lokakarya Asosiasi Lembaga Pendidikan Tenaga Kependidikan Perguruan Tinggi Muhammadiyah Program Studi Pendidikan: Pendidikan Bahasa Inggris,

Berdasarkan tabel di atas didapatkan bahwa untuk soal butir D1 (Apakah anda mengetahui penggunaan antibiotik yang tidak sesuai aturan pakai dapat menyebabkan efek

pemilik proyek atau owner adalah seseorang atau instansi yang memiliki proyek atau pekerjaan dan memberikanya kepada pihak lain yang mampu melaksanakanya sesuai dengan