Senin, 10 Desember 2012

TUGAS SO PRAKTIKUM 6 - Shell Programming

Nama : Fikri Rizky Wijaya
Nim : 2011-81-077
Seksi : 03
Matkul : Praktikum Sistem Operasi

Pemrograman Bash Shell

Apa itu Pemrograman Bash Shell ?
 Setelah mendengar kata-kata pemrograman bash shell, pasti terbayangkan pemrograman menggunakan terminal yang biasanya digunakan di Linux. Namun, apa itu sebenarnya pemrograman bash shell? . Di dalam sub judul ini akan dijelaskan pengertian dari bash shell dan pemrograman bash shell itu sendiri.
 Bash adalah singkatan dari Bourne Again Shell, versi baru dari Bourne Shell yang dikembangkan oleh Steve Bourne. Bash ini adalah shell yang paling umum digunakan pengguna Linux. Shell adalah program yang menjadi jembatan antara perintah yang dimasukkan user melalui input dari keyboard dengan sistem operasi untuk melakukan perintah yang dimasukkan user tersebut. Sekarang ini, program seperti shell ini sudah tergantikan oleh user interface yang lebih mudah digunakan.
 Pemrograman bash shell itu sendiri adalah pemrograman kumpulan perintah menggunakan script yang ditulis ke dalam bash shell, sehingga nantinya dapat dieksekusi oleh sistem operasi. Selain bash shell, ada banyak shell lainnya yang bisa digunakan untuk programming, namun penggunaan bash lebih fleksibel karena script yang ditulis lebih kompatibel untuk dibaca dari mesin yang berbeda, distro linux yang berbeda , atau bahkan sistem operasi yang berbeda. Pemrograman menggunakan shell terutama bash shell berkembang terus sampai sekarang karena penggunaannya di kalangan system administrator sangat dibutuhkan.

Bagaimana Konsep dari Pemrograman Bash Shell?
 Konsep kerja dari pemrograman bash shell hampir mirip dengan bahasa pemrograman lainnya. Pemrograman bash shell juga menggabungkan perintah-perintah untuk memilih suatu kondisi, memproses suatu I/O, looping, dan membuat fungsi-fungsi yang dapat dijalankan user. Konsep pemrograman bash shell ini akan mudah dipelajari apabila kita sudah mengetahui perintah-perintah sederhana yang ada di bash shell seperti whoami, cd, cat, dan lainnya. Dengan penguasaan perintah-perintah sederhana ini, pemrograman bash shell akan membuat pekerjaan user menjadi lebih efektif. Hal penting yang harus diketahui sebelum menggunakan pemrograman bash shell adalah konsep mengenai variabel, format syntax dan struktur di dalam pemrograman bash shell itu sendiri.
 Format syntax dan struktur dalam bash shell programming adalah hal yang paling penting untuk diketahui. Kita dapat menulis script menggunakan editor seperti vim, emacs, gedit, dan dtpad. Namun vim dan emacs adalah yang paling cocok karena bisa membantu kita dalam membenarkan syntax dari script yang kita tulis jika kita mengaktifkan fiturnya. File script harus disimpan dalam bentuk .sh. Kemudian di headernya harus diberikan komentar bahwa script ini merupakan pemrograman berbasis bash shell seperti contoh dibawah ini.

header

 Kemudian untuk menuliskan string harus diapit oleh tanda petik dan untuk menggunakan variabel agar dapat ditampilkan harus didahului dengan karakter ‘$’ di depan variabel tersebut.
  Untuk menjalankan program yang sudah kita buat kita harus mengubah modenya dulu agar bisa dieksekusi dengan perintah seperti di bawah ini

2

  ls -al untuk melihat mode yang sudah kita ubah seperti di bawah ini. Nama file scriptnya adalah test.sh

3
 Dengan mode seperti di atas maka program test dapat dieksekusi dengan menggunakan perintah seperti di bawah ini dan tampilannya akan seperti di bawah ini.

4
 Peraturan mengenai syntax pemrograman sesuai standar POSIX dan ANSI-C.
 Variabel adalah sesuatu yang nantinya akan menjadi masukkan, keluaran dan parameter dari programmer. Variabel di dalam pemrograman bash shell sama pentingnya dengan variabel dalam bahasa pemrograman lain. Variabel di dalam bash shell menggunakan huruf kapital keseluruhan untuk penulisannya. Contohnya adalah PATH, COLOR, dan sebagainya. Variabel di dalam bash shell terdiri dari tiga jenis yaitu global variabel (environment variabel) yang berlaku di semua shell, local variabel yang berlaku di dalam shell yang sedang digunakan dan user defined variabel yaitu variabel yang dibuat oleh user. Selain dibagi menjadi tiga jenis tersebut, variabel dapat dibagi berdasarkan tipe datanya yaitu string, integer, constant, dan array. Cara melihat global variabel dengan menggunakan perintah env

5
 Cara untuk melihat local variabel (bergabung dengan fungsi-fungsi yang ada) dengan mengetikkan perintah set. Berikut contoh set dari fungsi userdel, di dalamnya terdapat variabel bernama COMPREPLY.

6
 Ada nama variabel yang sudah digunakan di dalam bash shell, sehingga kita tidak bisa menggunakan nama variabel tersebut. Cara membuat dan mengassign suatu nilai ke dalam variabel dengan deklarasi seperti di bawah ini

7

 NAMA adalah nama variabel, kemudian diassign dengan value ‘Penguin’, ingat pendeklarasian variabel harus tanpa spasi, case sensitive, dan tidak menggunakan karakter khusus.

Apa Manfaat Pemrograman Bash Shell terutama bagi para System Administrator ?
 Pemrograman bash shell memiliki keuntungan dibandingkan shell lain yaitu :
1. Bash shell merupakan shell yang menggabungkan fitur-fitur yang ada di Korn Shell dan C Shell dengan peningkatan fitur-fitur yang cocok untuk programming ataupun penggunaan oleh user secara interaktif. Bash shell menggunakan standard POSIX yang paling umum digunakan dalam pemrograman shell.
2. Bash shell bisa menjalankan hampir semua file .sh (script) tanpa modifikasi terlebih dahulu
3. Syntax dari bash shell programming sederhana dan tidak bertele-tele, sama seperti dengan menggabungkan function-function yang sudah ada di dalam statu file script.
4. Hanya ada sedikit ‘rule’ yang perlu dipelajari untuk menulis program menggunakan bash shell
5. Pemrograman menggunakan shell merupakan salah satu metode untuk prototipe aplikasi yang lebih kompleks lagi.
6. Pemrograman menggunakan shell merupakan pendekatan yang paling mudah dalam hal problem solving, karena masalah yang kompleks dipecah menjadi sub-sub masalah yang lebih mudah dipecahkan.
7. Manfaat yang paling penting untuk system administrator adalah memelihara system dengan command-command yang bisa dijalankan secara otomatis dan berlaku default untuk semua user tanpa user sendiri yang harus mensetting environment dari system.

Step by step Programming with Bash Shell
 Sama halnya dengan pemrograman lainnya, Bash Shell programming juga dapat melakukan fungsi-fungsi seperti baca input, tulis output, looping, condition statement, dan sebagainya. Berikut adalah langkah-langkah untuk membuat script bash programming
1. Masuk ke terminal
2. Login sebagai root (kita bisa membuat script tanpa harus login sebagai root)
3. Buat script dengan format .sh pada direktori yang diinginkan dengan syntax .ssh
contoh:

8
 keterangan syntax:
vi : untuk membuka editor vi yang akan digunakan untuk menuliskan script. Penggunaan vi dapat diganti dengan editor lain seperti pico, nano, dan sebagainya
test : nama file
.sh : format data standard yang digunakan dalam bash programming
4. Buat script pada editor. Tekan key Insert terlebih dahulu sebelum menulikan script pada editor. Berikut adalah contoh program sederhana

9

  Setelah selesai menuliskan script, tekan key Esc untuk keluar dari editor lalu masukkan mode yang diinginkan. Ada beberapa mode yang dapat dilakukan saat akan keluar dari editor:
- :q keluar editor. Jika ada perubahan, maka akan muncul peringatan
- :q! keluar editor tanpa menyimpan perubahan
- :wq: keluar editor dengan menyimpan perubahan yang dilakukan
5. Setelah menyimpan perubahan dengan perintah wq ubah dulu mode dari script agar bisa dieksekusi dengan perintah chmod ut, jalankan script dengan perintah ./namafile, seperti terlihat dibawah ini

10
Contoh Implementasi Programming Bash Shell dalam pekerjaan Sys Admin
● Menambah user baru dari file
a. Buat file userlist.txt yang berisi daftar nama user baru yang ingin dibuat
11

b. Buat file script dengan nama adduser.sh. Tulis script berikut pada editor

12
 Penjelasan script:
  Sistem akan membaca daftar nama user baru yang disimpan dalam file userlist.txt satu per satu dan disimpan dalam variabel $0. Setelah itu sistem akan menjalankan perintah useradd -m $0 hingga nama user terakhir.
c. Ubah mode file adduser.sh dengan perintah chmod u+x adduser.sh kemudian eksekusi program dengan perintah ./adduser.sh
d. Cek apakah semua nama user baru telah dibuat dengan perintah cat /etc/group

13

● Mengubah masa aktif password dari anggota grup
 Biasanya sys admin harus mengatur masa aktif password satu per satu untuk setiap user dengan menjalankan perintah chage. Bayangkan jika terdapat 1000 user yang harus diubah masa aktif password nya. Tentu pekerjaan tersebut membutuhkan waktu yang lama. Namun dengan membuat sebuah script, proses tersebut dapat diotomisasi. Berikut adalah contoh script untuk mengubah masa aktif user dalam suatu grup.
a. Buat file script dengan nama test.sh. Tulis script berikut pada editor

14
 Penjelasan script:
 Sistem akan mengambil semua nama user dalam grup MURID kemudian disimpan dalam file listuser.txt. Selanjutkan sistem akan membaca nama user satu per satu dari fileuser.txt dan disimpan dalam variabel $0. Setelah itu sistem akan menjalankan perintah chage -M 100 $0 hingga nama user terakhir. Karena listuser.txt hanya file sementara yang digunakan untuk membantu program ini, maka setelah program selesai file tersebut dihapus.
b. Ganti mode file agar dapat dieksekusi

15

c. Eksekusi program
16

● Mencari file dengan ekstensi tertentu ada dalam sebuah direktori
a. buat file script dengan nama test01.sh. Tulis script berikut pada editor

17
 Penjelasan script:
 Program di atas akan melakukan pengecekan apakah dalam suatu direktori terdapat file dengan ekstensi .txt atau tidak. Jika ada file dengan format txt maka akan ditampilkan pesan “File(s) exists.”. Sebalikanya jika tidak ada maka akan muncul pesan “File does not exist”.
b. Ubah mode file test01.sh kemudian eksekusi file tersebut seperti yang telah dijelaskan di atas.
● Penggunaan Array dan For Loop

18
 Potongan script di atas menunjukan cara penggunaan array dan for loop dalam bash programming. Program tersebut akan membaca isi file kemudian disimpan dalam sebuah array. selanjutnya isi file tersebut akan ditampilkan oleh program sebagai output. Untuk mengeksekusi program tersebut jalankan perintah ./. Berikut adalah contoh keluaran program tersebut.

19

● Membandingkan variabel

20
  
 Potongan script di atas menunjukan cara membandingkan dua buah variabel dalam bash programming. Disini hanya dicontohkan 2 tipe variabel yaitu integer (NUM1 dan NUM2) serta string (S1 dan S2). Berikut contoh keluaran dari program tersebut.

21

Daftar Referensi

http://www.arachnoid.com/linux/shell_programming.html

http://www.gnu.org/software/bash/manual/bash.html

http://www.ibm.com/developerworks/aix/library/au-getstartedbash/

http://linuxconfig.org/Bash_scripting_Tutorial

http://linuxcommand.org/lts0010.php

http://linuxcommand.org/wss0010.php#write

http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/system.html

http://www.panix.com/~elflord/unix/bash-tute.html

http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html#sect_03_02

http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html#sect_02_01

http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html

Tidak ada komentar:

Posting Komentar