TUGAS LAPORAN PRAKTEK SISTEM OPERASI (1)

TUGAS LAPORAN PRAKTEK SISTEM
OPERASI
“PRAKTIKUM 6A”
TENTANG PEMOGRAMAN SHELL

DISUSUN OLEH :
SUCI CENORA
1651034237
DOSEN : ARY RAMADHAN,S.Pd
JURUSAN : MANAJEMEN INFORMATIKA

POLITEKNIK NEGERI PADANG
AKADEMI KOMUNITAS PESSEL
TA 2016/2017

 Percobaan 1 : Membuat shell script
1. Buatlah file prog01.sh dengan editor vi
#!/bin/sh
# Program shell
#
var1=x

var2=8

Analisa : Perintah diatas digunakan untuk shell script yang dibuat untuk editor teks yang dimulai
dengan tanda # dan disambung oleh tanda ! dengan nama shell yang digunakan.
2. Untuk menjalankan shell,gunakan notasi TITIK di depan nama program
$ . prog01.sh

Analisa : Perintah notasi titik digunakan untuk pengeksekusian file vi yang ingin dijalankan.
3. Untuk menjalankan shell,dapat juga dengan membuat executable file dan dieksekusi
relatife dari current directory
$ chmod +x prog01.sh
$ ./prog01.sh

Dan hasilnya seperti berikut ini :

Analisa : Perintah diatas digunakan mengeksekusi shell. Bila direktori actual tidak terdaftar
dalam PATH maka command tersebut tidak dapat ditemukan.Jika script belum executable maka
script tidak dapat dieksekusi.

 Percobaan 2 : Variabel

1. Contoh menggunakan variable pada shell interaktif
$ VPT=poltek
$ echo $VPT

Analisa : Perintah ini termasuk golongan perintah variabel shell yaitu variabel yang dapat
mempunyai nilai berupa nilai string.
2. Pemisahan 2 kata dengan spasi menandakan eksekusi 2 buah instruksi. Karakter $ harus
ada pada awal nama variable untuk melihart isi variable tersebut, jika tidak, maka echo
akan mengambil parameter tersebut sebagai string.
$ VPT=poltek elektronika (Terdapat pesan error)
$ VPT=”poltek elektronika”
$ echo VPT2
$ echo $VPT2

Analisa : Perintah diatas merupakan variabel juga namun jika perintah tidak menggunakan tanda
petik dua (“) maka perintah tersebut akan terdapat pesan error seperti pada gambar diatas.
3. Menggabungkan dua variable atau lebih
$ V1=poltek
$ V2=’:’
$ V3=elektronika

$ V4=$V1$V2$V3
$ echo $V4

Analisa : Perintah diatas digunakan untuk membuat dan menggabungkan variabel atau lebih
4. Menggabungkan isi variable dengan string yang lain. Jika digabungkan dengan nama
ariable 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

Analisa : Menggabungkan isi variable dengan string yang lain. Jika digabungkan
dengan nama variable yang belum didefininisikan (kosong) maka instruksi echo
menghasilkan string kosong. Untuk menghindari kekeliruan nama variable perlu
diproteksi dengan {}dan kemudian isi variable tersebut digabung dengan string.
5. Variable dapat berisi instruksi, yang kemudian bila dijadikan input shell, instruksi
tersebut akan dieksekusi
$ CMD=who

$ $CMD

$ CMD=”ls –l”
$ $CMD

Analisa : Digunakan untuk membuat variable menjadi berisi instruksi yang kemudian jika
dijadikan input untuk shell, instruksi tersebut akan dieksekusi..
6. Modifikasi file prog01.sh berikut
$ vi prog01.sh
#!/bin/sh
V1=polttek
V2=’:’
V3=elektronika
echo “Pemograman shell”
echo $V1$V2$V3

V3=ITS
Echo $V1$V2 di $V3

Dan hasilnya seperti berikut ini :


Analisa : Digunakan untuk membuat file prog01.sh yang didalamnya terdapat isi “Pemograman
shell”
7. Cara sederhana mengeksekusi shell adalah dengan menggunakan notasi titik di depan
nama shell script tersebut. Bila direktori actual tidak terdaftar dalam PATH, maka
command tersebut tidak dapat ditemukan. Bila script belum executable, script tidak dapat
dieksekusi.
$ . prog01.sh
$ prog01.sh (Terdaftar pesan error)
$ ./prog01.sh (Terdaftar pesan error)
$ chmod +x prog01.sh
$ ./prog01.sh

Analisa : Perintah diatas digunakan mengeksekusi shell. Bila direktori actual tidak terdaftar
dalam PATH maka command tersebut tidak dapat ditemukan.Jika script belum executable maka
script tidak dapat dieksekusi.
 Percobaan 3 : Membaca keyboard
1. Menggunakan instruksi read
$ read nama
Amir

$ echo $nama

Analisa : Perintah $read digunakan untuk membuat judul dari suatu variable yang kemudian
diinputkan variablenya dan dieksekusi menggunakan perintah echo dan karakter $.
2. Membaca nama dan alamat dari keyboard
$ vi prog02.sh
#!/bin/sh
# prog02.sh
# membaca nama dan alamat
Echo “Nama Anda : “
read nama
echo “Alamat : “
read alamat
echo “Kota : “
read kota
echo
echo “Hasil adalah : $nama, $alamat di $kota”

Dan hasilnya seperti berikut ini :


Analisa : Untuk melihat nilai/isi dari sebuah variable, gunakan tanda $ di depan nama variable
tersebut. Pada shell, instruksi echo dapat menampilkan isi variable tersebut dan digunakan
melauli pengeditan vi editor dan dalam perintah ini akan ada spasi enter ke bawah pada hasil
pengeksekusiannya.
3. Eksekusi program prog02.sh
$ . prog02.sh
Nama Anda :
Amir
Alamat :
Jl Semangka 67
Kota :
Surabaya
Hasil adalah : Amir, Jl semangka di Surabaya

Analisa : Dan pada perintah diatas digunakan untuk mengeksekusi sebuah perintah yang telah
dibuat pada prog02.sh sebelumnya.
4. Instruksi echo secara otomatis memberikan baris baru, maka untuk menghindari hal
tersebut disediakan opsi –n, yang menyatakan kepada echo untuk menghilangkan baris
baru. Modifikasi program prog02.sh
$ vi prog02.sh

#!/bin/sh
# prog02.sh
# membaca nama dan alamat
echo –n “Nama Anda : “
read nama
echo –n “Alamat Anda : “
read Alamat
echo –n “Kota Anda : “
read kota
echo
echo “Hasil adalah : Amir, Jl semangka di Surabaya

Dan hasilnya seperti berikut ini :

Analisa : Dalam perintah diatas menggunakan perintah –n, sebenarnya sama perintah yang
digunakan sebelumnya cuman dalam perintah ini ada terdapat perintah –n yaitu pada
pengeksekusiannya nanti tidak akan ada penspasian variable.
5. Eksekusi program prog02.sh
$ . prog02.sh
Nama Anda : Amir

Alamat : Jl semangka 67
Kota : Surabaya
Hasil adalah : Amir, Jl semangka di Surabaya

Analisa : Perintah diatas digunakan untuk mengeksekusi perintah pada sebelumnya.
6. Variabel kosong adalah variable yang tidak mempunyai nilai. Variabel ini didapat atas
assignment atau membaca dari keyboard atau variable yang belum didefinisika
$ read nama

$ echo $nama
$ A=
$ B=””
$ C=$A$B
$ echo $C

Analisa : Perintah read nama maka pada echo $nama nanti hasilnya akan sama seperti
pada read nama yang diketikkannya.
7. Variabel dapat disubsitusikan dengan hasil eksekusi dari sebuah instruksi. Pada contoh
dibawah , instruksi pwd dieksekusi lebih dahulu dengan sepasang Back Quote (tanda
kutip terbalik). Hasil dadri eksekusi tersebut akan masuk sebagai sebagai nilai variable

DIR
$ pwd
$ DIR=’pwd’
$ echo $DIR

Analisa : Perintah pwd merupakan untuk melihat home direktory dan user yang sedang
digunakan dan pada DIR digunakan sebagai nilai variable yang akan dieksekusi berikutnya.
8. Buatlah shell script prog03.sh
$ vi prog03.sh
#!/bin/sh
#
NAMA=`whoami`
Echo Nama Penggunaka Aktif adalah $NAMA
tanggal=`date | cut –c1-10`
echo Hari ini tanggal $tanggal

Dan hasilnya seperti berikut ini :

Analisa : Perintah ini digunakan sama seperti pada perintah sebelumnya yaitu membuat script
didalam vi untuk prog03.sh dan menampilkan tanggal dan hari.

9. Eksekusi prog03.sh
$ . prog03.sh

Analisa : Perintah diatas digunakan untuk mengeksekusi perintah pada sebelumnya.
 Percobaan 4 : Parameter
1. Membuat shell script prog04.sh
$ vi prog04..sh
#!/bin/sh
# prog04.sh versi 1
# Parameter passing
#
echo “Nama program adalah $0”
echo “Parameter 1 adalah $1”
echo “Parameter 1 adalah $2”
echo “Parameter 1 adalah $3”

Dan hasilnya seperti berikut ini :

Analisa : Perintah diatas digunakan untuk membuat script prog04.sh versi 1 yang akan
menampilkan nama program dan parameter.
2. Eksekusi prog04.sh tanpa parameter , dengan 2 parameter, dengan 4 parameter
$ . prog04.sh
$ . prog04.sh amir hasan
$ . prog04.sh amir hasan badu ali

Analisa : Perintah diatas digunakan untuk mengeksekusi menampilkan nama program dan
beberapa parameter dan pada . prog04.sh amir hasan budi ali, pengeksekusiannya nama ali tidak
akan keluar karena parameter yang dibuat hanya terdapat 3 jadi nama ali tidak terdapat pada
parameter.
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 1 adalah $2”
echo “Parameter 1 adalah $3”

Analisa : Perintah diatas digunakan untuk membuat script prog04.sh versi ke 2.
4. Eksekusi prog04.sh tanpa parameter dan dengan 4 parameter
$ . prog04.sh
$ . prog04.sh amir hasan badu ali

Analisa : Perintah ini digunakan untuk mengeksekusi perintah pada sebelumnya.
5. Membuat shell script prog04.sh versi 3 dengan menambahkan total parameter dan nomor
proses id (PID)
$ vi prog04.sh
#!/bin/sh
# prog04.sh versi 3
# Parameter passing
#
echo “Jumlah parameter yang diberikan adalah $#”
echo “Nama program adalah $0”
echo “Parameter 1 adalah $1”
echo “Parameter 1 adalah $2”
echo “Parameter 1 adalah $3”
echo “Total parameter adalah $*”
echo “Parameter 1 adalah $3”
echo “PID proses shell ini adalah $$”

Analisa : Perintah ini digunakan untuk membuat script pada prog04.sh versi ke 3 dan didalmnya
terdapat menmapilkan PID proses shell yang diketikkan.
6. Eksekusi prog04.sh dengan 4 parameter
$ . prog04.sh amir hasan badu ali

Analisa : Perintah ini digunakan untuk mengeksekusi perintah sebeumnya yang menampilkan
PID proses shell 5351.
 Percobaan 5 : Status Exit
1. String tidak diketemukan,maka status exit adalah 1
$ grep xyz /etc/passwd
$ echo $?

Analisa : Perintah grep digunakan untuk Mencari file-file yang mengandung teks dengan kriteria
yang telah ditentukan.
2. String diketemukan, maka status exit adalah 0

Analisa : Perintah diatas digunakan untuk menampilkan etc dan passwd dalam ubuntu yang
digunakan


Percobaan 6 : Konstruksi if

1. Instruksi dengan exit status 0
$ who
$ who | grep
$ echo $?

Analisa : Perintah diatas digunakan untuk menampilkan user yang sedang aktif.
2.

If membandingkan exit status dengan 0, bila sama, maka blok program masuk ke dalam
blok then-fi
$ if [ $? = 0 ]
> then
>
echo “ Pemakai tersebut sedang aktif”
> fi

Analisa : Perintah diatas digunakan untuk penentuan Jika dan maka , Bila status sama dengan 0,
maka kondisi menjadi TRUE dan instruksi setelah else akan dijalankan.
3. Nomor (1) dan (2) diatas dapat disederhanakan dengan
$ if who|grep >/dev/null
> then
>
echo okay
> fi

Analisa : Perintah diatas digunakan untuk menampilkan okay melalui perintah then lalu if.
 Percobaan 7 : Konstruksi if then else
1. Membuat shell script prog05.sh
$ vi prog05.sh
#!/bin/sh
# prog05.sh
# Program akan memberikaninformasi apakah nama
# user sedang aktif atau tidak

#
echo –n “Berikan nama pemakai : “
read nama
if who | grep $nama > /dev/null
then
echo “$nama sedang aktif”
else
echo “$nama tidak aktif”
fi

Analisa : Perintah diatas digunakan untuk menampilkan nama yang sedang aktif melalui perintah
echo, read, if, then,else,dan fi.
2. Jalankan prog05.sh, masukkan nama pemakai yang aktif yang tampil pada instruksi who
dan coba juga untuk nama pemakai yang tidak aktif
$ who

Analisa : Perintah diatas digunakan untuk melihat user yang sedang aktif.
$ . prog05.sh [nama=]
$ . prog05.sh [nama=studentOS]

Analisa : perintah di atas digunakan untuk mengeksekusi perintah sebelumnya yang jika kita
masukkan user nama pemilik kita sendiri maka yang keluar akan user yang “sedang aktif” dan
jika kita masukkan perintah studentOS maka akan tampil studentOS “tidak aktif”.
 LATIHAN :
1. Membuat Pemograman shell dengan Membaca Keyboard yang memunculkan
nama,nim, ,prodi,universitas,nama orang tua,jumlah saudara,anaka ke,tanggal lahir dan
cita-cita dari pribadi masing-masing?

Analisa : Latihan ini sama fungsi perintahnya dengan perintah untuk menampilkan Perintah
“Membaca Keyboard” : yaitu Nilai Variable yang dapat diisi melalui keyboard (stdin) dengan
instruksi read.


KESIMPULAN :

Kesimpulan yang dapat saya simpulkan untuk praktikum kali ini yaitu tentang Pemograman
Shell yang didalamnya terdapat perintah :
1. SHELL SCRIPT
2. VARIABEL
3. MEMBACA KEYBOARD
4. PARAMETER
5. STATUS EXIT
6. KONSTRUKSI IF
7. KONSTRUKSI IF THEN ELSE
8. INSTRUKSI TEST
9. LOGICAL && DAN || (SHELL LEVEL)
10. OPERATOR LOGICAL (TEST LEVEL)
11. KONSTRUKSI IF THEN ELSE IF
12. INSTRUKSI EXIT