Kamis, 13 Desember 2012

Modul 1


SHELL INTERAKTIF dan SKRIP

Shell dapat dikatakan sebagai tempat interaksi antara pengguna dan sistem Linux yang sedang digunakan. Shell juga bertugas menerjemahkan atau mengeksekusi program. Shell menyediakan suatu antarmuka teks (command line).
Shell dapat diguakan untuk mengelola (administering) sistem Linux seperti menambah pengguna, mengatur file dan direktori dan memantau kerja dari sistem operasi. Shell Linux ditandai oleh $ (user reguler) atau # (root).
Shell Bash dapat digunakan dalam dua modus, yaitu modus interaktif dan modus skrip. Pada modus interaktif, anda menuliskan satu baris perintah disamping prompt dan mengakhirinya dengan ENTER.
Hasil eksekusi akan ditampilkan langsung pada layar dan anda kembali disediakan prompt untuk memasukkan perintah-perintah berikutnya. Pada modus skrip, anda menuliskan skrip atau kode program, berisi perintah-perintah Linux, menyimpannya ke dalam sebuah file dengan ekstensi .sh. Selanjutnya file ini dijalankan pada modus Interaktif.

Modul 5


FUNGSI 

Shell Bash menyediakan cara mudah untuk membuat fungsi di dalam skrip. Fungsi dapat dibuat menggunakan salah satu dari dua cara: dengan menulis fungsi di dalam skrip yang juga memanggilnya, atau menulis suatu “library” yang hanya berisi fungsi-fungsi dan menyertakan pustaka tersebut ke dalam skrip yang memanggil fungsi. Pada pendekatan kedua, baris:
.   ./library.sh
Diletakkan di awal skrip (sebelum fungsi-fungsi di dalam library.sh dipanggil). Sebagaimana pada bahasa lain, fungsi pada shell Bash juga dapat mengembalikan suatu  nilai (boleh pula tanpa ada nilai yang dikembalikan). Fungsi dapat mengembalikan nilai  dengan 3 cara:
·         Mengubah status dari satu atau lebih variabel
·          Menggunakan perintah exit untuk mengakhiri skrip shell
·        Menggunakan perintah return untuk mengakhiri fungsi dan mengembalikan nilai  yang dimasukkan ke bagian pemanggilan dari skrip shell
Mirip   bahasa   C.   Perintah exit   menghentikan   program   dan   perintah return  mengembalikan kontrol ke pemanggil.  Perbedaannya adalah  fungsi shell   tidak  dapat mengubah parameternya, meskipun dapat mengubah parameter-parameter global.

Modul 4

VARIABEL LINGKUNGAN & PROGRAM EKSTERNAL


1  VARIABEL LINGKUNGAN
Ada  beberapa  himpunan  variabel  yang  telah  disiapkan  oleh  shell  Linux  dan  sebagian besar tidak dapat diberikan suatu nilai tertentu. Variabel-variabel ini biasanya menyimpan informasi penting yang bermanfaat mengenai lingkungan dimana ia berjalan. Himpunan  variabel  pertama  adalah  $0  ..  $9  dan    $#. Variabel  $0  adalah  basename (nama  dasar)  dari  program  saat  dipanggil. Variabel  $1  ..  $9  adalah  9  parameter tambahan yang disertakan saat pemanggilan skrip. Variabel $@ adalah  semua parameter $1 .. whatever. Variabel $*,  serupa dengan $@, tetapi  tidak   mempertahankan  whitespace  dan  tanda  petik  sehingga  "File with  spaces" menjadi  "File" "with" "spaces". Ini menyerupai echo. Sebagai aturan umum, gunakan $@ dan hindari $*.  $# adalah jumlah dari parameter yang disertakan saat pemanggilan skrip.  
Perhatikan skrip contoh berikut:
#!/bin/sh
# Nama file skrip: var3.sh
echo "Saya telah dipanggil dengan $# parameter"
echo "Nama saya adalah $0"
echo "Parameter pertama saya adalah $1"
echo "Parameter kedua saya adalah $2"
echo "Semua paramaeter adalah $@"
Perhatikan luaran yang diberikan saat program dijalankan:
$ /home/steve/var3.sh
Saya telah dipanggil dengan 0 parameter
Nama saya adalah /home/steve/var3.sh
Parameter pertama saya adalah 
Parameter kedua saya adalah 
Semua paramaeter adalah

$ ./var3.sh hello world earth
Saya telah dipanggil dengan 3 parameter
Nama saya adalah ./var3.sh
Parameter pertama saya adalah hello
Parameter kedua saya adalah world
Semua paramaeter adalah hello world earth

Modul 2

VARIABEL dan KARAKTER ESCAPE


Perlu dicatat bahwa harus tidak ada spasi (ruang) sebelum dan sesudah tanda sama dengan ("="): VAR=value benar sedangkan VAR =  value tidak bekerja. Pada kasus pertama, shell melihat  simbol "=" dan memperlakukan perintah sebagai pemberian atau pelewatan variabel. Pada kasus kedua, shell menganggap bahwa VAR harus berupa nama perintah dan mencoba mengeksekusinya. 
Coba tulis kode berikut ke dalam file skrip var1.sh:
#!/bin/sh
# Nama file skrip: var1.sh
MY_MESSAGE="Halo dunia" echo
$MY_MESSAGE


Ini melewatkan string "Halo dunia" ke variabel MY_MESSAGE kemudian meng-echo-kan nilai dari variabel tersebut.
Kita harus mengapit string Halo  dunia dengan tanda petik. Tidak ada masalah dengan perintah echo  Halo  dunia. Perintah echo menerima semua parameter yang diberikan. Variabel hanya dapat memegang satu nilai, sehingga suatu string yang mengandung spasi harus diapit tanda petik agar shell mengetahui dan menganggap semuanya sebagai satu. Jika tidak, shell akan mencoba mengeksekusi perintah dunia setelah MY_MESSAGE=Halo
Shell  tidak  mengenal  tipe  variabel;  variabel  boleh  menyimpan  string,  integer  dan bilangan ril - apa pun yang diinginkan. Programmer yang telah terbiasa dengan PHP dan Perl menyukai ini. Jika anda menggunakan C, Pascal atau Ada, ini terasa aneh. Semua nilai   disimpan   sebagai   string, tetapi   rutin   yang   mengharapkan   numerik   dapat memperlakukannya sebagai nilai numerik.

Modul 3


Perulangan dan Seleksi

Sebagian besar bahasa pemrograman mempunyai konsep perulangan atau loop. Jika kita
perlu mengulangi suatu tugas sebanyak 20 kali, kita tidak harus menuliskan kode yang
sama sebanyak 20 kali. Shell Bash menyediakan perulangan for dan while. Shell Linux
memang menyediakan lebih sedikit fitur dibandingkan bahasa dunia C/C++. 
Perulangan For
Perulangan for digunakan untuk melakukan pekerjaan berulang sebanyak daftar yang
disediakan: 
#!/bin/sh
# Nama file skrip: for1.sh
for i in 1 2 3 4 5 
do
echo "Looping ... number $i" 
done 
Coba eksekusi dan perhatikan hasil yang diperoleh. Program di atas meminta shell
mengeksekusi perintah-perintah di dalam blok  do...done sebanyak jumlah elemen di
dalam daftar setelah in, yaitu 5 (1, 2, 3, 4, 5). 
Penulisan elemen dari daftar juga dapat berbentuk seperti pada contoh di bawah ini: 
#!/bin/sh
# Nama file skrip: for2.sh
for i in hello 1 * 2 goodbye
do 
echo "Looping ... i is set to $i"
done