Selasa, 25 November 2014

LAPORAN PRAKTIKUM SISTEM OPERASI PRAKTIKUM 6-A << Pemrograman shell>>

Tanggal Kumpul
Nilai
Tanda tangan
Asisten
Dosen
 8 NOVEMBER 2014




LAPORAN PRAKTIKUM SISTEM OPERASI
PRAKTIKUM 6-A
<< Pemrograman shell>>

DISUSUN OLEH

NAMA                              : KOKO HENDRIAWAN
NIM                                  : 4611414039
PERTEMUAN                 : Ke-9


PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS NEGERI SEMARANG
2014
PERCOBAAN 1 :MEMBUAT SHELL SCRIPT
1.      Buat file
$vi biodata01.sh
Tampilan outputnya :
Didalam file biodata01.sh kita ketikan sebagai berikut
#!/bin/sh
#program shell
#
Var1=x
Var2=8
Tampilan outputnya:
Analisanya :

2.      Untuk menjalankan shell. Gunakan notasi titik didepan nama program
$ . biodata01.sh
Tampialan outputnya:
Analisanya :
Kita tidak dapat menjalakan program tanpa titik di depan nama program dikarenakan file belum di executable. Tampa di executable program masih dapat di jalankan akan tetapi di depan nama file harus ada titik.
3.      Untuk menjalankan shell . juga dapat meng executable nama program file
$Chmod +x biodata01.sh
$./biodata01.sh
Tampilan outputnya :
Analisanya :
Karena file sudah di executable dengan mudah file dapat di operasikan.
PERCOBAAN 2 : VARIABEL
1.      Excempel menggunkan variable pada shell
$VPT=teknik
$echo $VPT
Tampilan outputnya :
Analisanya:
Pada saat kita mengetikan variable yang kita inginkan seperti VPT= teknik nantinya pada saat progam membaca $VPT akan muncul teknik. Jadi intinya pada saat kita menjalankan menggunakan variable kita ketikan variabelnya di terminal kemudian akan di baca oleh echo apa variable yang kita ketikan.
2.      Pemisah dengan menggunakan spasi
$VPT2=teknik informatika
$VPT=”teknik informatika”
$echo VPT2
$echo $echo $VPT2
Tampilan outputnya :
Analisanya:
·         kenapa pada saat kita mengetikan VPT2=teknik informatika 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.

3.      Mengabungkan 2 variabel atau pun lebih
$V1=jurusan
$V2=’:’
$V3=ILKOM
$V=$V1$V2$V3
$echo V4
Tampilan outputnya :
Analisanya :
Kita dapat menjalankan banyak variable tapi echo hanya dapat membaca 1 variabel. Jadi jika kita ingin menjalankan lebih dari 1 variabel kita buat variable lalu kita satukan semua variable di dalam variable dengan diawali dengan $. Makan variable dapat di jalankan.
4.      perintah
$echo $V3
$ echo $V3ITS
$ echo ${V3} HEBAT
Tampilan outputnya:
Analisanya :
Sebelumnya di variable v3 sudah ada intruksi ILKOM ketika di baca maka akan muncul tulisan ILKOM 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 HEBAT maka akan mucul ILKOM HEBAT.
5.      $ $CMD
$ CMD=who
$CMD=:”ls –l”
Lalu CTRL +C
$ $CMD
Tampilan outputnya :
Analisanya:
Cmd digunakan untuk melihat tanggal dan waktu user saat aktif. Variable dapat dijadikan input shell dan kemudian dapat di eksekusi.
6.      Modifikasi biodata01.sh
$vi biodata01.sh
Lalu ketikan
#!/bin/sh
V1=jurusan
V2=’:’
V3=ILKOM
echo “pemograman shell
echo $V1$V2$V3
V3=FMIPA
Echo $V1$V2 di $V3
Tampilan outputnya :
Analisanya:
Kita rubah isi yang ada di di biodata01.sh supaya dapat di jalankan di perintah berikutnya.
7.      $ . biodata01.sh
$biodata01.sh
$./biodata01.sh
$chmod +x biodata01.sh
$./biodata01.sh
Tampilan outputnya :
Analisanya:
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.
PERCOBAAN 3: MEMBACA KEYBOARD
1.      $read
Koko
$echo $nama
Tampilan outputnya :
Analisanya :
 Membaca nama yang kita ketikan.
2.      Perintah
$Vi biodata02.sh
#/bin/sh
#biodata02.sh
#membaca nama dan alamat
Echo “nama anda :”
Read nama
Echo “alamat :”
Read alamat
Echo “ kota “
Read kota
Echo “hasil adalah :$nama,$alamat di $kota”
Tampilan outputnya :
Analisanya :
Disini adalah perintah dari file yang di gunakan untuk membaca nama dan alamat keyboard di perintah selanjutnya.
3.      Perintah
$. biodata02.sh
Tampilan outputnya :
Analisanya :
Disinilah kita eksekusi file yang ada di biodata 2 tadi.
4.      Instruks ech secar otomati memberika bari baru mak untuk menghindari hal tersebut disediakan opsi   n, yang menyatakan kepada  echo untuk menghilangkan baris baru.  Modifikasi program prog02.sh
$ vi biodata02 .sh
#!/bin/sh
# biodata02.sh
#membaca nama dan alamat
echo n “Nama Anda : “
read nama
echo n “Alamat :
read alamat
echo n “Kota : “
read kota
echo
echo “Hasil adalah : $nama, $alamat di $kota”

Tampilan outputnya:
Analisanya :
opsi   n digunakan untuk secar otomati memberika bari baru.
5.      Eksekusi program biodata02.sh
$ . biodatao2.sh
Nama Anda : koko hendriawan
Alamat : desa kelet rt20 rw03
Kota : jepara
Hasil adalah : koko hendriawan, desa kelet rt20 rw03 di jepara
Tampilan outputnya :
Analisanya :
Pada percobaan ini file biodata02.sh akan menjalankan apa yang terak di intruksikan apa yang ada di dalam file biodata02.sh, karna menggunakan –n di dalam perintahnya makannya pada eksekusi kali ini tampilannya seperti di atas.
6.      Perintah
$ read nama
<CR>
$ echo $nama
$ A=
$ B=””
$ C=$A$B
$ echo $C

Tampilang outputnya :
Analisanya :
Pada percobaan kali ini Variabel kosong . Variabel ini didapat  ataassignment  atamembaca  darkeyboard  atavariable  yang belum didefinisikan.
7.      $ pwd
$ DIR=`pwd`
$ echo $DIR
Tampilan outpunya :
Analisanya:
instruks pwd   dieksekus lebi dahul dengan sepasang Back Quate  (tanda kutip terbalik).  Hasil dari eksekusi tersebut akan masuk sebagai nilai variable DIR
8.      $vi biodata03.sh
#!/bin/sh
#biodata03.sh
#
NAMA=’koko’
Echo nama pengguna aktif adalah $NAMA
Tanggal = `date | cut –c1-10`
Echo hari initanggal $tanggal
Tampilan outputnya :
Analisanya :
Membuat file baru Dan memberikan intruksi didalamnya .
9.      Menjalankan ciodata03.sh
. biodata03.sh
Tampilan outputnya :
Analisanya :
Pada percobaan ini akan di eksekusi apa yang di perintahkan yang ada di dalam file bioda03.sh.
PERCOBAAN 4 : PARAMENTER
1.      Membuat shell script biodatapakaziz.sh
Tampilan outputnya :
#!/bin/sh
# biodatapakaziz.sh versi 1
# biodata singkat pak aziz
#
echo “Nama program adalah $0”
echo “Alamat email adalah $1”
echo “Nomor telpon adalah $2”
echo “Nama lengkap adalah $3”
Tampilan outputnya:
Analisanya :
Di dalam file biodatapakaziz.sh di berikan perintah tersebut dan hasil dapat di lihat saat di eksekusikan nanti.
2.      Eksekusi biodatapakaziz.sh
$ . biodatapakaziz.sh
$ . biodatapakaziz.sh a212muslim@gmail.com
$ . biodatapakaziz.sh a212muslim@gmail.com 08164243462  
$ . biodatapakaziz.sh a212muslim@gmail.com 08164243462  much.aziz.muslim
Tampilan outputnya :
Analisanya :
Pada percobaan ini kita tuliskan dulu (. biodatapakaziz.sh) baru kita tuliskan apa yang ingin kita isi di dalam file tersebut.tanpa diberitahu berapa biodata yang kita masukan dan di proses.
3.      $ vi biodatapakaziz.sh
#!/bin/sh
# biodatapakaziz.sh versi 2
# biodata singkat pak aziz
#
echo “Jumlah biodata yang diberikan adalah $#”
echo “Nama program adalah $0”
echo “Alamat email adalah $1”
echo “Nomor telpon adalah $2”
echo “Nama lengkap adalah $3”
Tampilan outpunya :
Analisanya :
Pada versi  2  kita mekberikan intruksi untuk memberika jumlah biodata yang kita masukan.
4.      Eksekusi
$ . biodatapakaziz.sh
$ . biodatapakaziz.sh a212muslim@gmail.com 08164243462  much.aziz.muslim
$ . biodatapakaziz.sh a212muslim@gmail.com 08164243462 
Tampilan outputnya :
Analisanya :
Pada saat kita mengetikan perintah $ . biodatapakaziz.sh jumlah data yang di berikan adalah 0 karena saya tidak pernah masukan data apa pun. pada saat perintah  $ . biodatapakaziz.sh a212muslim@gmail.com 08164243462  maka jumlah data yang keluar 2 sesuai data yang kita masukan.
5.      Versi 3 biodatapakaziz.sh
$vi biodatapakaziz.sh
biodatapakaziz.sh versi 2
# biodata singkat pak aziz
#
echo “Jumlah biodata yang diberikan adalah $#”
echo “Nama program adalah $0”
echo “Alamat email adalah $1”
echo “Nomor telpon adalah $2”
echo “Nama lengkap adalah $3”
echo “Total biodata adalah $*”
echo “PID proses shell ini adalah $$”
Tampilan outputnya :
Analisanya :
Pada percobaan versi 3ini kita menambahkan perintah untuk melihat nomor proses ID dan total biodata yang kita masukan nanti.
6.      Eksekusi
$ . biodatapakaziz.sh a212muslim@gmail.com 08164243462  much.aziz.muslim
Tampilan outputnya :
Analisanya :
Pada proses ini kita akan melihat hasil dari perintah yang ada di file biodatapakaziz.sh versi 3.
PERCOBAAN  5: STATUS EXIT
1.      String tidak diketemukan, maka status exit adalah 1
$ grep xyz /etc/passwd
$ echo $?
Tampilan outputnya :
Analisanya:
Pada percobaan ini jika string tidak di temukan makan status exit adalah 1. Jika string di temukan maka status exit adalah 0.
2.      String diketemukan, maka status exit adalah 0

$ grep kokohendriawan /etc/passwd
$ echo $?
Tampilan outputnya :
Analisanya :
String di temukan maka status exit adalah 0.
PERCOBAAN6 : KONTRUKSI IF
1.      Instruksi dengan exit status 0
$ who
$ who | grep kokohendriawan
$ echo $?

Tampilan outpunya :
Analisanya:
Pada perintah who melihat user yang aktif dengan tanggal dan jam. Dan saat menghentikan string makan jika user terdeteksi maka status exit adalah 0.
2.      If membandingkan exit status dengan 0, bila sama, maka blok program masuk ke dalam blok then-fi.
$ if [ $? = 0 ]
Then
echo “ koko hendriawan sedang aktif untuk mengerjakan pertemuan 9”
fi
Tampilan outputnya :
Analisanya :
Pada percobaan ini kita masuk terlebih dahulu ke root dan masukan perintah if dan di akhiri dengan fi maka apa yang kita input akan di output sama seperti yang saya blok.
3.      Nomor (1) dan (2) diatas dapat disederhanakan dengan
$ if who|grep koko hendriawan >/dev/null then
echo oke ilkom hebat
fi


Tampilan outputnya:
Analisanya :
Dengan sederhana file dapat di jalankan lebih sederhana seperti di atas.
PERCOBAAN 7 : KONTRUKSI IF THEN ELSE
1.      $vi pengecekan
#!/bin/sh
#pengecekan
#program akan memberikan konfirmasi 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
Tampilan outputnya :
Analisanya:
Di sini di intruksikan nanti jika file di jalankan jika benar makan file akan mejalankan sesuai intruksi jika salah akan memnjalankan intruksi berikutnya.
2.      Eksekusi file pengecekan
$ who
$ . pengecekan [nama=hendriawan]
$ . pengecekan [nama= kokohendriwan]
$ . pengecekan [nama=koko]
$ . pengecekan [nama=robet]
Tampilan outputnya :
Analisanya :
Pada perintah ini kita dapat mengetahui apakah user computer kita aktif. Jika memang aktif da nada makan akan muncul aktif, apabila tidak ada maka user tidak.




























KESIMPULAN
Shell script dibuat dengan editor teks (ASCII editor) dan umumnya diberikan ekstensi “.sh”.serta Variable shell adalah variable yang dapat mempunyai nilai berupa nilai String. Variable harus dimulai dengan alfabet, disusul dengan alfanumerik dan karakter lain.  Variabel 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 spesial $?.  Indikasi yang diberikan adalah :
o Bila program berakhir dengan sukses, $? = 0
o Bila program berakhir dengan error,    $?     0
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.








Tidak ada komentar:

Posting Komentar