Pemrograman Shell
Pemrograman Shell
Pemrograman Shell
Kelompok 5
3 D4 Teknik Komputer B
POKOK BAHASAN:
Pemrograman Shell
TUJUAN BELAJAR:
(1) Awal dari program shell, komentar awal ini akan dibaca oleh system,
kemudian system mengaktifkan program shell (/bin/sh) yang tertera di
situ. Program shell dapat dipilih, misalnya /bin/csh, /bin/ksh dan lainnya
(2) Adalah komentar, sebagai dokumentasi, baris ini akan diabaikan oleh
program shell
(3) Penggunaan variabel (assignment), tidak boleh ada spasi di antara nama
variabel dan konstanta
2. VARIABEL
Variabel shell adalah variabel yang dapat mempunyai nilai berupa nilai
String. Tata penulisan variabel adalah sebagai berikut :
nama_var = nilai_var
Variabel harus dimulai dengan alphabet, disusul dengan alfanumerik dan
karakter lain. Variabel dapat ditulis dalam huruf kecil atau huruf besar atau
campuran keduanya. Shell membedakan huruf besar dan huruf kecil (case
sensitive), contoh :
VPT =poltek
i=5
Pemberian nilai variabel tidak boleh dipisahkan dengan spasi, karena shell
akan menganggap pemisahan tersebut sebagai parameter, contoh :
VPT =poltek ##error
VPT= poltek ##error
Untuk melihat nilai/isi dari sebuah variabel, gunakan tanda $ di depan nama
variabel tersebut. Pada shell, instruksi echo dapat menampilkan isi variabel
tersebut, contoh :
VPT=poltek
echo $VPT
gaji=450000
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”
3. MEMBACA KEYBOARD
Nilai variabel dapat diisi melalui keyboard (stdin) dengan instruksi read.
4. PARAMETER
Sebuah program shell dapat mempunyai parameter sebanyak 9 buah dan
direpresentasikan melalui variabel khusus yaitu variabel $!, $2, $3, $4, $5, $6, $7,
$8 dan $9. Nama program shell (nama script) direpresentasikan melalui variabel
$0.
Jumlah parameter dinyatakan sebagai $#. Bila tidak memberikan parameter,
maka nilai $# adalah 0.
Shell variabel $* menyatakan seluruh string yang menjadi parameter /
argument sebuah script ($@ mempunyai arti yang sama). $$ menyatakan nomor
proses id (pid) dari script yang dijalankan. PID ini akan terus berubah (umumnya)
menarik, setiap kali proses berjalan.
5. STATUS EXIT
Setiap program selesai dieksekusi akan memberikan informasi melalui
variabel special $?. Indikasi yang diberikan adalah :
Bila program berakhir dengan sukses, $? = 0
Bila program berakhir dengan error, $? ≠ 0
Nilai dari status exit dapat dilihat melalui instruksi exho $?
6. KONSTRUKSI IF
If akan mengeksekusi instruksi awal, dan exit status dari instruksi tersebut
akan menjadi kondisi. Bila 0, maka instruksi selanjutnya masuk ke dalam blok
then. Bila tidak 0, maka alur program diteruskan setelah kunci kata fi.
Bila status exit tidak sama dengan 0, maka kondisi menjadi FALSE
dan instruksi setelah else akan dijalankan.
8. INSTRUKSI TEST
Instruksi test digunakan untuk memeriksa kondisi dari sebuah ekspresi.
Ekspresi terdiri dari factor dan operator yang dipisahkan oleh spasi. Hasil test
akan memberikan nilai berupa status exit, yaitu 0 bila ekspresi sesuai, bila tidak
maka hasil ≠ 0.
Operator untuk test
Instruksi1 || instruksi2
Shell akan mengeksekusi instruksi1, bila exit status adalah TRUE(0). Hasil
dari OR tersebut sudah pasti menghasilkan TRUE, terlepas dari hasil
eksekusi instruksi2. Oleh karena itu instruksi2 tidak perlu dijalankan. Bila
hasil instruksi1 adalah FALSE, maka instruksi2 akan dijalankan.
AND : symbol –a
OR : symbol –o
Bila status exit tidak sama dengan 0, maka kondisi menjadi FALSE dan
instruksi setelag else akan dijalankan.
Case diakhiri dengan esac dan pada setiap kelompok instruksi diakhiri
dengan ;;. Pada akhir pilihan yaitu *) yang berarti adalah “default”, bila kondisi
tidak memenuhi pola sebelumnya.
19. FUNGSI
Fungsi adalah program yang dapat dipanggil oleh program lainnya dengan
menggunakan notasi NamaFungsi(). Fungsi memberikan exit status ($?) yang
dinyatakan dengan return nr, atau nilai 0 sebagai default.
Membuat fungsi diawali dengan nama fungsi, parameter, kemudian blok
program yang dinyatakan dalam {….}.
Contoh :
Variabel dapat didefinisikan dalam fungsi sebagai variabel lokal atau
global. Hal yang perlu diperhatikan, nama variabel yang digunakan dalam sebuah
fungsi, jangan sampai bentrok dengan nama variabel lain yang sama di luar fungi,
sehingga tidak terjadi isi variabel berubah.
BAB 3
PERCOBAAN
PERCOBAAN 1 : Membuat Shell Script
PERCOBAAN 2 : Variabel
PERCOBAAN 3 : Membaca Keyboard
PERCOBAAN 4 : Parameter
PERCOBAAN 5 : Status Exit
PERCOBAAN 6 : Konstruksi If
PERCOBAAN 7 : Konstruksi if then else
BAB 4
PEMBAHASAN
Pada praktikum ini, kami belajr memahami berbagai perintah atau syntax
yang digunakan untuk pemrograman shell pada sistem operasi Linux.
Berdasrakan pada percobaan 1, file yang belum diexecutable tidak dapat
dijalakan tanpa titik di depan nama program. Tanpa di executable program masih
dapat di jalankan akan tetapi di depan nama file harus ada titik. File yang sudah
diexecutable dapat dioperasikan.
Pada percobaan 2, ketika mengetikan variable yang diinginkan seperti
VPT= poltek nantinya pada saat progam membaca $VPT akan muncul poltek.
Jadi intinya pada saat menjalankan program menggunakan variable kita ketikan
variabelnya di terminal kemudian akan di baca oleh echo apa variable yang
diketikan. Ketika mengetikan VPT2=poltek elektronika terdapat pesan error, ini
dikarenakan variable tidak dapat di jalankan jika ada dua intruksi yang
menggukan spasi tanpa adanya (“….spasi….”) titik dua. Dari percobaan ini dapat
di analisis bahwa jika ada 2 intruksi didalam variable harus menggunakan (“)
supaya dapat di eksekusi. Berdasarkan percobaan langkah 3, kita dapat
menjalankan banyak variable tetapi echo hanya dapat membaca 1 variabel. Jadi
jika kita ingin menjalankan lebih dari 1 variabel kita buat variable kemudian kita
satukan semua variable di dalam satu variable dengan diawali dengan $. Makan
variable dapat di jalankan. Sebelumnya di variable v3 sudah ada intruksi
elektronika ketika di baca maka akan muncul tulisan elektronika, kita dapat
mengabungkan variable dengan string yang lain.jika di gabungkan dengan nama
variable yang belum didefinisikan (kosong) maka intruksi echo akan
menghasilkan string kosong .maka kita harus menggunakan {} kemudian tulis
poltek maka akan mucul poltek elektronika. Cmd digunakan untuk melihat
tanggal dan waktu user saat aktif. Variable dapat dijadikan input shell dan
kemudian dapat di eksekusi. Agar dapat dijalankan pada perintah berikutnya maka
isi yang ada di biodata01.sh harus diubah. File dapat di jalankan setelah di
chmod.. maka dari itu pada saat menjalankan perintah biodata.sh dan
./biodata01.sh terjadi error ini terjadi karena belum di executable. Setelah di
executable semua dapa dijalankan.
Pada percobaan 3, langkah satu merupakan syntax yang memberikan
instruksi untuk membaca nama yang diketikkan atau diinputkan. Sedangkan pada
langkah dua, merupakan perintah merupakan perintah dari file yang di gunakan
untuk membaca nama dan alamat keyboard di perintah selanjutnya. Syntax pada
langkah tiga digunakan untuk mengeksekusi file yang ada di biodata2. Opsi – n
pada langkah empat digunakan untuk secara otomatis untuk memberikan baris
baru. Pada percobaan langkah kelima ini file biodata02.sh akan menjalankan apa
yang telah diintruksikan apa yang ada di dalam file biodata02.sh, karena
menggunakan –n di dalam perintahnya sehingga pada eksekusi kali ini
tampilannya seperti di atas. Pada percobaan langkah enam kali ini merupakan
percobaan terhadap variabel kosong . Variabel ini didapat atas assignment atau
membaca dari keyboard atau variable yang belum didefinisikan. Instruksi
pwd dieksekusi lebih dahulu dengan sepasang Back Quate (tanda kutip
terbalik). Hasil dari eksekusi tersebut akan masuk sebagai nilai variable DIR.
Syntax pada langkah delapan adalah syntax yang digunakan untuk membuat file
baru dan memberikan instruksi di dalamnya. Pada percobaan langkah sembilan ini
akan di eksekusi apa yang di perintahkan yang ada di dalam file bioda03.sh.
Pada percobaan 5, percobaan langkah kesatu ini jika string tidak
ditemukan makan status exit adalah 1. Jika string di temukan maka status exit
adalah 0. Sedangkan pada langkah kedua, string di temukan maka status exit
adalah 0.
Percobaan 6 pada langkah kesatu perintah who digunakan untuk melihat
user yang aktif dengan tanggal dan jam. Dan saat menghentikan string makan jika
user terdeteksi maka status exit adalah 0. Sedangkan pada percobaan 7, di
intruksikan nanti jika file dijalankan jika benar makan file akan mejalankan sesuai
intruksi jika salah akan memnjalankan intruksi berikutnya. Pada perintah di
langkah kedua ini kita dapat mengetahui apakah user computer kita aktif. Jika
memang aktif da nada makan akan muncul aktif, apabila tidak ada maka user
tidak.
Instruksi test digunakan untuk memeriksa kondisi dari sebuah ekspresi.
Ekspresi terdiri dari factor dan operator yang dipisahkan oleh spasi. Hasil test
akan memberikan nilai berupa status exit, yaitu 0 bila ekspresi sesuai, bila tidak
maka hasil adalah <> 0. Ada beberapa jenis Operator yaitu
Operator untuk test
Test untuk file dan direktori
LOGICAL && dan ||
Operator bilangan bulat
Operator Logical
Dalam pemrograman shell kita juga bisa menggunakan perintah
percabangan if,case dan perulangan while in.selain itu kita juga bisa membuat
sebuah fungsi yang nantinya bisa dipanggil oleh file lain.
KESIMPULAN