Kelas : TMJ 1
Tugas : Pratikum 8 Pemrograman Shell 2
NIM : 1807421005
TUGAS PENDAHULUAN:
2. File prog99.sh tidak ada, karena itu exit status adalah FALSE dan
instruksi echo tidak dijalankan
$ [ -f prog99.sh ] && echo “Prog99.sh ada”
5. File prog99.sh tidak ada, karena itu exit status adalah FALSE, hasil
masih tergantung atas exit status instruksi ke dua, karena itu instruksi
echo dijalankan
$ [ -f prog99.sh ] || echo “Dieksekusi tidak ?”
Percobaan 11 : Fungsi
PERCOBAAN:
gambar 1.2
Analisa : Perintah diatas digunakan untuk menjalankan shell dengan
menggunakan notasi titik pada didepan program tersebut, perintah diatas
tidak akan mengeluarkan output apa-apa dikarenakan isi dari kode tersebut
hanya mendefinikasikan var1 dan var2 tanpa adanya output untuk
ditampilkan
3. Untuk menjalankan shell, dapat juga dengan membuat executable file dan
dieksekusi relatif dari current directory
$ chmod +x prog01.sh
$ ./prog01.sh
gambar 1.3
Analisa : Perintah diatas digunakan untuk membuat executable file dan
dieksekusi dari current directory, kemudian perinta ./prog01.sh digunakan
untuk menjalankan script, perintah diatas tidak akan mengeluarkan output
apa-apa dikarenakan isi dari kode tersebut hanya mendefinikasikan var1
dan var2 tanpa adanya output untuk ditampilkan
Percobaan 2 : Variabel
gambar 2.1
Analisa : perintah diatas digunakan untuk menggunakan variable pada
shell interaktif pada terminal tersebut untuk menampilkan variabel
pertama definikasikan nama variabel tersebut, misalnya seperti variabel
VPT berisi poltek, dan untuk menampilkan variabel tersebut menggunakan
echo $VPT maka setelah dijalankan isi dari variabel VPT akan tampil
yaitu poltek.
gambar 2.2
Analisa : perintah diatas digunakan untuk membuat pemisah 2 kata dengan
spasi menandakan eksekusi 2 buah intruksi, untuk membuat variabel
dengan 2 kata harus diaapit oleh tanda kutip dua (“), dan dapat
menggunakan echo $VPT maka isi dari variabel VPT akan ditampilkan,
bila tidak menggunakan $ echo tidak dapat mengambil variable tersebut
sebagai string
gambar 2.3
Analisa : Perintah diatas digunakan untuk menggabungkan dua variable
atau lebih seperti pada gambar diatas, menggunakan tiga variable dan
didefinikasikan pada variable V4 untuk menampilkan variable V1 V2 V3,
hanya memanggil variable V4 maka variable ketiga tersebut langsung
terpanggil atau ditampilkan
4. Menggabungkan isi variable dengan string yang lain. Jika digabungkan
dengan nama variable yang belum didefinisikan (kosong) maka instruksi
echo menghasilkan string kosong. Untuk menghindari kekeliruan, nama
variable perlu diproteksi dengan { } dan kemudian isi variable tersebut digabung
dengan string.
$ echo $V3
$ echo $V3ITS
$ echo ${V3}ITS
gambar 2.4
Analisa : perintah diatas digunakan untuk menggabungkan isi variable
dengan string yang lainnya, untuk menggabungkannya tidak bisa secara
langsung digabungkan yang seperti perintah yang kedua mengakibatkan
output atau yang ditampilkan hanya kosong atau blank, maka dari itu
untuk menggabungkanya perlu menggunakan {} untuk memisahkan
variable dengan string tersebut
5. Variabel dapat berisi instruksi, yang kemudian bila dijadikan input untuk
shell, instruksi tersebut akan dieksekusi
$ CMD=who
$ $CMD
$ CMD=”ls –l”
$ $CMD
gambar 2.5
Analisa : perintah diatas merupakan variable yang berisikan intruksi, yang
kemudian akan dieksekusi, seperti variable CMD diisi oleh intruksi who,
maka akan keluar output nama user yang sedang dipakai, kemudian
variable CMD diisi oleh intruksi ls -l yang kemudian akan keluar output
daftar file di direktori tersebut
gambar 2.6
Analisa : pada perintah diatas digunakan untuk mengedit atau
memodifikasi file prog01.sh
gambar 3.1
Analisa : perintah diatas digunakan untuk membaca input dari keyboard
bisa menggunakan instruksi read, seperti pada gambar diatas menginput
nama amir, kemudian variable tersebut dipanggil akan mengeluarkan
output amir
echo
echo “Hasil adalah : $nama, $alamat di $kota”
gambar 3.2
Analisa : perintah diatas digunakan untuk membuat file melalui teks editor
vi, seperti pada percobaan sebelumnya, pada shell script prog02.sh ini
menggunakan tiga buah variable input menggunakan keyboard dengan
menggunakan read
gambar 3.4
Analisa : perintah diatas digunakan untuk memodifikasikan atau mengedit
prog02.sh, ditambahkan perintah echo diikuti -n untuk menghilangkan
baris baru
gambar 3.5
Analisa : perintah diatas sama hal nya dengan perintah yang dieksekusi
pada percobaan 3.3 hanya saja perbedaan dapat terlihat pada tampilan
tersebut tidak terdapat baris baru namun meneruskan perintah echo
tersebut
6. Variabel kosong adalah variable yang tidak mempunyai nilai. Variabel ini
didapat atas assignment atau membaca dari keyboard atau variable yang
belum didefinisikan
$ read nama <CR>
$ echo $nama
$ A=
$ B=””
$ C=$A$B
$ echo $C
gambar 3.6
Analisa : perintah diatas digunakan untuk membaca keyboard, seluruh
variable diatas merupakan variabel kosong atau tidak mempunyai nilai,
karena itu output yang ditampilkan kosong atau blank
gambar 3.7
Analisa : perintah diatas digunakan untuk mengisi variabel dengan
subtitusi hasil eksekusi dari sebuah eksekusi instruksi harus menggunakan
sepasang back quate (`), seperti pada gambar diatas variabel DIR
didistribusikan dengan hasil eksekusi dari peirntah pwd. Maka saat
variabel DIR dipanggil akan tampil hasil dari pwd tersebut
9. Eksekusi prog03.sh
$ . prog03.sh
gambar 3.9
Analisa : perintah diatas digunakan untuk mengeksekusi shell script
prog03.sh, yang kemudian akan menampilkan hasil eksekusi tersebut
Percobaan 4 : Parameter
gambar 4.2
Analisa : pada perintah pertama tanpa menggunakan parameter maka
hanya akan menampilkan nama programnya saja, kemudian perintah
kedua dan ketiga dengan menggunakan parameter maka parameter
tersebut akan muncul pada program tersebut, seperti pada gambar
percobaan saya diatas
3. Membuat shell script prog04.sh versi 2 dengan memberikan jumlah
parameter
$ vi prog04.sh
#!/bin/sh
# prog04.sh versi 2
# Parameter passing
#
echo “Jumlah parameter yang diberikan adalah $#”
echo “Nama program adalah $0”
echo “Parameter 1 adalah $1”
echo “Parameter 2 adalah $2”
echo “Parameter 3 adalah $3”
gambar 4.3
Analisa : perintah diatas digunakan untuk mengedit atau memodifikasi
shell script prog04.sh dengan menggunakan vi teks editor, yang kemudian
jumlah parameter yang menggunakan symbol $# akan didefinisikan
gambar 4.4
Analisa : perintah diatas digunakan membaca parameter, seperti perintah
pertama yang tidak menggunakan parameter sehingga pada output tersebut
adalah 0, kemudian perintah kedua dengan menggunakan parameter akan
mengeluarkan output tersebut adalah 4
gambar 4.5
Analisa : pada perintah diatas digunakan untuk memodifikasikan atau
mengedit file prog04.sh dengan menambahkan nomor proses id yang
didefinisikan dengan $$ dan untuk menampilkan seluruh parameter
menggunakan $*
gambar 5.1
Analisa : perintah diatas bila string tidak ditemukan pada intruksi grep,
akan ditampilkan status exit dengan menggunaan perintah echo $? akan
menampilkan output 1 yang berarti tidak ditemukan
Percobaan 6 : Konstruksi if
gambar 6.1
Analisa : perintah diatas merupakan perintah konstruksi if, dari instruksi
who dengan string teguhdotid, maka dengan perintah $? maka akan
menampilkan output 0 yang berarti ditemukan
gambar 6.2
Analisa : perintah diatas merupakan perintah if, ini adalah untuk
membandingkan status exit dengan 0, bila sama, maka program masuk ke
dalam blok then if yaitu Pemakai tersebut sedang aktif, karena perintah
sebelumnya user teguhdotid sedang aktif hasilnya 0, apabila dengan if $? =
1 artinya user tidak aktif.
gambar 6.3
Analisa : perintah diatas merupakan perintah konstrusi if, pada percobaan
ini merupakan penyederhanaan dari sebelumnya, pada intruksi ini akan
dibelokan ke direktori /dev/null, karena saya login sebagai user maka
akses terhadap direktori /dev/null tidak bisa terdapat pesan permission
denied
2. Jalankan prog05.sh, masukkan nama pemakai yang aktif yang tampil pada
instruksi who dan coba juga untuk nama pemakai yang tidak aktif
$ who
$ . prog05.sh [nama=<user>]
$ . prog05.sh [nama=students]
gambar 7.2
Analisa : pada perintah diatas who untuk mengetahui user yang sedang
aktif, dan kemudian dilanjutkan dengan mengeksekusi atau menjalankan
program prog05.sh dengan notasi titik, dengan menginput nama user
teguhdotid, kemudian akan menampilkan output teguhdotid sedang aktif,
sedangkan dengan menginput nama pemakai selain yang ada di intruksi
who, seperti studens akan menampilkan user tidak aktif
KESIMPULAN :
Kesimpulan saya pada praktikum kali ini adalah saya dapat menyusun
atau mengelompokkan beberapa perintah shell (internal atupun eksternal
command) menjadi kumpulan perintah yang melakukan tugas tertentu sesuai
tujuan penyusunnya, dan pemrograman bash shell ini akan mudah dipelajari
apabila sudah mengetahui perintah-perintah dasar pada bash shell seperti
whoami, cd, cat, dan sebagainya