Selasa, 18 Desember 2012

FUNGSI

Fungsi adalah kumpulan program kecil yang dikumpulkan untuk mempermudah pekerjaan pembuatan program karena dapat dipakai berkali – kali tanpa harus menuliskan ulang kodenya lagi. Fungsi digunakan untuk memecah program sehingga mudah dibaca, dimengerti dan diperiksa ulang.


·         Secara umum bentuk header suatu function adalah :

               FUNCTION nama : jenis hasil;

               Atau 
               FUNCTION nama (formal parameter : jenis ) : jenis_hasil;
·         fungsi akan mengembalikan nilai ke program utama, itu sebabnya fungsi harus ada tipe datanya (integer, char atau string).
·              fungsi outputnya di letakkan di program utama.
·    Fungsi di panggil dengan memasukkan ke suatu variabel. atau bisa juga dengan langsung     menuliskannya di program utama.
Contoh :
hasil:= hitung_bilangan(a,b);
atau
            write('hasilnya adalah ', hitng_bilangan(a,b));


IMPLEMENTASI
1. Membuat fungsi.sh


2. Membuat scope.sh


3. Membuat fungsivar.sh


Tugas Tambahan
1. Sesuai perkuliahan SO konfigurasi cron jobs pada crontabs yang mengeksekusi file "jadwal.sh" fitur jadwal.sh, shutdown, restart, sleep dengan menggunakan fungsi

VARIABEL LINGKUNGAN dan PROGRAM EKSTERNAL

Varriabel 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.

Program Esternal
Program eksternal sering digunakan di dalam skrip shell. Ada beberapa perintah builtin ( echo, which dan test yang sudah umum). Ada banyak perintah lain yang berguna merupakan perintah Linux, bukan bawaan shell (Bash) seperti tr, grep, expr dan cut.

IMPLEMENTASI
1. Membuat var3.sh


2. Membuat var4.sh


3. Membuat name.sh


4. Membuat testgrep.sh



Tugas Tambahan
1. Menampilkan daftar proses dengan nama user dari masing-masing komputer!


2. Lakukan perintah untuk mengkonfigurasi LAN via terminal


3. Buatlah program untuk mengkonfigurasi internet sharing di terminal (NB : IP Masquarade)

Laptop TOSHIBA (sebagai Router)
Koneksikan dengan Wi-FI/Hotspot (  UKK TKJ 2010/ tkj_sas ) dengan IP Automatically/ DHCP, lalu mengecek koneksi internetnya dengan perintah di Terminal “ping google.com”, lalu muncul “Replay from google.com . . . . .” menandakan bisa mengakses internet
 -Masukkan kabel cross ke NIC Laptop Toshiba dihubungkan ke Compaq
 -Berikutnya setting IP pada masing-masing laptop
TOSHIBA (LAN)
 Ip Adress: 192.168.7.1
 NetMask : 255.255.255.098
 Gateway : 0.0.0.0
COMPAQ sbg Client(LAN) . 
 Ip Adress: 192.168.7.1
 NetMask : 255.255.255.0
 Gateway : 192.168.7.1
 DNS : 202.134.0.155
 DNS : 202.134.0.155/192.168.1.1
·         Mengecek koneksinya dengan perintah “ping . . . . “
·         Pada laptop Toshiba, setting/rubah terlebih dahulu file sysconf, caranya Masuk ke Terminal, ketik “sudo su”, Enter. Selanjutnya ketik “sudo nautilus”, rubah file di file system/etc.sysconf lalu enter. Hilangkan tanda pagar (#) pada tulisan “#net.ipv4.ip-forward.1 ,jika sudah dihapus lalu SAVE
·         Langkah berikutnya buat file Masquerade dengan perintah di Terminal “gedit masquerade”
·         Isi dengan perintah seperti berikut
#!/bin/bash
iptables -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING –s 192.168.7.0/24 -d 0/0 –j MASQUERADE
·                                   Lalu SAVE
·           Berikutnya merubah formatnya dengan perintah “chmod u+x masquerade” lalu Enter, cek dengan perintah dir/ls,file akan berubah berwarna hijau. -Lalu jalankan filenya dengan perintah “./masquerade”
Cek pada laptop Client/Compaq dengan browsing internet.  www.google.com  - Sharing Internet dengan perintah MASQUERADE di Ubuntu  selesai.

4. Buatlah Program untu membuat user baru!

PERULANGAN dan SELEKSI

Perulangan
Sebagian besar bahasa pemrograman mempunyai konsep perulangan atau loop. Jika kita perlu mengulangi suatu tugas sebanyak 20 kali, kita tidak harus menuliskan kode yangsama sebanyak 20 kali. Shell Bash menyediakan perulangan for dan while. Shell Linux memang menyediakan lebih sedikit fitur dibandingkan bahasa dunia C/C++.


Seleksi Kondisi
Test
Test digunakan secara virtual oleh setiap  skrip shell yang ditulis. Test memang tidak sering dipanggil secara langsung. Test sering dipanggil sebagai [. [ adalah link simbolik ke perintah test, membuat program shell lebih nyaman dibaca.
Case
Pernyataan case menghemat pernyataan if .. then .. else banyak baris. Sintaksnya
sangat sederhana.

 IMPLEMENTASI
1.      Buat  sebuah  skrip  untuk  memeriksa  keshahihan  username  dari sistem Linux! 



2.    Penguna  memberikan  inputan  dari  keyboard  (gunakan  perintah read). Buat   sebuah  program  untuk menampilkan  daftar   semua  pengguna yang  ada  di dalam  sistem  Linux mencakup Username, Nama  lengkap dan Home  directory-nya!


3.      Selesaikan  program  tebak  angka  pada  tugas  pendahuluan  dengan menggunakan perintah case...esac!



VARIABEL & KARAKTER ESCAPE

Variabel dalam shell Bash tidak harus dideklarasikan, sebagaimana dilakukan dalam bahasa lain seperti C. Tetapi jika anda membaca suatu variabel yang tidak dideklarasi, hasilnya adalah string kosong. Anda tidak mendapatkan pesan error. Ini dapat menyebabkan beberapa bug kecil - jika anda mempunyai variabel MY_OBFUSCATED_ VARIABLE=Hello dan kemudian memanggil echo $MY_OSFUCATED_VARIABLE. Anda tidak akan mendapatkan apapun (karena OBFUSCATED kedua salah ejaan).

Ada sejumlah karakter tertentu memiliki arti khusus bagi shell; Misalnya karakter petik ganda (") yang menyebabkan shell memperhitungkan spasi dan TAB dalam pemrosesan teks, sebagai contoh:
$ echo Halo Dunia
Halo Dunia
$ echo "Halo Dunia"
Halo Dunia
Bagaimana menampilkan Halo "Dunia" ?
$ echo "Halo \"Dunia\""



IMPLEMENTASI
1.      Tulis dan jalankan skrip berikut:
#!/bin/bash
# Nama file skrip: var10.sh a=5.66
b=8.67
c=`echo $a + $b | bc` echo "$a + $b = $c"


2.      Tulis dan jalankan skrip berikut:
#!/bin/bash
echo "Halo, $LOGNAME"
echo "Tanggal sekarang `date`" echo "Pengguna: `who i am`" echo "Direktori aktif `pwd`"


3.      Modifikasi program no.2 di atas sehingga juga dapat menampilkan daftar file dan direktori yang terdapat di dalam direktorti aktif!
Jawab :
#!/bin/bash
echo "Halo, $LOGNAME"
echo "Tanggal sekarang `date`" echo "Pengguna: `who i am`" echo "Direktori aktif `pwd`"
ls -1


SHELL INTERAKTIF dan SKRIP


Bagian   ini   memperlihatkan   bagaimana   memanfaatkan   shell   interaktif   untuk mengadministrasi sistem Linux yang digunakan.  Sebagai latihan awal, coba tulis (akhiri dengan enter) setiap perintah di bawah ini dan perhatikan luaran yang dihasilkan (‘$’ tidak diketik, itu hanya menandakan prompt):
$ date; whoami; pwd  
$ ps  
$ top  
$ ls -la  

$ echo ”Kereeeen”  

$ a=10; echo $a  
$ b=109; echo "B bernilai :" $b

  Secara garis besar anda mengetahui apa fungsi dari perintah di atas, dengan melihat  luarannya. Perintah date untuk mendapatkan tanggal dan jam, whoami (who am i) untuk  mengetahui   nama   login   dari   pengguna,   pwd (print   working   directory)   untuk  mendapatkan nama direktori aktif (dimana anda berada). Perintah top (table of processes)  untuk  memperoleh  daftar  proses  yang  sedang  berjalan.  Perintah  ls (list)  untuk  mendapatkan daftar file dan direktori dimana pengguna aktif berada.


IMPLEMENTASI
1    Gunakan perintah-perintah yang berkaitan dengan pengelolaan file seperti cp, mv, touch dan cat.
d
2     Baca manual dari grep dan tr. Coba berbagai variasidari contoh yang diberikan pada panduan pemrograman shell.

3     Coba buka file /etc/passwd dengan perintah cat atau more. Gunakan grep dan ambil informasi mengenai pengguna tertentu!

4     Biasakan diri anda dengan Text Editor berbasis console seperti vi dan pico.