NAMA : ASRI PUSPA RINI NIM : 2010-31-078 KELAS: D MATA KULIAH: Perangkat Lunak Jaringan 1 NAMA DOSEN : Yessi Fitriani
TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNIK PLN JAKARTA 2011
for { nama variabel } in { daftar } do mengulangi semua statement antara do dan done done
Pertama tama variabel loop akan menciptakan i dan diberikan daftar nomor dari 1 sampai 5, Shell mengeksekusi pernyataan echo untuk setiap penugasan i. (Ini biasanya dikenal sebagai iterasi) Proses ini akan berlanjut sampai semua item dalam daftar itu tidak selesai, karena hal inilah maka akan terjadi mengulang echo. Untuk lebih jelas coba script berikut:
for (( expr1; expr2; expr3 )) do .. . mengulangi sampai statemen antara do dan done sampai expr2 bernilai benar Done
Guna memperjelasnya dapat kita gunakan contoh berikut:
Statement while
selama kondisi bernilai benar atau zero perintah dalam blok while akan diulang terus syntax: while KONDISI; do perintah; done; contoh script wh1 mencetak bilangan ganjil antara 1-10 #!/bin/bash i=1; while [ $i -le 10 ]; do echo "$i,"; let i=$i+2; done Hasilnya: [fajar@linux$]./wh1 1,3,5,7,9,
Statement Until
jika while akan mengulang selama kondisi benar, lain halnya dengan statement until yang akan mengulang selama kondisi salah. berikut contoh script ut menggunakan until #!/bin/bash i=1; until [ $i -gt 10 ]; do echo $i; let i=$i+1 done Hasilnya: [fajar@linux$]./ut 1,2,3,4,5,6,7,8,9,10, perhatikan kodisi until yang salah [ $i -gt 10], dimana nilai awal i=1 dan akan berhenti apabila nilai i = 11 (bernilai benar) 11 -gt 10.
for (( i = 1; i <= 5; i++ )) ### Outer loop ### do for (( j = 1 ; j <= 5; j++ )) ### Inner loop ### do echo -n $i done echo #### memunculkan baris baru ### done
Sebagai contoh, coba kita buat scrip seperti di bawah ini, kirakira bagaimana hasilnya?
for (( a = 1 ; a <= 9 ; a++ )) do for (( b = 1 ; b <= 9 ; b++ )) do let tot=$a+$b let sel=$tot%2 if [ $sel -eq 0 ] ; then echo -n Putih else echo -n Hitam fi done echo done
Statement builtin case Seperti halnya if statement case digunakan untuk menyeleksi kondisi majemuk, dibanding if, pemakaian case terasa lebih efisien syntax: case WORD in [ [(] PATTERN [| PATTERN]...) COMMAND-LIST ;;]... esac contoh script cs1 #!/bin/bash
clear echo -n "Masukkan nama binatang :"; read binatang; case $binatang in pinguin | ayam | burung ) echo "$binatang berkaki 2" break ;; onta | kuda | anjing ) echo "$binatang berkaki 4" break ;; *) echo "$binatang blom didaftarkan" break ;; esac Hasilnya: [fajar@linux$]./cs1 Masukkan nama binatang : pinguin pinguin berkaki 2
Soal Program : [root@localhost ~]# vi while i=1 while [ $i -le 6 ]; do j=1 while [ $j -le 7 ]; do printf "% 4d" $(( $i * $j )) let j++ done echo "" let i++ done [root@localhost ~]# ./while 1 2 3 4 5 6 7 2 4 6 8 10 12 14 3 6 9 12 15 18 21 4 8 12 16 20 24 28 5 10 15 20 25 30 35 6 12 18 24 30 36 42