11/11/2012

PEMROGRAMAN DENGAN BASH SHELL




DISUSUN OLEH
NIM          : 115410138
Nama      : Hermawan

SEKOLAH TINGGI MANAJEMEN DAN INFORMATIKA
AKAKOM YOGYAKARTA
2011


A.  DASAR TEORI
1.      Shell
           Shell adalah Command executive, artinya program yang menunggu instruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandia dengan prompt. Untuk pemakai (user) menggunakan prompt $ dan unutk superuser menggunakan promp #

2.      Bash Script
           Bash Script adalah file yang berisi koleksi program yang dapat dieksekusi. Untuk eksekusi bash script gunakan: sebelum file bash script ysng berarti eksekusi Shell dan tanda ./ berarti file bash-script berada pada direktori actual.

3.      Echo
           Perintah ini digunakan untuk menampilkan suatu pesan atau keterangan pada layar

4.      PATH
           Menggunakan daftar direktori. Bila sebuah instruksi diberikan dari prompt shell, maka instruksi tersebut akan dicari daftar tersebut.

B.   Pembahasan
1.      Perintah echo
Alah perintah yang pakai utk menampilkan apa yang kita ketik di layar
ü  [student@localhost ~]$ echo selamat; echo belajar  // maka hasil perintahnya adalah
           selamat
           belajar
ü  [student@localhost ~]$ echo -n selamat; echo belajar // perintah –n untuk menampilkan 1 baris ( kata tidak di baris berikutnya), maka hasilnya :
Selamatbelajar
ü  [student@localhost ~]$ echo selamat \n belajar // perintah \n maka hasilnya:
selamat n belaja // (\) tidak ditampilkan
ü  [student@localhost ~]$ echo "selamat \n belajar" // perintah tanda petik (“…”) perintah agar sesuai dengan perintah/ kalimat, maka hasilnya adalah :
selamat \n belajar
2.       Perintah PS1
ü  [student@localhost ~]$ PS1='\t :' // Menampilkan waktu sebagai propt Bash
3.       Prompot Bast menampilkan current working directory
ü  19:37:49 :PS1='\w :' // menampilkan jam dengan format HH:MM:SS
ü  ~ :PS1='[\u@\h \w]$' // perintah untuk exit (keluar) dari menu PS1 sebelumnya
4.       Untuk melihat prommpot /usr/sbin
Sbin untuk menmpilkan sub directory
ü  student@localhost ~]$ cd /usr/sbin
ü  [student@localhost sbin]$ PS1='\W :'
ü  sbin :PS1='[\u@\h \w]$ '
ü  [student@localhost /usr/sbin]$ cd
5.       Penggunaan PS1, PS2
ü  [student@localhost ~]$ echo 'hello
> '
ü  Hello
KETERANGAN : Perintah yang belum selesai di PS1 maka PS2 harus melakukan perintah yang belum selesai.
6.       Membuat vi bonus
echo -n "Total Pembelian : "
read total
if [ $total -lt 50000 ]
then
 echo "Bonus :Tidak Ada"
elif [ $total -lt 100000 ]
then
 echo "Bonus :Voucher Rp.5000"
elif [ $total -lt 500000 ]
then
 echo "Bonus :Strika Listrik"
elif [ $total -lt 1000000 ]
then
 echo "Bonus :Radio Mini"
else
 echo "Bonus :Kipas Angin Kotak"
fi
7.        Memberikan hak akses (eksekusi)
SEBELUM DI EKSEKUSI
ü  [student@localhost ~]$ ls
bonus  Desktop/  Documents/  Download/  Music/  Pictures/  tmp/  Video/
SESUDAH DIEKSEKUSI
ü  [student@localhost ~]$ chmod +x bonus
ü  [student@localhost ~]$ ls
bonus*  Desktop/  Documents/  Download/  Music/  Pictures/  tmp/  Video/
PERINTAH PATH
ü  [student@localhost ~]$ PATH=$PATH:.
ü  [student@localhost ~]$ bonus
Total Pembelian : 100
Bonus :Tidak Ada
[student@localhost ~]$ bonus
Total Pembelian : 75000
Bonus :Voucher Rp.5000
[student@localhost ~]$ bonus
Total Pembelian : 125000
Bonus :Strika Listrik
[student@localhost ~]$ bonus
Total Pembelian : 600000
Bonus :Radio Mini
[student@localhost ~]$ bonus
Total Pembelian : 1200000
Bonus :Kipas Angin Kotak

KETERANGAN :
           Program tersebut adalah program untuk menentukan bonus setiap pembelian barang. Bonus pembelian diberikan jika memenuhi syarat-syarat yang ada. Misalnya : jika membeli barang seharga Rp.50000, maka bonusnya tidak ada. Tapi jika membeli barang seharga Rp.100000, maka dapat bonus voucer seharga Rp.50000. atau jika pembelian melebihi satu juta, maka akan mendapatkan bonus kipas angina kotak.
Pada program tersebut terdapat variable ($) yang berfungsi untuk menampung nilai dan nilai yang ada pada variable tersebut dapat diubah. Variable tersebut bisa berupa huruf, angka atau garis bawah.
Pada program tersebut variable($) total nilai dari setiap pembelian yang sebelumnya disimpan dengan nama total melalui perintah read total.
C.   Latihan
1.      Buat file p1.sh yang berisi :
$ vi p1.sh
Echo “Program bash script”
Jawab :
ü  [student@localhost ~]$ vi p1.sh
ü  [student@localhost ~]$ cat p1.sh
echo "Program bash Script"
2.      Ubah menjadi executable
Jawab :
ü  [student@localhost ~]$ ls -l p1.sh
-rwxr-xr-x  1 student student 27 Apr 30 09:34 p1.sh*

3.      Jalankan shell scipt p1.sh
Jawab :
ü  [student@localhost ~]$ sh p1.sh
    Program bash Script

4.      Buatlah file p2.sh
$ vi p2.sh
Echo “program 2 bash scipt”
Jawab :
ü   [student@localhost ~]$ vi p2.sh
ü   [student@localhost ~]$ cat p2.sh
      echo "Program 2 bash Script"

5.      Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan dengan tanda;
$ cat p1.sh ; cat p2.sh
$ ./p1.sh ; ./p2.sh
Jawab :
ü  [student@localhost ~]$ cat p1.sh ; cat p2.sh
echo "Program bash Script"
echo "Program 2 bash Script"
ü  [student@localhost ~]$ ./p1.sh ; ./p2.sh
Program bash Script
bash: ./p2.sh: Permission denied


D.   Tugas
1.      Normalnya pengeksekusian perintah didalam skrip adalah secara sekuensial.namun seringkali suatu skrip mengandung perintah percabangan dengan kondisi yang menentukan cabang yang akan dijalankan pada perintah perulangan .
2.      Buatlah file plop.sh. $ vi plop.sh
#! /bin/bash
while [ true ]
do
sleep 3
echo “Hallo”
done
file ini tidak akan pernah berhenti kecuali ditekan
buatlah file ploop.sh menjadi executable. Jalankan program,akan ditampilkan kata Hallo setiap 3 detik. Untuk keluar program, tekan <Ctrl> <C>
      $ chmod +x ploop.sh
      $ ./ploop.sh

Penyelesaian :
a. membuat file ploop.sh
[student@localhost ~]$ vi ploop.sh
#! /bin/bash
while [ true ]
do
sleep 3s
echo "Hallo"
done
b.                menjalankan file ploop.sh
[student@localhost ~]$ sh ploop.sh
Hallo
Hallo
Hallo
c. mengubah file ploop.sh
[student@localhost ~]$ chmod +x ploop.sh
d.                menjalankan file ploop.sh
[student@localhost ~]$ ./ploop.sh
Hallo
Hallo
Hallo
3.      Perintah-perintah percabangan dan perulangan disertai dengan contoh program.
Penyelesaian :
Perintah-perintah perulangan :
-          For -> memungkinkan sejumlah perintah dapat dieksekusi berkali-kali untuk setiap nilai yang terletak dalam suatu daftar
-          Until -> digunakan untuk mengulang suatu proses hingga kondisi pengulangan bernilai benar
-          While -> pengulangan ini dilakukan selama kodisi bernilai benar

Contoh program
-          For
for nama in “Hermawan” “Teknik Informatika” “
do
        echo $nama
done
hasil adalah
Hermawan
Teknik Informatika

-          While
Bil = 0
While test $bil –lt 10
Do
Echo $bil
Bil =’expr $bil +2’ #naikan bil sebesar 2
Done
-          Hasilnya adalah
0
2
4
6
8






e.  Kesimpulan
ü   Perintah echo digunakan untuk menampilkan suatu pesan atau keterangan. Opsi dalam echo antara lain :
a.    perintah echo tanpa opsi apapun menyebabkan stirng ditampilkan dengan diakhiri pindah baris
b.   -n digunakan untuk menampilkan string tanpa diakhiri pindah baris
c.    \n digunakan untuk menampilkan string dengan diakhiri pindah baris (newline)
d.   -e digunakan agar \n dalam tanda petik dianggap sebagai newline


ü Prompt bash shell dapat dikonfigurasi dengan men-setting nilai dari variabel PS1. Opsi dalam mengganti nilai dari variabel PS1 antara lain :
a.    \u digunakan untuk menampilkan nama user
b.   \h digunakan untuk menampilkan nama host
c.    \W digunakan untuk menampilkan nama working directory
d.   \w digunakan untuk menampilkan hanya nama direktori
e.    \t digunakan untuk menampilkan waktu sistem dalam format 24 jam
ü Apabila prompt sekunder muncul maka hal tersebut memberitahukan bahwa bash shell menunggu penyelesaian dari sebuah perintah yang belum lengkap namun telah dijalankan oleh user.
ü Untuk menjalankan sebuah file, dapat digunakan beberapa perintah. Perintah-perintah tersebut antara lain :
a.    sh <nama_file>
b.   bash <nama_file>
c.    ./<nama_file>
d.   <nama_file>, namun apabila muncul pesan kesalahan command not found berarti hak execute belum diberikan pada file tersebut. Apabila hak execute telah diberikan tetapi masih muncul pesan kesalahan yang sama, maka perlu ditambahkan perintah PATH=$PATH:. sebelum perintah dijalankan.

f.  listing
ü  “ TERLAMPIR “


0 komentar:

Posting Komentar