Tugas Sistem Operasi
Nama : Wahyudi Nugroho
NIM : 201281159
Tugas : 6
Sesi : 02
1. Apa yang Dimaksud Dengan Pemrograman Shell?
Pemrograman shell Yaitu menyusun atau mengelompokkan beberapa perintah
shell (internal atupun eksternal command) menjadi kumpulan perintah
yang melakukan tugas tertentu sesuai tujuan penyusunnya. Kelebihan shell
di linux dibanding sistem operasi lain adalah bahwa shell di linux
memungkinkan kita untuk menyusun serangkaian perintah seperti halnya
bahasa pemrograman (interpreter language), melakukan proses I/O,
menyeleksi kondisi, looping, membuat fungsi, dsb.
2. Dasar-Dasar Pemrograman Shell
Berikut adalah beberapa perintah dasar dalam shell programming di linux
· cd, pwd, times, alias, umask, exit, logout, fg, bg, ls, mkdir, rmdir, mv, cp, rm, clear, ...
· utilitas seperti cat, cut, paste, chmod, lpr,...
·
redirection (cara mengirim output ke file atau menerima input dari
file), menggunakan operator redirect >, >>, <,<<,
contohnya:
ls > data
hasil ls dikirim ke file data, jika file belum ada akan dibuat tetapi jika sudah ada isinya akan ditimpa.
ls >> data
hampir sama, bedanya jika file sudah ada maka isinya akan ditambah di akhir file.
cat < data
file data dijadikan input oleh perintah cat
· pipa (output suatu perintah menjadi input perintah lain), operatornya : | , contoh:
ls -l | sort -s
ouput perintah ls -l (long) menjadi input perintah sort -s (urutkan secara descending), mending pake ls -l -r saja :-)
ls -l | sort -s | more
cat <data | sort > databaru
3. Manajemen Input & Output Pada Shell
I/O merupakan hal yang mendasar dari kerja komputer karena kapasitas
inilah yang membuat komputer begitu berdayaguna. I/O yang dimaksud
adalah device yang menangani masukan dan keluaran, baik itu berupa
keyboard, floppy, layar monitor,dsb. sebenarnya kita telah menggunakan
proses I/O ini pada contoh -contoh diatas seperti statement echo yang
menampilkan teks atau informasi ke layar, atau operasi redirect ke ke
file. selain echo, bash menyediakan perintah builtin printf untuk
mengalihkan keluaran ke output standard, baik ke layar ataupun ke file
dengan format tertentu, mirip statement printf kepunyaan bahasa C atau
perl. berikut contohnya:
- Input
#!/bin/bash
#rd1
echo -n "Masukkan Nama Anda :"
read nama;
echo "Hi $nama, apa kabar mu";
echo "Pesan dan kesan anda:";
read
echo "kata $nama, $REPLY";
- Output Dengan Printf
#!/bin/bash
#pr1
url="pemula.linux.or.id";
angka=32;
printf "Hi, Pake printf ala C\n\t\a di bash\n";
printf "My url %s\n %d decimal = %o octal\n" $url $angka
$angka;
printf "%d decimal dalam float = %.2f\n" $angka $angka
4. Variabel Pada Shell
variabel shell adalah variabel yang dapat mempunyai nilai berupa
nilai string. tata penulisan variabel adalah sebagai berikut :
nama_var=nilai_var variabel harus dimulai oleh huruf alfabet, disusul
dengan alfanumerik dan karakter lain. variabel dapat ditulis dengan
huruf besar atau kecil atau gabungan keduanya. shell membedakan huruf
besar dan huruf kecil (case sensitive)
contoh:
vpt =poltek => ##error
vpt= poltek => ##error
untuk
melihat nilai/isi dari sebuah variable, gunakan tanda $ didepan nama
variable tersebut. pada shell, instruksi echo dapat menampilkan isi
variable tersebut.
contoh :
vpt=poltek
echo $vpt
gaji=5000000
echo $gaji
echo $vpt $gaji
bila
menggunakan string yang terdiri dari lebih dari satu kata, maka string
tersebut harus berada dalam tanda kutip atau apostrof, contoh:
vpt=poltek, vpt2="poltek elektronika ITS"
5. Struktur Kontrol Pada Shell
Statement builtin if berfungsi untuk melakukan seleksi berdasarkan suatu kondisi tertentu.
syntax :
if test-command1;
then
perintah1;
elif test-command2;
then
perintah2;
else
alternatif_perintah;
fi
contoh script if1:
#!/bin/bash
#if1
clear;
if [ $# -lt 1 ];
then
echo "Usage : $0 [arg1 arg2 ...]"
exit 1;
fi
echo "Nama script anda : $0";
echo "Banyak argumen : $#";
echo "Argumennya adalah: $*";
statement
dalam blok if...fi akan dieksekusi apabila kondisi if terpenuhi, dalam
hal ini jika script if1 dijalankan tanpa argumen. kita tinggal membaca
apakah variabel $# lebih kecil (less than) dari 1, jika ya maka eksekusi
perintah di dalam blok if ..fi tsb. perintah exit 1 akan mengakhiri
jalannya script, angka 1 pada exit adalah status yang menandakan
terdapat kesalahan, status 0 berarti sukses, anda dapat melihat isi
variabel $? yang menyimpan nilai status exit, tetapi jika anda
memasukkan satu atau lebih argumen maka blok if...fi tidak akan
dieksekusi, statement diluar blok if..filah yang akan dieksekusi.
contoh script if2:
#!/bin/bash
kunci="bash";
read -s -p "Masukkan Password Anda: " pass
if [ $pass==$kunci ]; then
echo "Selamat, anda layak dapat linux"
else
echo "Maaaaf, Anda Gagal";
fi
6. Array Pada Shell
Array pada shell adalah kumpulan variabel dengan tipe sejenis, dimana
array ini merupakan feature Bash yang cukup indah dan salah satu hal
yang cukup penting dalam bahasa pemrograman, anda bisa membayangkan
array ini sebagai tumpukan buku - buku dimeja belajar. lebih jelasnya
sebaiknya lihat dulu contoh script berikut:
#!/bin/bash
#array1
benda=(Pensil,Buku,Penggaris);
echo ${benda[*]}
7. Function Pada Shell
merupakan bagian script atau program yang berisi kumpulan beberapa
statement yang melaksanakan tugas tertentu. dengan subrutin kode script
kita tentunya lebih sederhana dan terstruktur, karena sekali fungsi
telah dibuat dan berhasil maka akan dapat digunakan kapan saja kita
inginkan. beberapa hal mengenai fungsi ini adalah:
Memungkinkan kita menyusun kode script ke dalam bentuk modul-modul kecil yang lebih efisien dengan tugasnya masing-masing.
Mencegah penulisan kode yang berulang - ulang.
untuk
membuat subrutin shell telah menyediakan keyword function seperti pada
bahasa C, akan tetapi ini bersifat optional (artinya boleh digunakan
boleh tidak).
syntax :
function nama_fungsi() { perintah; }
contoh :
#!/bin/bash
function say_hello() {
echo "Hello, apa kabar"
}
#panggil fungsi
say_hello;
#panggil sekali lagi
say_hello;