Sabtu, 02 Januari 2016

Shell Script 2

Assalamu'alaikum, Apa kabar viewers ?
Pada kesempatan kali ini saya akan menjelaskan materi mengenai "Shell Script". Saya diberikan tugas dari dosen saya untuk membuat sebuah progam menghitung banyaknya bilangan ganjil dan genap dimana batas angka yang diinginkan nantinya akan di input. Output yang akan dihasilkan seperti gambar dibawah ini :

Sebelum masuk ke program saya akan memberikan sedikit materi yang saya miliki.
Pengutipan
Karakter khusus adalah karakter yang mempunyai fungsi khusus bagi shell. Contoh karakter khusus :

?        :    substitusi nama file
*        :    substitusi nama file
`        :    substitusi perintah
$        :    substitusi variabel

  • Read (Input)
Fungsi : untuk membaca data dari keyboard atau file. Bentuk umum :
read var1 var2 ... varn

Keterangan :
 -    kata  pertama di-assign ke var 1, kata kedua ke var2 dan seterusnya.
 -    jika jumlah variabel dalam list lebih sedikit dari jumlah data yang dibaca maka sisa baris disimpan dalam variabel terakhir (var n).
      Membaca data nama dan alamat dari keyboard
       $ read nama alamat dudi depok

  • Echo(Output)
Fungsi : untuk menampilkan string ke standard output (layar). Bentuk umum :
echo [-pilihan] arg1 arg2 ... argn

Keterangan :
-     Setiap argumen dipisahkan oleh satu spasi.
-     Pilihan yang sering digunakan :
-n    :     tidak menampilkan baris baru (newline)
-e    :     untuk menampilkan backslash-escaped characters

1.   Menampilkan isi direktori
      $ echo *
      bin mail misc
2.   Menampilkan baris kosong
      $ echo
3.   Menampilkan tabulasi
      $ echo -e "x\ty"
      x   y
4.   Menampilkan baris baru
       $ echo -e "\n\nlompati 2 baris"

  • Operator String
  • Operator Integer

Keterangan :
Shell  tidak  akan  membedakan  tipe  harga  yang  disimpan  dalam  variabel  tetapi  test akan memperlakukan suatu harga sebagai integer jika dibandingkan dengan operator integer.

  • Operator File

  • if
Fungsi : untuk mengambil keputusan perintah mana yang akan dijalankan dari beberapa pilihan yang ada
Bentuk umum :
 

-     Kondisi diperoleh sebagai hasil eksekusi program (berupa exit status).
-     Exit status = 0 maka perintah-perintah antara then dan fi dilaksanakan.
-     Exit status <> 0
        Perintah antara then dan fi dilompati.
        Untuk bentuk umum dengan else perintah-perintah antara else dan fi dilaksanakan. 

  • for
 Berfungsi untuk menjalankan sekelompok perintah secara berulang-ulang sesuai dengan jumlah yang sudah ditentukan.
Keterangan :-     Perintah-perintah antara do dan done disebut badan Iterasi (Body Loop)
-     Pertama kali loop dijalankan, var disubstitusi dengan word 1 (atau $1 untuk for tanpa
      list) lalu badan iterasi dijalankan.
-    Berikutnya var disubstitusikan dengan word 2  (atau $2 untuk for tanpa list) kemudian
     badan iterasi dieksekusi lagi dan seterusnya.
-    Badan iterasi ini dijalankan berulang-ulang dari atas ke bawah sebanyak:
     --> Jumlah word dalam list setelah in
     --> Jumlah argumen pada command line (untuk for tanpa list)
 
  • while
  • until
Bentuk umum :
until kondisi
do
 done
     perintah
    perintah
    :

Keterangan :
-     periksa kondisi
-    jika exit status <> 0 jalankan perintah-perintah antara do dan done
-    ulangi langkah pertama
-    jika exit status = 0  stop


 Sampai disini aja materi yang dapat saya sampaikan. Selanjutnya kita akan mulai masuk ke dalam program.

1.  Masuk ke terminal dan buat sebuah file. Bisa kalian tulis : $ vi tugas.sh

2.  Setelah itu tulis program seperti gambar dibawah ini :




Penjelasan program :

- Variabel pil merupakan variabel yang digunakan untuk memilih apakah program ini mau diulangi atau tidak. Jika pil='y' (ya) maka program akan menjalankan perintah "while [ $pil == 'y' ] || [ $pil == 'Y' ]"
- Perintah "clear" digunakan untuk membersihkan layar.
- Program dimulai dengan menampilkan :
           HALLO, SELAMAT DATANG DI PROGRAM SHELL SCRIPT.....!
                                          PROGRAM INI DI BUAT OLEH :  

NIM  : (NIM diinput oleh user yang nilainya ditampung pada variabel "nim")
NAMA  : (NAMA diinput oleh user yang nilainya ditampung pada variabel "nama")

----------------------------------------------------------------------------------------------------------
Silahkan masukkan batas loop sdr/sdri ......(nama yang sudah diinput akan tampil disini) : .... (batas diinput oleh user yang nilainya ditampung pada variabel "bts")

- Kemudian ketemu sama kondisi if dimana jika nilai batas yang diinputkan kurang dari sama dengan 200 maka angkanya akan ditampilkan. Jika lebih dari 200 maka program keluar.
- Setelah ini masuk ke program for untuk menghitung berapa banyak jumlah bilangan ganjil dan genap dari angka yang sudah ditampilkan. Sebelum itu nilai genap dan ganjil harus dideklarasikan (nil_ganjil=0; dan nil_genap=0;) untuk proses looping penambahan nilainya
- let digunakan untuk menahan nilainya.
- Variabel "hitung" digunakan untuk menampung nilai dari $x%2. Yang kemudian masuk ke sebuah kondisi dimana jika nilai dari hitung=0, nilai bilangan genap bertambah 1. Jika tidak maka nilai bilangan ganjilnya bernilai 1.
- Setelah looping tersebut, total banyaknya bilangan ganjil dan genap akan ditampilkan.
- Kemudian muncul pertanyaan : "Kembali ke awal ? y/n : ". Ketika itu user akan menginputkan y atau n. Jika user menginputkan "y" maka program akan kembali ke awal. Jika "n" maka program akan keluar.

3. Setelah itu save program (Esc + :wq!). Kemudian jalankan program dengan cara : $ sh tugas.sh


Maka output yang didapat dari program tersebut adalah :


Jika kalian memilih "y" progam akan mengulang dan jika memilih "n" progam akan keluar:


Sampai disini yang dapat saya sampaikan. Mohon maaf jika ada yang salah dari penyampaian saya yang salah. Dan terima kasih untuk kalian yang sudah membaca blog saya. Semoga bermanfaat \^-^/








 


















Tidak ada komentar:

Posting Komentar