27
PRAKTIKUM 8 Pemrograman Shell Oleh : Novella Ayu Oktaviani 1421140020 1 MI – B 27 MEI 2015 POLITEKNIK NEGERI MALANG

Praktikum 6B Pemrograman Shell

  • Upload
    poltek

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

PRAKTIKUM 8 Pemrograman Shell

Oleh :

Novella Ayu Oktaviani 1421140020

1 MI – B

27 MEI 2015POLITEKNIK NEGERI MALANG

Pemrograman Shell

Percobaan 8 : Intruksi Teks

1. Menggunakan intruksi test, perhatikan spasi antara seperti pada

gambar dibawah ini.

Analisa :

Pada percobaan ini sebuah spasi antar variable dapat menentukan

terbaca atau tidaknya

2. Aplikasi test dengan kontruksi if, masukkan script seperti

dibawah menggunakan editor nano

Praktikum 8 | Pemrograman Shell 2

Berikan nama pada program shell yang telah dibuat dengan nama

prog06.sh

Analisisnya :

Di sini kita menggunakan perintah “if” dan “else”. Ini di

gunakan untuk. Jika program mengalami kesalahan makan pertintah

kedua yang akan mengerjakannya nanti.

3. Jalankan program prog06.sh dengan memasukkan NAMA = amir danNAMA = <CR> perhatikan hasil tampilannya.

Analisanya :

Pada string pertama tidak ada pesan error dan berjalan

semestinya karena memasukkan variable nama “amir” yang telah

diatur pada program shell sebagai nama yang diinginkan dan pada

string ke 2 terjadi pesan error karena memasukkan variable <CR>

bukan amir, jika hanya mengeksekusi prog06.sh lalu memasukkan

variable <CR>, tidak akan terjadi pesan erro dan program shell

akan menampilkan kata “anda bukan amir, sorry!”.

4. Modifikasi prog06.sh dengan menggunakan notasi untuk test

Praktikum 8 | Pemrograman Shell 3

Analisanya :

Program masih bisa berjalan tanpa ada test akan tetapi harus di

tambahkan tanda buka dan tutup kurung ”[ ]”.

5. Jalankan program prog06.sh dengan memasukkan NAMA = amir

Analisanya :

Perintah masih bisa di jalankan dengan baik dan sucses walaupun

di dalam file tidak ada test sebagai perintahnya karena

terdapan tanda kurung yang menggantikan fungsinya.

Percobaan 9 : Notasi && dan ||1. Bila file prog01.sh ada (TRUE), maka jalankan program

berikutnya. File prog01.sh ada, karena itu status exit adalah

TRUE, hasil operasi AND masih tergantung pada hasil eksekusi

intruksi ke 2 dan dengan demikian intruksi echo akan dijalankan.

Praktikum 8 | Pemrograman Shell 4

Analisanya :

Jika ada file yang kita buat di dalam diktory maka perintah

dapat di peroses.

2. Masukkan perintah seperti gambar dibawah.

Analisanya :

File prog99.sh tidak ada, karena itu status ext adalah FALSE dan

intruksi echo tidak dijalankan.

3. Jika prog01.sh ada maka jalankan shell script tersebut.

Analisanya :

Karena prog01.sh memang ada maka program shell dapat dijalankan

sesuai dengan script yang dimasukkan.

4. Jika prog01.sh ada, maka jalankan program berikutnya.

Analisanya :

Praktikum 8 | Pemrograman Shell 5

File prog01.sh memang ada karena itu status exit adalah TRUE dan

karena sudah TRUE maka instruksi echo tidak lagi dijalankan.

5. Masukkan script seperti gambar dibawah

Analisanya :

Sebab prog99.sh memang tidak ada karena itu status exit adalahFALSE, hasilnya tergantung instruksi status exit sehinggaintruksi bisa echo dijalankan, yang menampilkan variable“Dieksekusi tidak?”.

6. Masukkan perintah seperti dibawah ini.

Analisanya :.

File prog99.sh tidak ada maka akan mengeksekusi perintah echo

yang menampilkan variable “Sorry, prog09.sh tidak ada”.

Percobaan 10 : Operator Bilangan Bulat untuk Test1. Menggunakan operator dengan notasi test

Analisanya :

Praktikum 8 | Pemrograman Shell 6

Pada percobaan kali ini menggunakan operator dengan notasi

test. Jika “i” sama dengan string maka sukses akan tetapi jika

berbeda maka akan menghasilkan 1 berarti tidak berhasil di

jalankan

2. Menggunakan operator dengan notasi [ ] (pengganti notasi test).

Analisanya :

Pada percobaan kali ini kita menggunakan operator dengan notasi

[ ] (penganti notasi test). Disini hasilnya akan sama saja

dengan percobaan 10 nomor 1 jika di jalankan. Perbedaannya Cuma

menggunakan operator dengan notasi [ ].

Percobaan 11 : Operator Logical dan Konstruktor Elif1. Buatlah file prog07.sh dengan editor nano, seperti dibawah.

Praktikum 8 | Pemrograman Shell 7

Analisanya :

Pada percobaan ini kita membuat program shell dengan konstruktor

elif yaitu intruksi yang digunakan untuk membuat instruksi if

ganda. Sehingga kita bisa memasukkan variable syarat lebih dari

2 variabel.

2. Jalankan perintah file prog07.sh lalu masukkan untuk INCOME =

5000, 20000, 28000

Analisanya :

Percobaan 12 : Hitungan Aritmatika1. Menggunakan utilitas EXPR

Praktikum 8 | Pemrograman Shell 8

Analisanya :

Percobaan kali ini menggunakan intruksi EXPR yang berfungsi

untuk hitungan aritmatika, tetapi untuk perkalian diperlukan

tanda garis miring terbalik “\” sehingga tidak terjadi pesan

error.

2. Subtitusi isi variable dengan hasil utilitas EXPR.

Analisanya :

Percobaan 13 : Instruksi Exit1. Buatlah shell script prog08.sh dengan editor nano

Praktikum 8 | Pemrograman Shell 9

Analisanya :

Pada percobaan ini membuat program shell dengan intruksi atau

perintah if dan else untuk keluar dari terminal.

2. Jalankan script prog08.sh dan periksa status exit

Analisanya :

Program shell diatas berfungsi untuk keluar dari terminal pada

Linux.

Percobaan 14 : Konstruksi Case – Esac1. Buatlah file prog09.sh dengan editor nano.

Praktikum 8 | Pemrograman Shell 10

Analisanya :

Percobaan ini membuat program shell dengan perintah CASE diawal

dan diakhiri dengan perintah ESAC yang jika dieksekusi akan

menampilkan pilihan yang dapat kita pilih dengan menginputkan

angka 1, 2, 3, atau tanda *.

2. Jalankan program prog09.sh cobalah beberapa kali dengan inputan

yang berbeda dengan diawali dengan perintah $ . prog09.sh

Praktikum 8 | Pemrograman Shell 11

Jika memilih menginputkan angka 1 akan tampil user yang sedang

aktif

Jika menginputkan angka 2 akan menampilkan tanggal pada saat

ini

Jika menginputkan angka 3 akan menampilkan kalender bulan saat

ini

Jika menginputkan tanda * akan menampilkan variable “Salah pilih !!”

Analisanya :

Dengan menambahkan perintah CASE dan ESAC pada program shell,

Praktikum 8 | Pemrograman Shell 12

dapat membuat program shell tersebut jika dieksekusi

menampilkan pilihan dan apa yang akan ditampilkan selanjutnya

tergantung pada angka atau tanda apa yang diinputkan.

3. Buatlah file prog10.sh yang merupakan bentuk lain dari CASE

dengan editor nano.

Analisanya :

Program shell yang didalamnya perintah CASE. Variable dari ya

adalah y dan variable dari tidak adalah t, tergantung kita

memilih yang mana.

4. Jalankan program prog10.sh cobalah beberapa kali dengan inputan

yang berbeda

Praktikum 8 | Pemrograman Shell 13

Analisanya :

Ketika mengeksekusi prog10.sh dan menginputkan ya atau tidak akan

menampilkan variable yang berbeda. Dimana y adalah ya dan d

adalah tidak.

5. Modifikasi file prog10.sh yang merupakan bentuk lain dari CASE

Analisanya :

Program diatasa merupakan bentuk lain dari CASE dan ESAC yang

mengunakan cara penulisan yang berbeda yaitu dengan tanda

kurung [ ]. Pada program diatas digunakan untuk menyamakan

antara karakter “y” dan “Y” pada input ya atau karakter “t” dan

“T” pada input tidak.

6. Jalankan program prog10.sh, cobalah beberapa kali input yang

berbeda

Praktikum 8 | Pemrograman Shell 14

Analisanya :

Dengan memasukkan input yang berbeda seperti “t” maupun “y”

akan menghasilkan tampilan variable yang berbeda. Tetapi tidak

berlaku untuk huruf selain “t” dan “y” sehingga akan muncul

pesan error.

Percobaan 15 : Konstruksi For –Do –Done 1. Buatlah file prog11.sh dengan editor nano.

Analisanya :

Percobaan diatas merupakan program shell yang terdapat perintah

for –do –done sebagai perulangan. Dinotasikan dengan FOR pada

awal baris lalu nama variable kemudian IN dilanjutkan dengan

nilai variable. Instruksi DO akan melakukan apa yang akan

diulang dengan bantuan ECHO sebanyak nilai yang dituliiskan.

Selanjutnya perulangan ditutup oleh intruksi DONE.

Praktikum 8 | Pemrograman Shell 15

2. Jalankan program prog11.sh

Analisanya :

File prog11.sh ketika dieksekusi akan menampilkan perulangan

dimana variable (Nama adalah :) ditampilkan sebanyak nilai

variable (bambang, harry, kadir, amir) yang ada dalam waktu yang

bersamaan.

3. Buatlah file prog12.sh yang berisi konstruksi for dan wildcard

Analisanya :

Percobaan diatas adalah program shell yang akan menampilkan

nama file yang berada di current direktori dengan menggunaka

tanda * sebagai nilai variable.

4. Jalankan program prog12.sh

Praktikum 8 | Pemrograman Shell 16

Analisanya :

Setelah dieksekusi prog12.sh akan menampilkan seluruh file yang

ada pada direktori karena tanda * mewakili semua file meskipun

berbeda format dan ekstensi.

5. Modifikasi file prog12.sh, seperti gambar dibawah

Analisanya :

Percobaan diatas adalah program yang akan menampilkan semua

long list dan file yang mempunyai ekstensi .lst sebab

menggunkan tanda * yang merepresentasi semuanya. Selain itu,

dari percobaan diatas kita dapat mengetahui bahwa instuksi For

–Do –Done juga dapat digunakan untuk menampilkan tidak hanya

semua isi direktori tetapi juga bisa hanya menampilkan file –Praktikum 8 | Pemrograman Shell 17

file bereksistensi tertentu.

6. Jalankan program prog12.sh

Analisanya :

Program shell prog12.sh setelah dieksekusi tidak berhasil

menemukan file bereksistensi .lst sebab pada direktori memang

tidak memiliki file ekstensi .lst

Percobaan 16 : Konstruksi While –Do –Done 1. Buatlah file prog13.sh dengan editor nano

Praktikum 8 | Pemrograman Shell 18

Analisanya :

Program shell diatas menggunakan instruksi While –Do –Done yang

mirip denga IF yang mana akan memberikan kondisi bernilai TRUE

kemudian DO akan mengeksekusi didalamnya yang diakhiri oleh

instruksi DONE.

2. Jalankan program prog13.sh

Analisanya :

Program shell prog13.sh setelah diamati kita akan mengetahui

jika didalam perulangan terdapat percabangan yaitu apabila yang

dipilih 4 maka akan selesai namun jika bukan 4 maka akan

menjalankan perintah clear atau menampilkan inputan lagi.

Percobaan 17 : Instruksi Dummy 1. Memodifikasi file prog13.sh, seperti script dibawah

Praktikum 8 | Pemrograman Shell 19

Analisanya :

Program shell yang dimodifikasi diatas tidak merubah apapun

hanya memberikan status exit 0 (TRUE).

2. Jalankan program prog13.sh

Analisanya :

Praktikum 8 | Pemrograman Shell 20

Setelah dieksekusi prog13.sh tidak terjadi perubahan apapun

kerena modifikasi sebelumnya hanya untuk merubah status exit

menjadi 0 sebab menggunakan tanda (:).

3. Buatlah program prog14.sh

Analisanya :

Percobaan ini adalah program shell yang berisi instruksi dummy

yang dgunakan untuk konstruksi IF.

4. Jalankan program prog14.sh beberapa kali dengan input yang

berbeda

Analisanya : Praktikum 8 | Pemrograman Shell 21

Setelah program prog14.sh dieksekusi kita dapat memasukkan beberapa

inputan yang berbeda sehingga dapat diketahui bahwa programnya

menggunakan perintah percabang IF yaitu jika nilai >= 100 maka

tidak menampilkan apapun namun jika nilai <= 100 akan muncul

“OK !”.

Percobaan 18 : Fungsi1. Buatlah file fungsi.sh

Analisanya :

Kita dapat membuat suatu fungsi dengan cara nama ( ) { perintah

dari fungsi } dan untuk memanggilnya kita hanya menuliskan nama

fungsi tersebut.

2. Jalankan program fungsi.sh

Praktikum 8 | Pemrograman Shell 22

Analisanya :

Setelah program dieksekusi maka. akan menampilkan nilai dari

fungsi tersebut. Fungsi adalah program yang dipanggil oleh

program lainnya dengan notasi NamaFungsi(). Dimana status exit

$? Bisa dinyatakan dengan return 1 atau nilai 0 sebagai

default.

3. Menggunakan variable pada fungsi dengan memodifikasi file

fungsi.sh

Praktikum 8 | Pemrograman Shell 23

Analisanya :

Program diatas kita membuat fungsi F1 yang memiliki variabel

honor dengan nilai 1000. Fungsi diatas memberikan status exit

$? Yang dinyatakan dengan return 1.

4. Jalankan program fungsi.sh

Analisisnya :

Dengan mengeksekusi program fungsi.sh yang telah dimodifikasi kita

dapat memanggil variable fungsi F1 dan jika berhasil maka

status exit adalah 0 dan manampilkan Honor = 10000.

Praktikum 8 | Pemrograman Shell 24

5. Menggunakan variable pada fungsi dengan memodifikasi file

fungsi.sh

Analisanya :

Program yang dimodifikasi membuatnya memiliki variable yang

bersifat LOCAL.

6. Jalankan program fungsi.sh

Analisanya :

Dapat diketahui setelah program dieksekusi wlaupun bersifat LOCAL

variable tersebut tetap bisa dipanggil dari luar fungsi.

Praktikum 8 | Pemrograman Shell 25

Kesimpulan :Shell script dapat dibuat dengan editor nano dan umumnya

berektensi “.sh” serta variable shell adalah variable shell adalah

variable yang dapat mempunyai nilai berupa nilai String. Variable

harus dimulai dengan alphabet, disusul dengan alfa numeric dan

karakter lain. Variable dapat ditulis dalam huruf kecil atau huruf

besar atau campuran keduanya. Nilai variable dapat diisi melalui

keyboard (stdin) dengan instruksi read.

Setiap program setelah selesai dieksekusi akan memberikan

informasi melalui variable special $?. Indikasi yang diberikan

adalah :

Bila program berakhir dengan sukses, $? = 0

Bila program berakhir dengan error, $? 0

Instruksi test digunakan untuk memeriksa kondisi dari sebuah

ekspresi. Ekspresi terdiri dari faktor dan operator yang

dipidahkan 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

Praktikum 8 | Pemrograman Shell 26

Dalam pemrogaman shell kita juga bisa menggunakan perintah

percabangan IF, CASE, dan perulangan FOR, WHILE, IN selain itu

kita juga bisa membuat sebuah fungsi yang nantinya bisa dipanggil

oleh file.

Praktikum 8 | Pemrograman Shell 27