Sabtu, 27 Juni 2015

Basis Data Terdistribusi

Linux Shell Programming (Vi)

Shell programming adalah file teks biasa yang dibuat dengan menggunkan text editor yang ada di linux (via, emacs, pico, kate, gedit, dsb) dalam penulisan ini menggunakan teks editor vi, agar hasil program bias berjalan maka sintaks penulisan program harus benar dan user mendapat hak akses untuk mengeksekusi file
Contoh Program sederhana :
[linux@mahmuda]# vi echo.sh
#program sederhana
echo “hello World”
clear
setelah itu keluar dari vi dan save dengan menekan tombol Esc kemudian ZZ atau :wq
lalu rubah hak akses file echo.sh
[linux@mahmuda]## chmod a+x echo.sh
jalankan program dengan
[linux@mahmuda]# ./echo.sh
penjelasan :
# digunakan untuk kementar (tidak ikut di eksekusi)
echo digunakan untuk mencetak karakter ke layar
clear membersihkan layar

VARIABLE
Variable adalah suatu nama yang dapat digunakan untuk menempung suatu nilai dan nilai yang ada padanya dapat diubah
Contoh hello world menggunakan variable :
STR=”Hello World!”
echo $STR

penjelasan :
memasukkan tulisan hello world ke variable STR, kemudian $STR menampilkan isi dari variable STR bukan mencetak karakter STR

Contoh penggunaan variabel dan konstanta :
clear
echo –n “Masukkan nama anda : “
read nama
echo –n “Masukkan alamat anda : “
read alamat
kota=”Jember”
clear
echo “Data yang anda masukkan”
echo “Nama : $nama”
echo “Alamat : $alamat”
echo “Kota : $kota”
penjelasan :
read berfungsi untuk menerima inputan dari keyboard

Program penambahan dua bilangan :
echo -n “masukkan suku pertama : ”
read s1
echo -n “masukkan suku kedua : ”
read s2
hasil=`expr $s1 + $s2`
echo “$hasil”
Penjelasan :
Jika melakukan operasi matematika seperti +, -, x harus menggunakan expr dan berada di dalam tanda petik

KONDISI
Kondisi digunakan untuk menghasilkan nilai balik. Untuk melakukan pemeriksaan kondisi dapat menggunakan tanda test, berikut macam macam perbandingan nilai :
-eq : sama dengan (=)
-ge : lebih besar sama dengan (>=)
-gt : lebih besar (>)
-le : lebih kecil sama dengan (<=)
-lt : lebih kecil (<)
contoh :
test 10 -lt 1
echo $?
test 10 -gt 1
echo $?

if then else
biasanya digunakan untuk menentukan percabangan
bentuk penulisan :
if kondisi
then
statement
else
statement
fi

contoh penggunaan if :
echo –n “masukkan sebuah angka : ”
read angka
if test `expr $angka % 2` -eq 0
then
echo “bilangan $angka adalah genap”
else
echo “bilangan $angka adalah ganjil”
fi


PERULANGAN/LOOPING
until do done
biasanya digunakan untuk perulangan, di dalam until perulangan akan terus dilakukan sampai kondisi bernilai benar
bentuk penulisan :
until kondisi
do
statement
done
contoh penggunaan until :
echo “masukkan angka : ”
read angka
counter=1
until test $counter -gt $angka
do
echo -n ” -”
echo -n “$counter”
echo -n “- ”
counter=`expr $counter + 1`
done
echo

while do done
digunakan untuk perulangan, namun berbeda dengan until dimana pada while pengulangan akan terus dilakukan selama kondisi bernilai benar
bentuk penulisan :
while kondisi
do
statement
done
contoh penggunaan while :
echo “masukkan angka : ”
read angka
counter=1
while test $counter -le $angka
do
echo -n ” -”
echo -n “$counter”
echo -n “- ”
counter=`expr $counter + 1`
done
echo

contoh program membuat user :
a=1
while test $a -le 5
do
useradd user$a
smbpasswd -a user$a
let a=$a+1
done

for do done
di gunakan untuk perulangan
echo “masukkan angka : ”
read angka
counter=1
for cetak in `seq 1 $angka`
do
echo -n “-”
echo -n “$cetak”
done
contoh nested loop mengunakan for dan while
echo -n “masukkan angka : ”
read angka
counter=1
for cetak in `seq 1 $angka`
do
while test $cetak -le $angka
do
echo -n ”  $cetak”
cetak=`expr $cetak + 1`
done
echo “”
done

case in esacdigunakan untuk pemilihan
bentuk penulisan :
case $variable in
option-1)
statement
;;
option-2)
statement
;;
option-n)
statement
;;
esac

contoh program dengan case :
tampilan() {
for posisi in `seq 1 80`
do
tput cup 1 $posisi
echo -n “*”
tput cup 25 $posisi
echo -n “*”
done
for posisi in `seq 1 25`
do
tput cup $posisi 1
echo -n “*”
tput cup $posisi 80
echo -n “*”
done
for posisi in `seq 20 60`
do
tput cup 10 $posisi
echo -n “-”
tput cup 8 $posisi
echo -n “*”
tput cup 17 $posisi
echo -n “*”
done
for posisi in `seq 8 17`
do
tput cup $posisi 20
echo -n “*”
tput cup $posisi 60
echo -n “*”
done
tput cup 9 22
echo -n “MENU”
tput cup 11 22
echo -n “1.Program Penjumlahan”
tput cup 12 22
echo -n “2.Program Ganjil Genap”
tput cup 13 22
echo -n “3.Program Bintang”
tput cup 14 22
echo -n “4.Buat User”
tput cup 15 22
echo -n “5.Exit”
tput cup 16 22
echo -n “Enter Your Choices:”
}
program_penjumlahan(){
clear
tput cup 10 22
echo -n “Masukkan Angka1:”
read angka1
tput cup 11 22
echo -n “Masukkan Angka2:”
read angka2
hasil=`expr $angka1 + $angka2`
tput cup 13 22
echo -n “Hasil penjumlahan angka1 dan 2 adalah $hasil”
read
main
}
program_ganjil_genap(){
clear
tput cup 10 22
echo -n “Masukkan angka:”
read angka3
if test `expr $angka3 % 2` -eq 0
then
tput cup 12 22
echo -n “bilangan genap”
read
main
else
tput cup 12 22
echo “bilangan ganjil”
read
main
fi
}
program_bintang(){
clear
tput cup 10 22
echo -n “Masukkan angka:”
read angka4
for posisi in `seq 1 $angka4`
do
posisi2=`expr $posisi + 21`
tput cup 12 $posisi2
echo -n “*”
done
read
main
}
buat_user(){
clear
tput cup 10 22
echo -n “Masukkan jumlah user”
read user
clear
for ulang in `seq 1 $user`
do
clear
posisi3=`expr $ulang + 1`
tput cup $posisi3 2
echo -n “masukkan user ke $ulang:”
read daftaruser
hasil=`more /etc/shadow | grep $daftaruser`
while [ ! -p $hasil ]
do
echo “user sudah ada, coba yang lain”
read
clear
tput cup $posisi3 2
echo -n “masukkan user ke$ulang:”
read daftaruser
hasil=`more /etc/shadow | grep $daftaruser`
done
adduser $daftaruser
passwd $daftaruser
done
}
main(){
clear
if ((kondisi==1))
then
tput cup 22 22
echo -n “Pilih angka 1-5″
fi
tampilan
read pilihan
if ((pilihan==1))
then
kondisi=0
program_penjumlahan
elif ((pilihan==2))
then
kondisi=0
program_ganjil_genap
elif ((pilihan==3))
then
kondisi=0
program_bintang
elif ((pilihan==4))
then
kondisi=0
buat_user
elif ((pilihan==5))
then
kondisi=0
clear
exit
else
kondisi=1
main
fi
}
main


Tidak ada komentar:

Posting Komentar